Problem Statement
You are given a string S of length N. You are also given an integer K. In each step, you are allowed to select an index i and swap the characters at indices i and i + K (such that i + K < N) in the string S. After the swap, the new formed string should be lexographically greater than the old string. You keep on performing such steps, as long as possible. You need to find the maximum number of steps that can be performed on the given string.
You are given integers A0, X, Y and N and a string P. Use the pseudocode below to generate the string S.
A[0] = A0for i = 1 to N-1:
	A[i] = (A[i-1] * X + Y) modulo 1812447359
S = P
for i = size(P) to N-1:
	S[i] = (char)(A[i] % 26 + 'a')
Definition
- Class:
- SwapTheString
- Method:
- findNumberOfSwaps
- Parameters:
- String, int, int, int, int, int
- Returns:
- long
- Method signature:
- long findNumberOfSwaps(String P, int A0, int X, int Y, int N, int K)
- (be sure your method is public)
Constraints
- The length of P will be between 0 and min(N, 100) (inclusive)
- A0 will be between 0 and 1812447358 (inclusive)
- X will be between 0 and 1812447358 (inclusive)
- Y will be between 0 and 1812447358 (inclusive)
- N will be between 1 and 200,000 (inclusive)
- K will be between 1 and N (inclusive)
- String P will only contain lowercase English letters ('a'-'z').
Examples
"prprp"
0
0
0
5
2
Returns: 0
""
23
1
0
5
1
Returns: 0
"yjdfl"
523352556
1077024198
1558842954
5
1
Returns: 4
""
727276963
1291795787
506991530
5
1
Returns: 1
"dukog"
421399669
1715501491
257283161
5
2
Returns: 2
""
1556361320
104631284
1171257677
5
2
Returns: 1
"yemzvysylv"
1688327277
1095545480
1653621341
10
1
Returns: 20
""
1053844077
1325940334
74733660
10
1
Returns: 12
"djkiybpbkw"
1291510268
1487634640
271736528
10
2
Returns: 10
""
1597732568
1665271853
800313851
10
2
Returns: 5
"jpdrhzhpwi"
1808785440
1476672933
1424808458
10
3
Returns: 5
""
972266962
1321162894
1645616575
10
3
Returns: 9
"xwwgxshhximovztolays"
963393937
1223180643
470987405
20
1
Returns: 86
""
80375277
1720704967
1769325084
20
1
Returns: 65
"ipieqjhfducvkhtfiamr"
552684170
1238107987
1451804814
20
2
Returns: 45
""
1131859263
323675189
188061237
20
2
Returns: 40
"kvrmhnhzknfsohmbzmdm"
1052757998
1364051264
1073281706
20
3
Returns: 24
""
209727236
865702384
158492116
20
3
Returns: 24
"taxykpczuapjmyqavyan"
103092347
554577587
968425020
20
4
Returns: 20
""
242832731
1254718583
539185079
20
4
Returns: 12
"ssrchzyxtekfzyjdcjuy"
1210162632
293153716
1634820416
20
5
Returns: 15
""
1704268195
1325071046
102425463
20
5
Returns: 9
"kehswgvbzp"
1414434119
211242791
640094469
100
1
Returns: 2222
""
788474527
437508975
1674884978
100
1
Returns: 2413
"otgeeebzqoronvijbuigvtikujpgatkvgbfkvsbkvprsydkfqzuqqqpdoovxwhnjrkwzlecohtxzhhfpniapdcmjrgibvlawzbyz"
222854523
1613986530
1759736237
100
1
Returns: 2441
"epkcekvurr"
538472067
998147139
1571032244
100
2
Returns: 1197
"hjwgqlrhbe"
1401508551
548631978
255593435
100
2
Returns: 1273
"qdsqyofjlr"
491452683
145808032
1668270695
100
7
Returns: 355
"sdncfuizhf"
371150957
209350003
935796599
100
4
Returns: 614
"rumorctxev"
866654107
821311959
1349092646
100
8
Returns: 243
"gjjesyifaq"
1363287920
4438327
1482709058
100
31
Returns: 58
"bkqekneydv"
264513257
1587589311
969545177
100
65
Returns: 20
"tckpwpptxf"
825411415
417589288
1322957581
100
98
Returns: 1
"wpbyzwovnx"
1570020300
821616299
492516193
100
80
Returns: 9
"lryhaozhto"
1730539020
1692359041
1779885958
100
43
Returns: 39
"gpmeqzrsgetipamahmufysrblvdzcrcodavdjdqkkwsmewelyhtqjbtojgqngbehenspewzxcwmujointshhnvpvqnfshrltvryg"
1538840086
439187266
1418582696
5000
10
Returns: 604204
"qmbilrdigjqyysybiacygcgeimuxabnkvomqditzvmduholtlpfbjwuswhxqquwdbesegjzeuqzovctvkfwqsvtgtgpnnidbtxpk"
249153007
623050470
434884292
5000
5
Returns: 1204372
"pcejhumhbxnbxzmurimkydaebmpugvdlhfticjuhpymptigernbjeggvqrfccicwmlvhkvfbbruybifjeohdyhyazfcmfuacjzgg"
1333513116
280474525
1437245133
5000
5
Returns: 1212602
"xnyvkilugiepxlqxqhouhrwvclqozuctsojmbkdrkafggzuyfrbmrwamwmqkeziibhvquwqowplreqkayudyztmtvuxzxfgtudom"
977558681
1660356425
1789278556
5000
7
Returns: 847991
"mcchxdpeoceubacnikxexuzkpsjmremtmifkoveuctrmquqlpbinafxondmbjwaqwyvmdlteionnbhpdmbveuxbwloqxxxchtmfv"
1737992378
1059351873
517302919
5000
11
Returns: 548617
"lhjnwpnhklpjkwtepodikskdlhnrahhzdjcqwnecdvweemlvrbycqlukrsmpinhvagxqhxkbqysyicpqigzxjacbolwkqelludxt"
1610663959
1738747276
1695138206
5000
31
Returns: 194408
"ijstpomcjognojkgyfwcuxjzrvxjbyhotsyyaugpufsqrqsvlznemvuevjltgczxgimoprkabkajoycgwbasdywdlhafypetsozm"
783993985
141176204
1669390997
5000
58
Returns: 102325
"xiboguancgkbkmkyaiurvhydhopvqsxkvxglakppntadvnagslirkpqwpvbrhnlfgoapoaxemcllukxsnymhrjartctfraqdwkua"
409014381
1616882830
60266671
5000
85
Returns: 69253
"qqsszhfitcmpzscgitbvugtvlazcbjuqmgfioikubibcdwwdsfctfiiosdwluudtmvnycrgnfbekxplfyzemjuiwkhdjcrcxrgae"
1615479636
765525779
852652046
5000
1179
Returns: 3872
"zrrpvomrgbicjhfsyqfzdvkjvawtoqmsukifywzkcgwitpqmuwbfxcgjsnnwkvxhhtzpbwwgrbqjasqlibbropibdlbelmqjwkqz"
1557101985
554046773
316349853
5000
372
Returns: 14950
"vuxssovsdcmfgsoeeutddnlnzshxsfzmgmaolkjapaafckoruhcxdysgebhwvpcnuamvwmpegbbihriqdidzklvruxtxowajcrwh"
1229706944
412202598
400120939
5000
3574
Returns: 687
"wrilaorsxvzaukavvhnzgrgopsmythrjpoevqiypnionhjigrzbuhcnjbvvvlbrrfndzlclrhgphzrnkzbohnplrcgpgiqnifpsg"
938635776
1005181664
231158714
5000
833
Returns: 5969
"irbunwpqtiiildnfoftdicrmcikysbsywobqxpefzucqjtbzlkshspzrluepikfswxluwpktudfaaoqqthkaoutberpifaptywzo"
1729010843
729497756
72929968
5000
1
Returns: 5982132
"nvnarrsgjundrkvbcrvmiesabsebrjbwvudommmudeoebmoscxcgzkfawmawjmqpwrvfygttjkveduvdnpsjbqyxunefkvuyuhqa"
1566861521
161424794
394565271
5000
1
Returns: 6011666
"yilqewtxnmcbsdsdauaugrlkkumywfwgngwrikmkgalujdacuxanxbaqdrpbclgvrxfmzhvofytpmyetqchxmqrbvorghltfdnkf"
455517672
980560477
82640460
5000
1
Returns: 6097970
"gozwrngjdydvuykmdyglrqtuydctgheyifxhxrbkihjhmyndjkydxcumtgjnhpwisetpjcenxaihujzmcfpuragxypjluebivwyo"
181310466
1187860566
1577964463
5000
1
Returns: 6034434
"sphnwzivvlpjctnqdfkircupgbvlkdpivzvtkehnbamzpuedbxmtdymnqoghsclnrrcvihpkkzbfqnckqyppwvalcexdpemkpxln"
114607982
1492713205
213427559
5000
1
Returns: 5991678
"tkmhbimzqosipfpsvmjihhcvgdrgelpfbzumhgokbrmfqipdcgunevwrzjasbtxijqodzcwliysvhkoiwikplftvicjrhzusvcxs"
244216359
1085463407
1186735726
200000
1
Returns: 9593309346
"nbqqimwrigoyzliayyjvjrnrgdbywlxgaeqkcogpmwcxnnufmhyyicnbwuwluqepfgjfuqlukeqrhnhfnqfwstqxwpccbglhdpmn"
1049727292
1378983198
1452218781
200000
1
Returns: 9614921137
"qosukrivtmfhuvizcmudbxflqvrocktftrpmlfwabnafzyontuamltzmwszaftfvhdojlbtedncywcygcdirlfmthmjzvhnrtauj"
1766526237
1078726576
853045077
200000
1
Returns: 9618582930
"iznbooecznkvolgnhhtkonhpanrnmuqzlmwbkjraqepnneqqpjqtjepyxpvtwoetyokdsyqhtvcuatrjufztrdhgzeckfkennavf"
354195803
1503639799
1503840648
200000
2
Returns: 4817182921
"mwbeifgicpcuwioamzbxhgnpmwdmgwwcsaxyetqjjnbczfizbwdtbxgnbijhopwlaaigruyblzcowuipavahaunwejlmmsqvysxt"
51904102
1338730096
1173355330
200000
2
Returns: 4811859801
"nmpiiauevmjdgddamupwowindiwkgbltfyyyzwirwownqtywpbhgntlhjlcfgxueysugfupdgkeccylaymjxshkjvbxehbiojpne"
798532870
318813339
836935671
200000
2
Returns: 4817397425
"bhvxjasmyfkugijywjasjaezptmshsjzyinexpwpccudrapqfrvykomxsapegzjsmutlglogtkkijuwnevlwlzeeewiyfdsexxpp"
336615727
186988812
297761552
200000
3
Returns: 3215523763
"yackrolqjfqrmjlhxxhplcjedhlecegfnknorglxcksopokmroerqvyebabfnuimsuilxthvtbllrisbhyafshoxmeprzbdseudo"
1510427162
1726684253
797729113
200000
3
Returns: 3204520060
"shyxlwhwoziwcnijfstdshiqyuidbrixishufzdzujggjfjmrhirzkhaippdrubhuvsktnsudiyztmprjqkzdijkiiklnkdhaafq"
1245715978
436191245
1739530602
200000
3
Returns: 3200920068
"srvsirxsvikzzzzxmssquyacrxxljujnhyinflbazvrrvwuvuytfapqbygtcfsndmwlrbcngeudqwwkgteutoggzotchrgeixtmu"
1645444649
656869398
1407326250
200000
4
Returns: 2402691776
"ivpaomsxvyijuscrzymnsyzcohjebouvkhlxmqzgrgcuhroqwsglzixanezyujysznnpzeyvkyfzjztbqxnahkvdvvxgdtjzkqfq"
366580250
1073850481
1620794041
200000
4
Returns: 2403486972
"kkwcbvmgbyjtkngydzafqsqqsnlimaponvashniwmkqkpqolkhzmhqujhlvkhmcneyhnxljfuvjccdlbjxdegqzstmtcofebrtga"
1574423433
1400949403
209740658
200000
4
Returns: 2404294232
"qxuihcrplvkouprpkdtdooeahgumxojyicpdlfztyxxevwjylphahzdlwvczuxiuwyfhvpynarhpzxmiickwkzeneoqytsjzfghf"
926076980
1535252609
176160467
200000
5
Returns: 1924818333
"xadctyvqnfvhaffmeiojxgjwtblibpfsrlcuhnbsfkmloycjssdxgbxrllzalazprtbddqhfeohbhkmrxistopfixankiaeaivvq"
1280448161
1772233904
1369120807
200000
5
Returns: 1923152538
"czlboefhhudastwzruhrriigfkpcjkicniqjeqhcxwqhilgxtsvkxpeqecqmtvdpwejvtmqxdjrzkhyrsqxpjwshnkqksvwovslg"
1303953163
755038335
1330701615
200000
5
Returns: 1922696404
"yesaptwtayqveodybhefqfevbqklgcwjaaddskrpkwkgbutfwqlklxdzcoxzeeufuldpejdlzgwdfiobqmtdmyeecggyzhahgosd"
1612944368
1430619849
97596968
200000
6
Returns: 1607753461
"ntllzvhhbakrzdhfucnlbhhnzstdpjwifuhkfwxehrogqjxdsibgnfwoxhkczxfmmuoltmrcdbacwmnofeuptrdnjrgbbgdkkukq"
1203688428
1245457540
1216561453
200000
6
Returns: 1601406827
"mqafwqftibcecknyzfzjqmheswklsrcjbwpffeyqylxyvwohaqljfxdkhxsoengyctzundijtnwteetktyzouiuxbibfmdnouxuj"
711188106
605084715
386737788
200000
6
Returns: 1599870778
"ggyjawuoawvubpflvlejvofdqggwyxbmsyehreyoyelgginnyxfwmiqgcsexlxqhgjscsqiengronfakqnccajvybipsjuijisji"
276676898
790629209
989127740
200000
7
Returns: 1374418832
"sllhlxgxapelzafhjhpioemaovrjkznspvfcbytzqpgsjcvjyjrxbmptngtckavyvwejwuagtgxtoudvvqeszvecfvtlvitcughd"
110623083
1237583191
873199653
200000
7
Returns: 1374723197
"jsednuuedbfrpwgezhevjkkrsedfgwtrjriulrybzvuohxxrlzaoaesidxzvpwkfdrjaxnvjzmwmbmqklpajxczphpgufplovftb"
652658684
966735118
1014949821
200000
7
Returns: 1371481533
"eemtgyvbeurenqhfhliyyfnhxmvhvbggbotrjnaqlzqiaxqdeyrrscqbnwxlokusesvayktnvropaakuvmshswaghsbisgfejess"
666606534
761301879
614246601
200000
8
Returns: 1199446422
"sydsygednuogdtwrbhgoobztzrqpivotwmtfyapholpwrdadpvxmuligwrrpshpgraxcdhriczaklnmcmlmsuxsoctstebufydow"
1661483809
1082565927
891295750
200000
8
Returns: 1200355171
"usgcpzxfwlcoupnanpxyywrequdjghydgvkpsdtjdueebhoqqsudoimfzyufxztfwclzowybhteozfgatclgvjqeovzuobbfhnen"
585375725
1690631837
1584771908
200000
8
Returns: 1201526012
"deijadspfpmbkglrnxprpkrstzbtqzmmfqphbwurbsxylyyqgoxupnfclpnsxhqyhszwobzeajokqauxwnmhampuzzwzqasuffqb"
178976215
1293286083
1245774316
200000
9
Returns: 1066042748
"vezwagvqlzzbjjhohkfhoxadqppdsbblsoxlnptrjahuvxuygrnvapxghpdgugudxivxmbpostypnsixhyvykgafkhdnbllcosys"
360913030
841555405
1810674375
200000
9
Returns: 1069665021
"khsvxrefjvejozyehazyfmwjkdilrpxmkjbqryxccwnoukqmvskzqxfrscbkmlsndvahpoqmlrxqbbbdicmqphsjyuhkvbcnxofu"
1415249982
568680919
270571479
200000
9
Returns: 1071994186
"aiulsucbcjseemtvuenwpissocsqfadajmatvezwoybbagizmvgsnkgmcesnwjfmrqapzpqaukldjlrpfcpgwvmlbpbgxlqsllcz"
995926393
637661690
105335209
200000
10
Returns: 962083072
"sselgknbdoruqntvsfqiiumwsxizxliseaoksjbvmpprrqgmgkgsnjlrkwymfsksubdclphtrvhqxbngpylfhvhtengnzoeanxgn"
1745371506
1806759241
1496584062
200000
10
Returns: 959873971
"snsiokhqylwoqdnailmiofcgnfvxckhteajlibmyewhicdyuovmfihxobnhycephtcocpzcwckdmhvmirwlgkzcyqxzavbnpuduc"
1670886873
1393998076
270673521
200000
10
Returns: 960075486
"lagbntimdxzdjhjucfyytidgsssvwscayksmuntgrraqppparhbscpdruvspxsyrdfogucqfjjpnmutrfadmucpndjucuxdkrjvq"
1032951837
357453925
1720262412
200000
1
Returns: 9630940834
"pdeupdheamunfxtudngumromoorcmmkdiosusnflgsqzwmcpylidcrgvntoimuyyesejtuthfoepdzlyrxefsbyzwvfevkhfqpjy"
718210646
441138752
1518908923
200000
1
Returns: 9621743777
"wywgekouiksmkdorpwmocaecrbvvdubgxvfqcrdwchdfekzrcwurobwkdpgcppbjspolhykihqkkbjohfgihesgweycmmoicczpm"
1690203173
1219691160
1362314856
200000
1
Returns: 9645000349
"tbfjzuepougmtzwzjmswxhgxqqkozpavzhythvkuccuyqmahykhrjlxcdmgogsniwirbahwwcbxgiqpqheegwcyjohlzkwyjtyww"
1404919646
1627815943
933290045
200000
10
Returns: 960914918
"lqgazzcmcbftjuexsmsaclwndqesbufhjlykersoflsnerahxpiezrldjhjunpfagsghiteswovyczfkzgbxjjhyjbnitlypaqmx"
1785943194
1436673199
386930794
200000
8
Returns: 1204346389
"jlqzqwdthnvotoyvcebpkwyfuxaljgngdvkgwpfvtgubssbnsvzujqcjusqnvlhhoaslruppyuakhmxbyudfdilodjvybmpriwzk"
965573077
780618398
1279630760
200000
5
Returns: 1925318743
"rocmblzirogodkpusuogiagmgeztaglzanqbwfbdbravfjhcemaoxtkhwhowogwgpdcohiytxxlmexogqspvfmlffzkprxsofrzl"
327076500
1590478586
1586252283
200000
1
Returns: 9621919395
"utgdblqlogzbizhvvoakyikhmbhonxolsivoboqixwsojjckirdpbftaytdlmgtgtaeqpkfsjhggtxjzuuiltenxbkngopvaehck"
546631937
1437890581
585275972
200000
6
Returns: 1606005399
"obilnjprobzlhgdlrfxdozyfsenagkqqnpkvcaxpixqbfoofiufidakufhpzfvxpelqgfovshvtggaigbxtlewekejvlxvbhujnp"
206366234
604878762
1283625866
200000
2
Returns: 4814592772
"rpbkkcysoxpheebqhuzlhdnncsdvkejisdeobpfrtuvgshdttmzvfsusucneeinwhdgkjgdoqsedfvdgwmlmoylfguvzxsqzaskh"
1031376109
857781534
784855094
200000
5
Returns: 1926867818
"dcbkvfrmnnqahyfenpfcyuinetwdpdqtjzycpjoupvivhieoftsgpsfxziwuuvodcpnxixnjgkdtlkoyumyxnouhfzqamdqpcmjw"
235034077
1183152063
1153537360
200000
3
Returns: 3208456523
"mdwialidkknefujrklbpgvrkzzsaefceqwfqfmvfponrgqaatpwlvwxvzwnljrobihuvwcyspaomxvsowrwyitfmmrwuitdahjud"
1067379165
719800584
517689284
200000
69
Returns: 139071512
"nbpprstwhlwniomrdveqxxjndboivxlpwzkcjkuenxzhqthwztngnjncxvgoncpowmfdubmtkarfwkcjjcbdgsoubfbdyqmlmwox"
1175772593
5605082
767501916
200000
5
Returns: 1922860008
"fxmqrrcfovvwuvukrowdvgtnrjkrwvjuztjywrxmlgrmehxappcysbqnjctqihnxlimhyjtgiosplptzohidamhwxteastlfhqse"
1629169495
354725923
729838883
200000
19
Returns: 506216682
"rxvlzrqyaevvpikjjtpprtvpvipvzlajilrwjfcqljybwctrhudkpcrrhinznndbybqraszxyqdtmcuusflqrschpdghkhjexvhv"
1360592118
678369126
981340842
200000
96
Returns: 100023968
"ujbxzqokglrsiujqksfnmfqnwpcamlzakzcgelfqsnmoytqxtktjhpyccdbprubtyonqkeiwxzvoothxaqoynzsboqtetdiyunwh"
359910259
1548557607
1049954645
200000
91
Returns: 105653974
"qaapdoaqxfjdfzelisyxfawyucgunqbsqltibfbwgsiocjfvsekxmmfigoosrgfabaivgixrlvygngcvmzghapwsoukfdfzdfbhh"
390993303
919859884
1615640892
200000
76
Returns: 126489648
"pvuqmcnmetzupkscfqmprggqttpbooerxlmebcxagzyeehsfkpwzsedmaytddeaokkuvhemwtfddopqorysvofrnqrismvoevgyh"
114853777
1690306344
1769572534
200000
60
Returns: 160091310
"iinyvbbhxekrnljylzgfpiahvabiqxkeyinidlbdztavdsaiacghiiwdapxccauylaeumulipmjxgegvjsukxdtfoenmjeoncyfu"
839151186
1322060699
325579384
200000
55
Returns: 174893102
"rbahwpuhrqfaqdfykywuffevgrtaxawqttablabrqkgikoebsxditzhrbszogqyoybknhbxkifwscpqxeyvohpnxodwftjlafzyl"
1583213533
307144999
1461306151
200000
71
Returns: 135464854
"wopcjkidzetnhgpxpdtdhvhzikxyeldqjvqculgnitgfommxchrefveiazaeskegxdwiuexcpgbkyryljddxtfmgragtssuorveo"
680513604
987415515
210247056
200000
176
Returns: 54630633
"uakgifsidmmpdtvgwccpwosivmxmdakmcmcjnwhwlzmwrvnmqgnywcukdwqrwlmweetnivxyolgheziltdzznootfmerlfkjkekh"
19841644
893664155
1229529129
200000
127
Returns: 75553032
"theyxisupjgktggxtlmcfmoynsdrcnqkcdrhcxnlzlehhsshdpdqgobvwpnvqhdgopzkpcxpsalqgzoekpwnaudtxdaduwbbrmtu"
729248638
140197080
443745535
200000
437
Returns: 21961673
"ssejpowbnqiokjijeieloueewtvxgofammgpppyzhmyzryiteviggacsorbtcdohybgiphbsiqjclluqyxqsokhnftcagfuhdhac"
179300973
70579968
1107958267
200000
297
Returns: 32313918
"scoluxoxgaegdxdeequnuptdfylfepridndzzsljflxdjjfqzwodverzzqrmsdzuccmzxqoodpljwsremsnqeglojtdrpesdcuxb"
359427646
1360558925
821338661
200000
275
Returns: 34839578
"weezsqlksbgkttzhgaaxyflqeegykwdjvmsnlecmhdenugrpoyteiivnxxmcsbwwqyhfsmwvobtvqbxpyhzolevlwtemtqdvhstf"
731613600
1499805343
227648100
200000
900
Returns: 10634483
"dnnjgkzpgewowzozrwjbbulgtgitwhugyewkdxwdodktsiskmexdtbuebzjlbxlbxhamjdsupgaksnevjnngicobopumpwaapliq"
1198931029
544781039
162780925
200000
104
Returns: 92347245
"qaxwgobmiwiwlknszmiawyzyhcpngosxqkbcshgcmimmnvaqcvwsjtxuxykibgzxyqasmspoahyqbbhduvupawkiadputucirtum"
1178707249
152113991
957392158
200000
175
Returns: 54995021
"zwwsoiklyligpcrtvgvfkaunjxpthrvjtddszsvigosbasixutlpkhprwdunfpmjsgeultkykpevqgzvvnpubrasvwkwwknqupeq"
1198051202
926449854
1006631896
200000
4625
Returns: 2031504
"wguybzigdveuvdrcfviejhikmejfgippkhesgmmogzxnhjhoikpsgjlrnvolaazrnyungaamshyuavrkpxusweqfatbnpuryyavz"
1492107875
895115875
710731825
200000
169
Returns: 56848008
"lenfedgfexgzxejapvugnyjzjsuhljiyqnpckvpkdsoztbdqfsqmclhefupccaapklczktufgqjufjkhnbbneqawbakqtltsydcj"
1199388508
1296697454
1340223910
200000
10456
Returns: 874203
"recogaocbxlcrrswzfhxqiaccmqcvihjnsiftruvcediwfxtpnlnwsswnckhbyvquwxnisvxaobbmlonjiqeesdletwmwomtsoqu"
725043107
1166529189
966019721
200000
88452
Returns: 64882
"bpppdzhdmeykakdpvjnfbjztqimthjgakkuaewjfcbvmnompbivtcbbqxxvakayfaotyarjnivlbngxmgnpelqxzneqitwzmygao"
1730400136
369399395
1538840849
200000
57127
Returns: 124230
"dqkdpucdduvpobenhgpbsrjilcjbectdzcsbmgekkilfxjgprtiwvamspmvwnvmfsjdzltufbckampdhcmdigqlajmixyydcxwfr"
1768480956
967653796
460243852
200000
56035
Returns: 126900
"fldfdtieemzzmesbjukvtyjbtogjwzivgmuwlmxmbclsvuefkwvrxqdofhfbehkkhyoeavdmyvuqradcdlgphihmbialnknbltjd"
1045017937
1806947955
1307001907
200000
127432
Returns: 34853
"imbuvikhjplrmueseqqnnfyawkjfpzdfxgkptvnluuqfferhrbwbltadqkqacwgipctcxzwuddwcxeyomppsggyozohiavhyjqny"
726892756
1519129252
636934917
200000
200000
Returns: 0
"cbexa"
0
0
0
5
2
Returns: 2
There are 2 possible swaps in string "cbexa" : "cbexa" -> "cxeba" (swapping characters at index 1 and 3) and then "cxeba" -> "excba" (swapping characters at index 0 and 2). Note that if the k would have been 1, more swaps would have been possible.
""
5
2
3
4
1
Returns: 3
The string here is "fndj". There are 3 swaps possible : "fndj" -> "fnjd", "fnjd" -> "nfjd" and "nfjd" -> "njfd". Note that there can be multiple ways to do these swaps.
"b"
1001
1001
1001
5
2
Returns: 3
The string is "banol". There are 3 swaps possible : "banol" -> "bonal", "bonal" -> "nobal" and "nobal" -> "nolab".
""
9999
50000
4797
6
3
Returns: 2
""
3435
1000000000
1812447358
7
2
Returns: 5
""
143
22
315
1
1
Returns: 0
""
3435
1000000000
1812447358
199999
2
Returns: 4805510065
""
3435
1000000000
1812447358
200000
2
Returns: 4805560071
""
2
2
2
200000
1
Returns: 9594142603
""
1
7
1
200000
1
Returns: 9624987344
""
3435
1000000000
1812447358
200000
1
Returns: 9611197121
"asd"
43
44
4321
200000
1
Returns: 9608753846
""
3221
12312
123
200000
1
Returns: 9626820073
"a"
10
41
5555
200000
1
Returns: 9613987483
"abcdefg"
213213
324324
345354
200000
1
Returns: 9607084069
""
102340
12345678
12345
200000
1
Returns: 9606984401
""
3435
1000000000
1812447358
200000
50
Returns: 192182469
"h"
6334
26500
19169
165724
9
Returns: 734628036
""
69
69
69
200000
5
Returns: 1919444038
""
25
1
1
200000
1
Returns: 9616026903
""
12
51
23
200000
2
Returns: 4801156263
""
3435
1000000000
1812447358
200000
14
Returns: 686478505
""
123
239
321
200000
100
Returns: 96092972
""
0
1
1
200000
1
Returns: 9616080754
"dcbae"
213213
324324
345354
5
1
Returns: 4
"aaaa"
0
0
0
4
1
Returns: 0
""
1812447358
1812447358
1812447358
200000
1
Returns: 4999950000
""
1
12
123
200000
1
Returns: 9623417808