Problem Statement
A string is called an even palindrome if its length is even and it reads the same forwards and backwards. E.g., "noon", "aaaaaa" and "repaiddiaper" are even palindromes but "eerrdd" and "tacocat" aren't. (This is because "eerrdd" is not a palindrome and "tacocat" has an odd number of letters.)
A string is called a even near-palindrome if we can rearrange its characters to make it an even palindrome. For example, "aaaaaa", "nono" and "eerrdd" are even near-palindromes but "aaa" and "abcd" aren't. (You can rearrange "eerrdd" to form the even palindrome "redder".)
Suppose X and Y are two different strings of the same length. Let i be the smallest index such that the characters X[i] and Y[i] differ. If X[i] < Y[i], we say that X is lexicographically smaller than Y, and vice versa. For example, "ramp" < "rats" because 'm' < 't'.
You are given a
You are allowed to perform a sequence of operations. In each operation you can choose an index into S and replace that character by any other lowercase English letter. (You are not allowed to add or remove characters.)
Your primary goal is to turn S into an even near-palindrome T using as few operations as possible. Your secondary goal is to find the lexicographically smallest among all such T. Find and return that T.
Definition
- Class:
- NearPalindromesDiv2
- Method:
- solve
- Parameters:
- String
- Returns:
- String
- Method signature:
- String solve(String S)
- (be sure your method is public)
Constraints
- S will have between 2 and 2,500 characters, inclusive.
- The length of S will be even.
- Each character in S will be a lowercase English letter ('a'-'z').
Examples
"eerdrd"
Returns: "eerdrd"
This is already an even near-palindrome, so no operations are needed. The only string T that can be produced in zero operations is the original string.
"abcdhgfe"
Returns: "aacceffe"
We need four operations to turn this S into an even near-palindrome. There are many other ways to do it in four operations. For example, we could produce the string "aacchhff", the string "abcdabcd", or the string "abcddcba". The returned string "aacceffe" is the lexicographically smallest among all these strings.
"topcoder"
Returns: "codcodee"
Here the minimum number of operations needed is three. The string "codcodee" is an even near-palindrome because it can be rearranged into the even palindrome "codeedoc".
"aaabbbaa"
Returns: "aaaabbaa"
We need just a single operation: changing any 'a' into 'b' or any 'b' into 'a' will change this string into an even near-palindrome. The lexicographically smallest T is produced by changing the first 'b' into an 'a'.
"aa"
Returns: "aa"
"ja"
Returns: "aa"
"ab"
Returns: "aa"
"abbb"
Returns: "aabb"
"babb"
Returns: "aabb"
"baaaba"
Returns: "baaaba"
"abbaaa"
Returns: "abbaaa"
"aaabbbab"
Returns: "aaabbbab"
"aaababaa"
Returns: "aaababaa"
"abbbbbbbab"
Returns: "abbbbbbbab"
"dunivzikptcgjejjacgegalhjsrccvjtqqxuxoyougpnldbcqtydavsydvipopwcqnwqrhoxhbzlrnwmmjbjxqwaemwhhugsmxjrkywfhzrlchhvaxqiajyjvwsddizpbuxsjafsvminjacjbasmqbobwaorsivhtsolumfqyqlrfvwzziepapqbntqwtmdavinnxspaxykyhefwgmhbfslgrgdwsmxwhlgxslgixupqrqshafmesiqdyjmlwpdxdyfqvrkntdfmusnzoygykdpgonovstmzggdcwyuzpvtfcfujyktzucdsshmpfhytelfhiianjorvzydjvjesbqlggrrnmtwaywodhkpbznwqpjhgbteufigxguemakwmxxkduqiiameeumtqnpedfrpldorsjniiutpqcvesvmsjeuomhrsedptlzyfbxbiqdjlnswlnzcmkziqzzlliurzbsrovgtnvjktomvjnlzwoeajkjecagrzluuahjqxmkkgnlahcvaqanxpeeomcsllvzpkgqbiduqyuzzbxgeddaqdynwcguwwcxgxjbhweynlnghvioxtvgnkdkhratcjfhpyvudejxmyityhkacgwrtgctqfksgozoemvfcnosmwgjseloxbskeltmyuluwgtqyanjaombismdravimeyuozrlthoibyazdvxripgmtwugvgqgjpizweulhzkoygpbjvuisifarsmpuakowkvfcvlanngsbadcvsmhhtyclcqqqnkopyokchcgfraxqtvaxwugawddryunafikapegvrlqyjhlynpklnhllthkmuuvzwrvwnrncvbisozaohpcwobrazutjpxpihbekuxdawozslkmtcjpnjzjclkdvxbajxquuqhqjezoivhlphmsspjszfyotibooeezqvboovyukeznhlhgppqxzzjrcmxntdvmbswrgvefwfbjbyvcbeogpozqujisitmufpcjudpktfbedyaykunpipesyqabvbyzfcmynwomixdyzqejujefhhmdtwxrshfmvccnfiohemkfxwqrwtkgccvjppeqparbxzjrcmikyiasemrxqrjhbxxzzznwlvlsjaiiouqqdoubslldcsgsoflalmoyhbmtoztoxkqvbwysayipzdeacpaudkiqksryzvxvgdsayumvovkyrywuxkjrznwdkangyonvcqxxjhobtekljdfpcbrzrdvpsfrdijsfkbocwkkiksyvgoaqtgugwqrdziccfyqwcjqhqxjvoljseptuhwtguccgiyfyvrufhlblbowxsikkbfshmnrhngshlilvpkulqrkqiftxinvisvtbvqgsrfpnfkrauykzowlofbrslvxionppbgnzybeumlpupqxfmnntvtvnqvhbvnsluvbmjshnvbzzwpncajzzxkqznbwpgqtysvdwwenoyrjmmsptdnlctjdgtxsbeehfjhtwdyezjkraggpvjiuuioqvqzytgznztwhsshpeamenmhxubdjrmuhgcultjcyrqkholvcuorhwlglqsiapwtwmqbczsysvotffvxmgdwpkbvddrvppheknxydrmmbpkvtuxbwonvnulwtylyrxebbwusddgncjwqldxmudniheoxaiufuzzvuxzddwgzbtawlcbywtbmoyqdwknhtiprxqbgqakzavikuitgavjpyjpsnofcufykpmwynalnujrvooftecstnauijhnbhzqyukgokclqsnzdctaurobnpddbiwshylbodklpojdxttvijlvhkfqphgdszrwugxocyjkkeosoqgzhahynxecqgpgruqsyeeiwldxnkjxrwajvnlagusgolryezgnqrowqxitaycsopmgrfjlxcukqrvwbhhgbputpzekjxqpywhrsoxkvnugxzpvmbncnwlcbgmncqxugfcnykwxsergqrizmyjdzadoewbdshuqyisazcbegujwxjiswkvceqxzdjjsdyxvcuocbbcyaasmeikbqjxjqtavimmwnegpeigcbqgidxjjefsyazaoilrjlxicjvecogqezwbflrgjrayuoxlndpcqdhvfyerwsrmjwqhuyqymjgdioslzszqihbqyyodxbydqcuxylgjsgvmmqyxqsnkqbudktclnfsrqilhfaqdmeqpjioxkirhdfrtqizsxzkcglkikpwqxrdowdqozrkptfmhjokhcrizevnmxfnqmksxheduljxcysfexfettsjxwlwcakdmxcjvcukygmduytkmbzzriuevdpqzwxmjmgvnzjqanvsdplaiaiwybqzkinscthxfmxxtuegffolwknghjppfudnixtozylmuasmyemraloriossnwpqysflkuequgzhgkheutqijocsohukrnakalsospacxnjuxvnriczcczkdrytkmuneohcgwpfkclfb"
Returns: "daefvgikjmcgjejjacgegalhjsrccvjtoqxuxowougpnldbcqtydavsydvipopwcqnwqrhoxhbzlrnwmmjbjxqwaemwhhugsmxjrkywfhzrlchhvaxqiajyjvwsddizpbuxsjafsvminjacjbasmqbobwaorsivhtsolumfqyqlrfvwzziepapqbntqwtmdavinnxspaxykyhefwgmhbfslgrgdwsmxwhlgxslgixupqrqshafmesiqdyjmlwpdxdyfqvrkntdfmusnzoygykdpgonovstmzggdcwyuzpvtfcfujyktzucdsshmpfhytelfhiianjorvzydjvjesbqlggrrnmtwaywodhkpbznwqpjhgbteufigxguemakwmxxkduqiiameeumtqnpedfrpldorsjniiutpqcvesvmsjeuomhrsedptlzyfbxbiqdjlnswlnzcmkziqzzlliurzbsrovgtnvjktomvjnlzwoeajkjecagrzluuahjqxmkkgnlahcvaqanxpeeomcsllvzpkgqbiduqyuzzbxgeddaqdynwcguwwcxgxjbhweynlnghvioxtvgnkdkhratcjfhpyvudejxmyityhkacgwrtgctqfksgozoemvfcnosmwgjseloxbskeltmyuluwgtqyanjaombismdravimeyuozrlthoibyazdvxripgmtwugvgqgjpizweulhzkoygpbjvuisifarsmpuakowkvfcvlanngsbadcvsmhhtyclcqqqnkopyokchcgfraxqtvaxwugawddryunafikapegvrlqyjhlynpklnhllthkmuuvzwrvwnrncvbisozaohpcwobrazutjpxpihbekuxdawozslkmtcjpnjzjclkdvxbajxquuqhqjezoivhlphmsspjszfyotibooeezqvboovyukeznhlhgppqxzzjrcmxntdvmbswrgvefwfbjbyvcbeogpozqujisitmufpcjudpktfbedyaykunpipesyqabvbyzfcmynwomixdyzqejujefhhmdtwxrshfmvccnfiohemkfxwqrwtkgccvjppeqparbxzjrcmikyiasemrxqrjhbxxzzznwlvlsjaiiouqqdoubslldcsgsoflalmoyhbmtoztoxkqvbwysayipzdeacpaudkiqksryzvxvgdsayumvovkyrywuxkjrznwdkangyonvcqxxjhobtekljdfpcbrzrdvpsfrdijsfkbocwkkiksyvgoaqtgugwqrdziccfyqwcjqhqxjvoljseptuhwtguccgiyfyvrufhlblbowxsikkbfshmnrhngshlilvpkulqrkqiftxinvisvtbvqgsrfpnfkrauykzowlofbrslvxionppbgnzybeumlpupqxfmnntvtvnqvhbvnsluvbmjshnvbzzwpncajzzxkqznbwpgqtysvdwwenoyrjmmsptdnlctjdgtxsbeehfjhtwdyezjkraggpvjiuuioqvqzytgznztwhsshpeamenmhxubdjrmuhgcultjcyrqkholvcuorhwlglqsiapwtwmqbczsysvotffvxmgdwpkbvddrvppheknxydrmmbpkvtuxbwonvnulwtylyrxebbwusddgncjwqldxmudniheoxaiufuzzvuxzddwgzbtawlcbywtbmoyqdwknhtiprxqbgqakzavikuitgavjpyjpsnofcufykpmwynalnujrvooftecstnauijhnbhzqyukgokclqsnzdctaurobnpddbiwshylbodklpojdxttvijlvhkfqphgdszrwugxocyjkkeosoqgzhahynxecqgpgruqsyeeiwldxnkjxrwajvnlagusgolryezgnqrowqxitaycsopmgrfjlxcukqrvwbhhgbputpzekjxqpywhrsoxkvnugxzpvmbncnwlcbgmncqxugfcnykwxsergqrizmyjdzadoewbdshuqyisazcbegujwxjiswkvceqxzdjjsdyxvcuocbbcyaasmeikbqjxjqtavimmwnegpeigcbqgidxjjefsyazaoilrjlxicjvecogqezwbflrgjrayuoxlndpcqdhvfyerwsrmjwqhuyqymjgdioslzszqihbqyyodxbydqcuxylgjsgvmmqyxqsnkqbudktclnfsrqilhfaqdmeqpjioxkirhdfrtqizsxzkcglkikpwqxrdowdqozrkptfmhjokhcrizevnmxfnqmksxheduljxcysfexfettsjxwlwcakdmxcjvcukygmduytkmbzzriuevdpqzwxmjmgvnzjqanvsdplaiaiwybqzkinscthxfmxxtuegffolwknghjppfudnixtozylmuasmyemraloriossnwpqysflkuequgzhgkheutqijocsohukrnakalsospacxnjuxvnriczcczkdrytkmuneohcgwpfkclfb"
"srwekpjtellmpkkpffjxglcfdrrbuemegtoqduterjcgchobyviymwwgrhnnqffimpjftrxehganyhqlsxvjzzmddulattsakavsliawvwrhpafhwmvdqhuchizjkqovohihvbvpqaoicwskkhvpwmbcoiiirxziahupsrtlefrhcfmzuxnhdzgnwihtlksmjnimkcpnyrhhuunsnkwyyzlnctcplgrmmuxglpfyjhwrklkuawpedytdcrzdnjafuuoubhflmepxpplbmdhnvjqhnuxlrpcjeizhzlmznsntrarfvbyaqgunqpmcrgeszcxsiosdsftddoyklqjztsyuugkppaqosxxjaqexjxujjvcntilfuplwtjtbfslwnhhfvvqmfpqckoksqizvkdibluvmlgibouhurwsvyjosudkwgbrvaalzafsbiqylmgrwfzugiajybarvsurzdlbuxzfjycgupeaxqqyleervhnlgtshaqvmpoxsntpuewwtjqvjvosrmpjwbelqftrvoouklpdotwjtyaqnaziqqhjenrlvhjgzsobdeioiiyniurbwhzidmsfnhmvratmakgsnxnfustzsjjdvztopuubfsobganmzzsdtjsgevnvpwmyhpczzpcjdjsavpkfcgsdxtjjeumgivusxlunvgzrsbzmtiolmbyxvqexeappbxkghemcgimxxzrlkjffxgumtrpofmzfnmdpeowdhcpkdnvrjkaeqvimaiobuycgjeqsgwoukfpcqpxwvdxhccskktwfoumedmavoylqweddgrwlyqwhdabktumgjpnhztecavtliyvwpkhxggqogkuyatnnzzxmjhngijqsniolcnahhzlocsqcbcbvzrwwkymzhkpbudexezunsxumkrtleunfepyvbsjkecfyeczkyrchegkktlfvhwctrecxzjgpxdwaclhqpdjyhrootgwulzyppepwcolicftfkrbgdzukzfildlrnuwyefzvsivuytoyyflctovqnccptrjklcmirbtlqtgifyyrdvuucqqdhonlcnynyqoivdyvypqsfszletkvdacmneskzkbjihfoxknubmgmpwjqytpcdlnuylvmmaocukhjkaxzbuywzbnvopipabrpgqalkkqjratveyyqpltehwjzcylitwqhuioalteogouvqbxgmvyearmhboahnsaolabbnirprpoggvcnahiztgoxexbucbnumsyylwfbuuqsjphylgrtvszzzlxkocolaxkuuaugvahdiykxtdhrbtatnpcskmjbyojpphtxvpymfrsxahgernmlvyrghugpydnitutovclctkatnkmfpyqdrmemyumkuulypkxpqeoyudybjxpxfjwwvzqukxfuseqvtlpngtzmyzrkwvklngcjmzphvpzxuevhpcbjvieohagqkuxainxbbbqkabokspdqdirhmybeumvenrmqkgvgfjeimqibnifmlhcjqogdpxxjhpihxszejrnjwymmypsofgxgyyitnhoprfmtkyzvsuyzjgqjldcnmxqfawwysdkcxboevvqaqfjeqgifvmxypxnxywlctchidptihynwmvtbfaxavifsvhhgfhhgdmrilquucfarprfcscobeigedvbdtgfsjahmyxfrvnvzopdwawjgspdrnvcykakmynqxqutvypyrmxktlgdrougbuhsqrhdkyoculviuruxendbsdykpegqrldurimgncpljkibqsovdtakbmokczjxlybfcsdkxrtudnvrivppvmalptfyflfyxokqkirgxkolissnpohsnpvimmhdupjwkovkbngtjgtmojqwzkbwqnptbugjfgogoicluxzlnyzzdiuwpywyqfdllwxurskqtsygmkyyqipwmsantpvpmykylrujbcwdxkljzoyonaxkeupngkzdlyfnwmhtbrguozgzxyzycmeksdjmxjckyooygigqfaagyqzsgbuplmubyjikmjgdmttrvuurnajbqqlgrzywxiluyxdbtwwootcnuagbkzqeuyvjfokzsmnigbaejzjlcnqzodwtjmilbewwpvlndhvkjskvmaxgceqnmvopdatznppeqdgutkkkhvrnidwfwgkwizrtxyacljfswtocfvnceasdrkjwskinpciqtptlnawzytzagqldmlwzxfuhvetthcjgrxtgkeiywcoqeqaoyttkpuzjxbcrqftqqvzbwxidbtzicfhwqorizzmyhtdkhiffcqxovjxmxwtrmxqwwfhoppwrgpmlwwygikwxgeylqdftlwuxbuwelzwxezqdiijeoiaktdnrmosolnpyecpuzopeeixyrjybqpyqbezdrjpinrqnankbrclgqxiskedacacqsguropgjwhczttwohqhnkvpraqdgxqolavhbhfdqnvnotdqc"
Returns: "sawbkpjhellipkkpffjxglcfdrrboemegtoqduterjcgchobyviymwwgrhnnqffimpjftrxehganyhqlsxvjyzmddulattsakavsliawvwrhpafhwmvdqhuchizjkqovohihvbvpqaoicwskkhvpwmbcoiiirxziahupsrtlefrhcfmzuxnhdzgnwihtlksmjnimkcpnyrhhuunsnkwyyzlnctcplgrmmuxglpfyjhwrklkuawpedytdcrzdnjafuuoubhflmepxpplbmdhnvjqhnuxlrpcjeizhzlmznsntrarfvbyaqgunqpmcrgeszcxsiosdsftddoyklqjztsyuugkppaqosxxjaqexjxujjvcntilfuplwtjtbfslwnhhfvvqmfpqckoksqizvkdibluvmlgibouhurwsvyjosudkwgbrvaalzafsbiqylmgrwfzugiajybarvsurzdlbuxzfjycgupeaxqqyleervhnlgtshaqvmpoxsntpuewwtjqvjvosrmpjwbelqftrvoouklpdotwjtyaqnaziqqhjenrlvhjgzsobdeioiiyniurbwhzidmsfnhmvratmakgsnxnfustzsjjdvztopuubfsobganmzzsdtjsgevnvpwmyhpczzpcjdjsavpkfcgsdxtjjeumgivusxlunvgzrsbzmtiolmbyxvqexeappbxkghemcgimxxzrlkjffxgumtrpofmzfnmdpeowdhcpkdnvrjkaeqvimaiobuycgjeqsgwoukfpcqpxwvdxhccskktwfoumedmavoylqweddgrwlyqwhdabktumgjpnhztecavtliyvwpkhxggqogkuyatnnzzxmjhngijqsniolcnahhzlocsqcbcbvzrwwkymzhkpbudexezunsxumkrtleunfepyvbsjkecfyeczkyrchegkktlfvhwctrecxzjgpxdwaclhqpdjyhrootgwulzyppepwcolicftfkrbgdzukzfildlrnuwyefzvsivuytoyyflctovqnccptrjklcmirbtlqtgifyyrdvuucqqdhonlcnynyqoivdyvypqsfszletkvdacmneskzkbjihfoxknubmgmpwjqytpcdlnuylvmmaocukhjkaxzbuywzbnvopipabrpgqalkkqjratveyyqpltehwjzcylitwqhuioalteogouvqbxgmvyearmhboahnsaolabbnirprpoggvcnahiztgoxexbucbnumsyylwfbuuqsjphylgrtvszzzlxkocolaxkuuaugvahdiykxtdhrbtatnpcskmjbyojpphtxvpymfrsxahgernmlvyrghugpydnitutovclctkatnkmfpyqdrmemyumkuulypkxpqeoyudybjxpxfjwwvzqukxfuseqvtlpngtzmyzrkwvklngcjmzphvpzxuevhpcbjvieohagqkuxainxbbbqkabokspdqdirhmybeumvenrmqkgvgfjeimqibnifmlhcjqogdpxxjhpihxszejrnjwymmypsofgxgyyitnhoprfmtkyzvsuyzjgqjldcnmxqfawwysdkcxboevvqaqfjeqgifvmxypxnxywlctchidptihynwmvtbfaxavifsvhhgfhhgdmrilquucfarprfcscobeigedvbdtgfsjahmyxfrvnvzopdwawjgspdrnvcykakmynqxqutvypyrmxktlgdrougbuhsqrhdkyoculviuruxendbsdykpegqrldurimgncpljkibqsovdtakbmokczjxlybfcsdkxrtudnvrivppvmalptfyflfyxokqkirgxkolissnpohsnpvimmhdupjwkovkbngtjgtmojqwzkbwqnptbugjfgogoicluxzlnyzzdiuwpywyqfdllwxurskqtsygmkyyqipwmsantpvpmykylrujbcwdxkljzoyonaxkeupngkzdlyfnwmhtbrguozgzxyzycmeksdjmxjckyooygigqfaagyqzsgbuplmubyjikmjgdmttrvuurnajbqqlgrzywxiluyxdbtwwootcnuagbkzqeuyvjfokzsmnigbaejzjlcnqzodwtjmilbewwpvlndhvkjskvmaxgceqnmvopdatznppeqdgutkkkhvrnidwfwgkwizrtxyacljfswtocfvnceasdrkjwskinpciqtptlnawzytzagqldmlwzxfuhvetthcjgrxtgkeiywcoqeqaoyttkpuzjxbcrqftqqvzbwxidbtzicfhwqorizzmyhtdkhiffcqxovjxmxwtrmxqwwfhoppwrgpmlwwygikwxgeylqdftlwuxbuwelzwxezqdiijeoiaktdnrmosolnpyecpuzopeeixyrjybqpyqbezdrjpinrqnankbrclgqxiskedacacqsguropgjwhczttwohqhnkvpraqdgxqolavhbhfdqnvnotdqc"
"zxgcpmwzkyceosltcedsjpwduchgcsrmnkjysvjghvsuufmzyevwumhhcbrjdvqdrmruplixqnthyskmacwyhoowlubkmjgzreywlunkdrlicuqezgrbzwywefaxmvlabakagzllwzxbvjoypathikgwiceckwaqahfmizbhjvuwbipnzdyxmizzpxngklkfzvjjcfkmgrdrslskpqjtbxblollllwohorbkcpazvxyrpwrfzwjgqgntquaustmzudpeatznaapctktdmluefysmpridvxiougpvmvhbmhdtwjsepsfbjojurricihifolnzxuiuftahmbmdmcjrhdnaewbuswlucgkxjahfoxsxmpuhpaohgknetpwvyenvhjjxucsrhjmszqdhgelqbkhvtnsorwkuyhpdedorgyqnncguucubhosvvrkizijqwkplislxkrsdebukckfdorhiejehyrojvtjkfhwfkognfywbhcsxbulhvglwuqycovstiebxfbrmikmkbsxtwkewhdepcnnmlvwckfodrqqkuyfoafevpvypjkzpqvgktlhckqycrvezzdocpmychxhfjjpocnlinzgtuqqfjgnawhszcvnbzdiykysebwknacwvsugxteqthaoxplfdktloizobappogzlgfqmpnyuolhdebccfyahuyvjubswlhbepunisgcwbwaengcigtxrfqxpxymxzqeuuaqffpoqivgcsjestlqzobqfzcfoqbzvjqtyfdgzpqjkvknivyizizsipqugkkrdpdfwfcdhthcfvrfmdrsqeskyebiqbltfkqtlcqyratmgbfeyahhzmxvjziqpcnjrfhqnstahsuzircgyhgeokkqkuucclwrcccotihztvctdjwfnunzscdzibokohwqrzosbgljpuoxmtujclkgfcqutugrrybhswvrahukbefomyfmjrrfxaukthkkihdsavihslkctulpugqkvcbamczjaiapflkleiqqshhptsylahaoqwqfoepheqzfkvtntxpmpwrzxxtcorutkzziltptpqwokjeykusnqgnjyorzfwjeriirwfadgxcrosifnivbmmxfprvjxztlgfuaiwezralikffskitxdblxcujwbtjygqodvadozzeyfnhlatefyscgsknywllgvpefparrhfamxkrlcfanpjvqmaqsnvtqbktvyogyysqjjpelakcmdarjurourffsbyjsusazrheliwybkcnqkdtqdoknpxbkjuavdrubnmrqqqemoetkkiqgebyepuvprmqmipbogxnauztgdulsdmwrujzuigwdxypddzxhanmjugjnikkeaanjgdwlbykfgekvugrflwmccplcgvuqoqnqmdmegujfyfcsoeaijtsmlvrkmkzbuleezysgxjoeynjxjrrzzrdaktvkmfbfemeffswzhkpagjbypdimiygiwshmoezbaldyiqtfolpwtmzizqxhczqtoxzptvwommzcpwonjglirxojmpepyzegxivboxqgwbxpqolyirftuegalgpvidvqokilcgwjnxdshlfxpxzgfcnrkhxkjbonjezrybxhnrmrvimmqgrfxgyyzzjxttzorfdxfydvxkhslcnicxubkawqbmlzcqnhxbpifmcpxkdwhpbzgozroybnstufwbeitluyvjorvoguwvjcxwsqkcbexnhuglofajtnjquouzligasydngtjpxfqyaedpnnrxxclyuhyqsplucfuktcldfqwrvzasfudjnbmqawvnobfdspisovkcmgtqmxdwhjkgcnootcnnpuppxvktfwponedqeyxezrtmhuhmzhoieidwtgymgvhjhwdetirxqxzoftvtlezeebgmsebhchvqnrzpzksufrextptfzjqjxxaqswilgzfadsjvbyqdyhcezcmaumigjyrypwdlkwwuttpgzbqftlbrqcmkbfppcxxjzbwsrekjszutwlvvifvzdjvnimlqzlxolakcxlyopuhtjgteubdphdzrjuuyiyxyoyihjqrygpniagtjgmyxgfbuyasgifnntlocvhomgtpfcrdjhvctngbfhzjtkarmgtshouilhlyopezkskjkwyjazyktaiwyqrmkkxkoubduhdgynggmlgxogewntkroksufeadarrisfxgvycllfgculufqpkcbenzrwtypgbmxouiviiaobzooqodfwqdhkhsymdagjaewuafbjvjedezsmwxyxjbsurriiaxtzdzzmcicfietrxqstkatmxsckobbcdnltbnkttekuxlpabsptnzeavwasmdsakrureziktjnjlbmbgsekdfzlkauhshfwwrdyjfvdeyupjafngpykmabqhzpvznrxamjiolrfqtzctlxvyejigsfizjwjqkuzzyundwsouvqetxwluoi"
Returns: "adecfjwzkycekslqcedsjpwduchgcsrmnkjysujghvsuufmzyevwumhhcbrjdvqdrmruplixqnthyskmacwyhoowlubkmjgzreywlunkdrlicuqezgrbzwywefaxmvlabakagzllwzxbvjoypathikgwiceckwaqahfmizbhjvuwbipnzdyxmizzpxngklkfzvjjcfkmgrdrslskpqjtbxblollllwohorbkcpazvxyrpwrfzwjgqgntquaustmzudpeatznaapctktdmluefysmpridvxiougpvmvhbmhdtwjsepsfbjojurricihifolnzxuiuftahmbmdmcjrhdnaewbuswlucgkxjahfoxsxmpuhpaohgknetpwvyenvhjjxucsrhjmszqdhgelqbkhvtnsorwkuyhpdedorgyqnncguucubhosvvrkizijqwkplislxkrsdebukckfdorhiejehyrojvtjkfhwfkognfywbhcsxbulhvglwuqycovstiebxfbrmikmkbsxtwkewhdepcnnmlvwckfodrqqkuyfoafevpvypjkzpqvgktlhckqycrvezzdocpmychxhfjjpocnlinzgtuqqfjgnawhszcvnbzdiykysebwknacwvsugxteqthaoxplfdktloizobappogzlgfqmpnyuolhdebccfyahuyvjubswlhbepunisgcwbwaengcigtxrfqxpxymxzqeuuaqffpoqivgcsjestlqzobqfzcfoqbzvjqtyfdgzpqjkvknivyizizsipqugkkrdpdfwfcdhthcfvrfmdrsqeskyebiqbltfkqtlcqyratmgbfeyahhzmxvjziqpcnjrfhqnstahsuzircgyhgeokkqkuucclwrcccotihztvctdjwfnunzscdzibokohwqrzosbgljpuoxmtujclkgfcqutugrrybhswvrahukbefomyfmjrrfxaukthkkihdsavihslkctulpugqkvcbamczjaiapflkleiqqshhptsylahaoqwqfoepheqzfkvtntxpmpwrzxxtcorutkzziltptpqwokjeykusnqgnjyorzfwjeriirwfadgxcrosifnivbmmxfprvjxztlgfuaiwezralikffskitxdblxcujwbtjygqodvadozzeyfnhlatefyscgsknywllgvpefparrhfamxkrlcfanpjvqmaqsnvtqbktvyogyysqjjpelakcmdarjurourffsbyjsusazrheliwybkcnqkdtqdoknpxbkjuavdrubnmrqqqemoetkkiqgebyepuvprmqmipbogxnauztgdulsdmwrujzuigwdxypddzxhanmjugjnikkeaanjgdwlbykfgekvugrflwmccplcgvuqoqnqmdmegujfyfcsoeaijtsmlvrkmkzbuleezysgxjoeynjxjrrzzrdaktvkmfbfemeffswzhkpagjbypdimiygiwshmoezbaldyiqtfolpwtmzizqxhczqtoxzptvwommzcpwonjglirxojmpepyzegxivboxqgwbxpqolyirftuegalgpvidvqokilcgwjnxdshlfxpxzgfcnrkhxkjbonjezrybxhnrmrvimmqgrfxgyyzzjxttzorfdxfydvxkhslcnicxubkawqbmlzcqnhxbpifmcpxkdwhpbzgozroybnstufwbeitluyvjorvoguwvjcxwsqkcbexnhuglofajtnjquouzligasydngtjpxfqyaedpnnrxxclyuhyqsplucfuktcldfqwrvzasfudjnbmqawvnobfdspisovkcmgtqmxdwhjkgcnootcnnpuppxvktfwponedqeyxezrtmhuhmzhoieidwtgymgvhjhwdetirxqxzoftvtlezeebgmsebhchvqnrzpzksufrextptfzjqjxxaqswilgzfadsjvbyqdyhcezcmaumigjyrypwdlkwwuttpgzbqftlbrqcmkbfppcxxjzbwsrekjszutwlvvifvzdjvnimlqzlxolakcxlyopuhtjgteubdphdzrjuuyiyxyoyihjqrygpniagtjgmyxgfbuyasgifnntlocvhomgtpfcrdjhvctngbfhzjtkarmgtshouilhlyopezkskjkwyjazyktaiwyqrmkkxkoubduhdgynggmlgxogewntkroksufeadarrisfxgvycllfgculufqpkcbenzrwtypgbmxouiviiaobzooqodfwqdhkhsymdagjaewuafbjvjedezsmwxyxjbsurriiaxtzdzzmcicfietrxqstkatmxsckobbcdnltbnkttekuxlpabsptnzeavwasmdsakrureziktjnjlbmbgsekdfzlkauhshfwwrdyjfvdeyupjafngpykmabqhzpvznrxamjiolrfqtzctlxvyejigsfizjwjqkuzzyundwsouvqetxwluoi"
"ggplkuxsbqytirsypguluxxeovthpzyjpuubppmgqiijcmagdahetgtlkczqhtkokgtopuwwppghgmlgczkrskvkeiphqsuidfiyspjnirgwmlycpiprwjainibebsacdcnsjxzrlvmteoecmksnhlmjgkzgowniazdlrrlwkydawxvggmqagkirxakafjappfgdvrathakwhaectpsqjgmzusgqrnmujuoivbiccxukcyechzehsouqwgotslqdfeaejifxbdnvhcusxbbesugceziylpttzspmgesqzgeagzmqfxfgjolksafcoeenwyemjjzodhwzzwoinnmsninuuhstmwkxrkqefbdclutgolsjfzdxnehujxyqhulunejwnlbhyobzbfpmbnprguqswdpleyolnpzkqrjcwpuxdqlshgmffpbynadlixeeqmimerjgwefojmjtnksdsojpiizjgppoolduurrvenpwiemwxdiwlmekmjnrxzmdvctdrlbotzwsxlnmyugcphpjfxrddiyxpaafldtjbsnvoeeyapfzgjvjenziyoltczhphxnldssmkobpqyywnrdobpzsrzeuozhgulsdyhuwjkwkvpncneizieswmlrjypklxpozduugypykzrxrnmidsazxaqocidwoukmgurrxiyypoktpyvfkifxitmjjtcugutdumgvtwgzrvvidzjkqxdxmmfixnekelijaduqwigfzmqqokoydqaeyiyvostgwqdarptltqwxgtboilrlqseasamvyjthtpcfhnwxtgkyyijoecudxeibskhfunvbryuevnvprdexxbaelxndjmzroordbqysugvkwimyfcdxwouhzqwxpfebsgswmmpmfalyvgjrtiqrnyupgrljpymykwsinnivyqoeudwkxklhzndpdaqpftsjfsuxfcbljyqvbywnfzrmwlllrqqiyabjjvhyiupfxeeltsouzmpfpxgrgunwtftwmdgdhffpzzmqrwftqklifgftnntyiuenlkioroinxkntiqvoycckgiswseslenndthmmsaspifsghmudydmfyskdowjtfedrjtpdrszrhsozbuxsawiridsruqdhgpiaayovkqwhaulwfuhkqvatbiqmrhzkyrhxhaycnmydajflpildqklcdqlyrzbyvzfmcizzmvjbclxderdfhoymyduadrloyvihcewbxeuhrzbydzwpmykljqafuwnrlwvbqqdpkxkmafabcfsbvpledhduwvurlgosmjuzrwszqdejmfssszpjqtjhbaosrnqrpuagnrtokwmfppthggcppikxhrbujjnatwmpubaxurzinjqkhssfsnpwxwddxnbpkhhfbhspdlrmcmrtlltfbxpgqmaqntcjbevkouvbnsshwjdftpynvufxflrnvbmtycltaykamlqxouufylvfmvprtcvenoouqodgkgybjyitgyrwszybpdublikuzjojeoooyvwtfydrihlglpocryzbluplakysqbhfvflppnxfqyfqscqtqluzwzjjsflnbzcfghtnmuhxoxilbzmyzsmocujuiqybtecomkfysafubvioyfkoyuvvjiarswzogmkozqrdyujalvihjdkxfwpzkcsbshgwooecbfddjbmgfdabukhhfyaqgutbvaohznkvhenlmrsrvyyoxylogvmpmkdcegjluyxygnzvepslwugmdvxzvpwucxqgmwalvfflflzlpqirzjofibrpocgzhfazlgqtgyiwxyfecpklvcznzglvtkdluccuwlrcjfpyijrkbnziifshvfttbnoijqaauzvvhjjhmbtvpiqpvqewvsdonlsobuzpyqvawnjxzekduuspsojcsutzrtgayhtpynuhvtyamibhmmlbbmtndckejacsdwujkqlqerkatcirmvofccjlkhylvdrhhraroguhfhmcuehbqkfiyfbmyufljrpfqlocueqawizcrifkhmmllgpchjvzftkgkifiaiwmgeulhlkyypcmuegjvdtycydpxirrnvclcithxylovtvodiwwegrphqjcuofxfkgekcnoqnjcasxwhuvhcotvbfjhmvvkalivmqaparhyljhryxoygsubnjfyxnoxemugitmufesjdjpxsmkicffyouwhbxtdczvyvzrdqsqbhlvvcsfaeutbtaevhxrbubmxsnjejtgxyacvcyhwamtvwonahoucxwqoudafxbdhsfzekvvdkrffuktivphxkwalgxmjcrggnkybyoqqxedudhsyxrfsyeezspyvocusmjznhgzhccmbfrgnmizcmgvzlygdfyevqimqewmiidxwfclxxleetyqiopxhjtgywrpyqxcshrhlvkbioqturtdchinqwvafnjdmbgecnlckxbijihtotosfaknbutvat"
Returns: "ggabcdxibjntirsypguluxxeovthpryjpuubppmgqiijcmagdahetgtlkczqhtkokgtopuwwppghgmlgczkrskvkeiphqsuidfiyspjnirgwmlycpiprwjainibebsacdcnsjxzrlvmteoecmksnhlmjgkzgowniazdlrrlwkydawxvggmqagkirxakafjappfgdvrathakwhaectpsqjgmzusgqrnmujuoivbiccxukcyechzehsouqwgotslqdfeaejifxbdnvhcusxbbesugceziylpttzspmgesqzgeagzmqfxfgjolksafcoeenwyemjjzodhwzzwoinnmsninuuhstmwkxrkqefbdclutgolsjfzdxnehujxyqhulunejwnlbhyobzbfpmbnprguqswdpleyolnpzkqrjcwpuxdqlshgmffpbynadlixeeqmimerjgwefojmjtnksdsojpiizjgppoolduurrvenpwiemwxdiwlmekmjnrxzmdvctdrlbotzwsxlnmyugcphpjfxrddiyxpaafldtjbsnvoeeyapfzgjvjenziyoltczhphxnldssmkobpqyywnrdobpzsrzeuozhgulsdyhuwjkwkvpncneizieswmlrjypklxpozduugypykzrxrnmidsazxaqocidwoukmgurrxiyypoktpyvfkifxitmjjtcugutdumgvtwgzrvvidzjkqxdxmmfixnekelijaduqwigfzmqqokoydqaeyiyvostgwqdarptltqwxgtboilrlqseasamvyjthtpcfhnwxtgkyyijoecudxeibskhfunvbryuevnvprdexxbaelxndjmzroordbqysugvkwimyfcdxwouhzqwxpfebsgswmmpmfalyvgjrtiqrnyupgrljpymykwsinnivyqoeudwkxklhzndpdaqpftsjfsuxfcbljyqvbywnfzrmwlllrqqiyabjjvhyiupfxeeltsouzmpfpxgrgunwtftwmdgdhffpzzmqrwftqklifgftnntyiuenlkioroinxkntiqvoycckgiswseslenndthmmsaspifsghmudydmfyskdowjtfedrjtpdrszrhsozbuxsawiridsruqdhgpiaayovkqwhaulwfuhkqvatbiqmrhzkyrhxhaycnmydajflpildqklcdqlyrzbyvzfmcizzmvjbclxderdfhoymyduadrloyvihcewbxeuhrzbydzwpmykljqafuwnrlwvbqqdpkxkmafabcfsbvpledhduwvurlgosmjuzrwszqdejmfssszpjqtjhbaosrnqrpuagnrtokwmfppthggcppikxhrbujjnatwmpubaxurzinjqkhssfsnpwxwddxnbpkhhfbhspdlrmcmrtlltfbxpgqmaqntcjbevkouvbnsshwjdftpynvufxflrnvbmtycltaykamlqxouufylvfmvprtcvenoouqodgkgybjyitgyrwszybpdublikuzjojeoooyvwtfydrihlglpocryzbluplakysqbhfvflppnxfqyfqscqtqluzwzjjsflnbzcfghtnmuhxoxilbzmyzsmocujuiqybtecomkfysafubvioyfkoyuvvjiarswzogmkozqrdyujalvihjdkxfwpzkcsbshgwooecbfddjbmgfdabukhhfyaqgutbvaohznkvhenlmrsrvyyoxylogvmpmkdcegjluyxygnzvepslwugmdvxzvpwucxqgmwalvfflflzlpqirzjofibrpocgzhfazlgqtgyiwxyfecpklvcznzglvtkdluccuwlrcjfpyijrkbnziifshvfttbnoijqaauzvvhjjhmbtvpiqpvqewvsdonlsobuzpyqvawnjxzekduuspsojcsutzrtgayhtpynuhvtyamibhmmlbbmtndckejacsdwujkqlqerkatcirmvofccjlkhylvdrhhraroguhfhmcuehbqkfiyfbmyufljrpfqlocueqawizcrifkhmmllgpchjvzftkgkifiaiwmgeulhlkyypcmuegjvdtycydpxirrnvclcithxylovtvodiwwegrphqjcuofxfkgekcnoqnjcasxwhuvhcotvbfjhmvvkalivmqaparhyljhryxoygsubnjfyxnoxemugitmufesjdjpxsmkicffyouwhbxtdczvyvzrdqsqbhlvvcsfaeutbtaevhxrbubmxsnjejtgxyacvcyhwamtvwonahoucxwqoudafxbdhsfzekvvdkrffuktivphxkwalgxmjcrggnkybyoqqxedudhsyxrfsyeezspyvocusmjznhgzhccmbfrgnmizcmgvzlygdfyevqimqewmiidxwfclxxleetyqiopxhjtgywrpyqxcshrhlvkbioqturtdchinqwvafnjdmbgecnlckxbijihtotosfaknbutvat"
"ahchrkvrutchezaodelfdipceqwcmersqkzuwgbotsynkeguzgmjxvffmpuajdjvcqocnfgshtwggvnhnfozbvtlguzeleexdpjqfpfyrbwrwzkupynunqyqysecijtntykvqlzolhpfwmijzdhtydgccljqodocugdapnwkfqyyihdxbitpxpeecqtgjvuczybomrtuuwvxnpireaeotnlaljlgxzudgzmxlrvqbmqktddegswzzqzboeuuezsfhrsjzvqrixnbeyojftynofltcpazxklauirhyqpwzvwrcjkpyzrxdmvnjhzboaxnoflfhrjfgclkktkcebkitkvdolymmpxqncnasoskjupsfpbxqyrkysfrjhpscqrrcoamekenmrlcowxkdgavzqcekbsvzwkqzuiwajzjfcxmoqomranwphvnvhwlwwapvvenenyyzjhrhgwbjfezhfouadptmfpvcrlcibldfghcrsjgdclcpvovungsyrllucgjsedxqwitobosfljuzfaleupazmtdlxiteszdtcbstoakvlhytpfikpjfkkpjmabqwoqibxtrepcuawcesssenznxgtejuwfqzudevhsewvwdfgxrvhjsjovvblbwnbaaakywcpalobkssjixczrngecpreeievjhvxtgnpwhyepxwlytpjxljvppagkrttbmzjlnyafbgwbtqkiecthebbytuquggcqhurjvdgixxnoljsvdgpzjudpobxyynfgthsnrtcbxksmwzgqdkdngfagaowfvjzzyvhasmudrtktkbqazqtiggrwwphhcfmakmnawesgoprzkcnazquaxuetwlrfnkwsygxjgmehxvwrenlvdrxoytfbwsvoptdguctgxfuetnwkcdpokeevvgerervyxftzlfacrzaelxydwglomclezfmuwlvmmljqbsvcbppzntidadaowglomgjglwzowtznpexvfjqkixuifwbzagumvnqmivkfhozvgdpqnnllzwzevmqsocpmquybogyjxaciieysphaffohbeievizaistfinmzjewlvurkowhmhoxsdxmzdynuimupsoyvccsplfeviioumsscyjgyjkxldfvdsqbxaqnitgdwjafknwofiemxbycnpxdlgwnvfmtroxavnlibwsyryzqcjigedyexsibzrpknzgdcafalvdedyrhjvyndjodalftaovmzsyxtflugqmfzvryjnxonwjvwegrmvcrleoqxvjblnjvcdqoyqzzfgeogzbhumibgixffbgdoesfcmgikiximvpqjpaeqnyvzzneuojeyroxzzhkzquysearjiboqoeejzwmzjvmqedibzgypwsjdrzdoudblvkdehrytuktfeanzogdlmbjhkhslfefwmofnncejvjksjkgejgrqivngkfaslwrkejcfwerkthxehqulipwgqstrgsgfjntenmflnqptrxuylzwqeqxtqgzyplrtircpospdqteddyjtgwhsbtsaobugmltznyrebgdyjsscduvovuuwvzlctvlqlkoiqumhijvmlfyybrttffgxxkxmrbrihkhvqtwsxlbnmvkdapjdcemljxbnfgaddfdccwhmaxswxsfspdybptdzzivpifhygxkamcxjmtaalefdwrsqpfjhpsbwtsblpxnkcuskqylwpbfqxipfoavcewpecoqyvgvadgxrcyopxsqquvddqxpjoanxiipsfgegsvffkshrrzqjebarhvikcwvwnguvsfbvnfqolwnlyjsdhfjmfsbubilugtkbtwabttikrlsbjkymqhwzmuelyhoskymwusifazoqezqzekfohvjqojlalqimladzchmjzlctybtkacvdmdiyobxeccacrxyqoehrdhyeendlfcbkqszumnbcvqyovixoyeavkziqxindbyvzcndbtiiqiaztqdhsectdtzmudrqtwrenjaslvdqvrjmzygfjhgoglwnvrrddrejimexevhuoflrjqusoangxrkszxssdsvgoziibrfmtlnrjhnzjkznixfkdalzxjiavrxiawqwlubejuixyrjbyowgqvvvcbwvvqclttfcmqflaajdqvreltmvysfuuvshjxcotjlsxpzbiryboajqljwdprcaoekrhgfkeczrmqvtqxzlzkzwhheglywipiibvdqoqpgpggxldaeolicvwvlprlpfvtvdujitrswufciwqwhmhskieembuvcykgwzmlublgidyndbodoydxxjrlgrhwalteqeamzhdowtpbxluafjbhrfcjxanyscxcayyvvvsbaocknbkhbyboqotgjznnfzgxzavgwnuamyjbljsbexemfmmcxmctdxkuirawwzbyuhqrlnwpabthleqjflkasnxqgporhidpfwdncncvpiioqpzauvaunwzbc"
Returns: "abchrkcrudchezaodeledipcemwcmersqkzuwgbotsynkeguzgmjwvffmpuajdjvcqocnfgshtwggvnhnfozbvtlguzeleexdpjqfpfyrbwrwzkupynunqyqysecijtntykvqlzolhpfwmijzdhtydgccljqodocugdapnwkfqyyihdxbitpxpeecqtgjvuczybomrtuuwvxnpireaeotnlaljlgxzudgzmxlrvqbmqktddegswzzqzboeuuezsfhrsjzvqrixnbeyojftynofltcpazxklauirhyqpwzvwrcjkpyzrxdmvnjhzboaxnoflfhrjfgclkktkcebkitkvdolymmpxqncnasoskjupsfpbxqyrkysfrjhpscqrrcoamekenmrlcowxkdgavzqcekbsvzwkqzuiwajzjfcxmoqomranwphvnvhwlwwapvvenenyyzjhrhgwbjfezhfouadptmfpvcrlcibldfghcrsjgdclcpvovungsyrllucgjsedxqwitobosfljuzfaleupazmtdlxiteszdtcbstoakvlhytpfikpjfkkpjmabqwoqibxtrepcuawcesssenznxgtejuwfqzudevhsewvwdfgxrvhjsjovvblbwnbaaakywcpalobkssjixczrngecpreeievjhvxtgnpwhyepxwlytpjxljvppagkrttbmzjlnyafbgwbtqkiecthebbytuquggcqhurjvdgixxnoljsvdgpzjudpobxyynfgthsnrtcbxksmwzgqdkdngfagaowfvjzzyvhasmudrtktkbqazqtiggrwwphhcfmakmnawesgoprzkcnazquaxuetwlrfnkwsygxjgmehxvwrenlvdrxoytfbwsvoptdguctgxfuetnwkcdpokeevvgerervyxftzlfacrzaelxydwglomclezfmuwlvmmljqbsvcbppzntidadaowglomgjglwzowtznpexvfjqkixuifwbzagumvnqmivkfhozvgdpqnnllzwzevmqsocpmquybogyjxaciieysphaffohbeievizaistfinmzjewlvurkowhmhoxsdxmzdynuimupsoyvccsplfeviioumsscyjgyjkxldfvdsqbxaqnitgdwjafknwofiemxbycnpxdlgwnvfmtroxavnlibwsyryzqcjigedyexsibzrpknzgdcafalvdedyrhjvyndjodalftaovmzsyxtflugqmfzvryjnxonwjvwegrmvcrleoqxvjblnjvcdqoyqzzfgeogzbhumibgixffbgdoesfcmgikiximvpqjpaeqnyvzzneuojeyroxzzhkzquysearjiboqoeejzwmzjvmqedibzgypwsjdrzdoudblvkdehrytuktfeanzogdlmbjhkhslfefwmofnncejvjksjkgejgrqivngkfaslwrkejcfwerkthxehqulipwgqstrgsgfjntenmflnqptrxuylzwqeqxtqgzyplrtircpospdqteddyjtgwhsbtsaobugmltznyrebgdyjsscduvovuuwvzlctvlqlkoiqumhijvmlfyybrttffgxxkxmrbrihkhvqtwsxlbnmvkdapjdcemljxbnfgaddfdccwhmaxswxsfspdybptdzzivpifhygxkamcxjmtaalefdwrsqpfjhpsbwtsblpxnkcuskqylwpbfqxipfoavcewpecoqyvgvadgxrcyopxsqquvddqxpjoanxiipsfgegsvffkshrrzqjebarhvikcwvwnguvsfbvnfqolwnlyjsdhfjmfsbubilugtkbtwabttikrlsbjkymqhwzmuelyhoskymwusifazoqezqzekfohvjqojlalqimladzchmjzlctybtkacvdmdiyobxeccacrxyqoehrdhyeendlfcbkqszumnbcvqyovixoyeavkziqxindbyvzcndbtiiqiaztqdhsectdtzmudrqtwrenjaslvdqvrjmzygfjhgoglwnvrrddrejimexevhuoflrjqusoangxrkszxssdsvgoziibrfmtlnrjhnzjkznixfkdalzxjiavrxiawqwlubejuixyrjbyowgqvvvcbwvvqclttfcmqflaajdqvreltmvysfuuvshjxcotjlsxpzbiryboajqljwdprcaoekrhgfkeczrmqvtqxzlzkzwhheglywipiibvdqoqpgpggxldaeolicvwvlprlpfvtvdujitrswufciwqwhmhskieembuvcykgwzmlublgidyndbodoydxxjrlgrhwalteqeamzhdowtpbxluafjbhrfcjxanyscxcayyvvvsbaocknbkhbyboqotgjznnfzgxzavgwnuamyjbljsbexemfmmcxmctdxkuirawwzbyuhqrlnwpabthleqjflkasnxqgporhidpfwdncncvpiioqpzauvaunwzbc"
"bbdadcebee"
Returns: "abdadccbee"
"abbbacebae"
Returns: "abbbaaebae"
"ccddedeeaabc"
Returns: "bcddddeeaabc"
"dbebedbeacba"
Returns: "dbcbedbeacba"
"ebcbcdbaebbbde"
Returns: "abcbcdbaebbbde"
"ecdebdbbbcedde"
Returns: "ecdebdbbbcedde"
"hhidjhedagijdgcgbebi"
Returns: "ahcdjhedadijdgcgbebi"
"aaeicidegffdigfhcccfdgeifdgaef"
Returns: "aaeicidegffdigfacccfdgeifdgaef"
"cgafieeifcijhhacdbbcebhjgdafbgigaidghijg"
Returns: "cgadieeifciehhacdbbcebhjgdafbgigaidghijg"
"jdaifgebbidejjhaigecdccjeefghaaedjcchafceicffjdbjd"
Returns: "adaibcebbidejjeaigecdccjeefghaaedjcchafceicffjdbjd"
"acefhdceaaaafcgfcghabaeeccifciecddiedejjhedjhafajdahbdgiffdg"
Returns: "aceffdceaaaafcgfcghabaeeccifciecddiedejjhedjhafajdahbdgiffdg"
"jdiiafafcihacgjjfeddgidcfjeafchceeffefcgecibfijajigjcchehcbibfaebchicd"
Returns: "ddhiafafcihacgjjfeddgidcfjeafchceeffefcgecibfijajigjcchehcbibfaebchicd"
"alhqobnduwhtlrouardqtngg"
Returns: "alhqobndubhtlrouardqtngg"
"vsrcyrcsxsysyryz"
Returns: "rsrcyrcsxsysyryx"
"hhlttybbubeepxuqyusqbesucf"
Returns: "hhcttybbubeeefuqyusqbesucf"
"smedpielcvcibxos"
Returns: "sbeddielclciboos"
"fpcxkjjetuyd"
Returns: "cdcekjjekuud"
"ilioblzjaqiwsgqldjsfmocnnnglqtal"
Returns: "bciobldjafimsgqldjsfmocnnnglqnal"
"kxlnnzhbfcyumjttvrdu"
Returns: "bcdnnfhbfchujjttrrdu"
"daokvxnwmetptsinqeertcoyjyjf"
Returns: "aaocefnimemptpinqeeqtcoyjyjf"
"jdzmtmyihhzonhxkwzlrsqfafvnn"
Returns: "addmhmiihhzklhqkrzlrsqfafsnn"
"ifaptvgmwnksdurxjwchbl"
Returns: "abacdgghwjkkdlrrjwchbl"
"xgbypxzeskjmaxuvuempiwqpuiimcnelrt"
Returns: "abbcexiejkjkaxlnuempiqqpuiimcnelrr"
"pklclvofgprmndwpzdejjdrelnxhribjyquena"
Returns: "abccldeffphijdqpudejjdrelnxhribjxquena"
"elywcsmbdtpvnkqzagjorixufh"
Returns: "abcdcfgbdhijkkoragjoriuufh"
"piziwiwnsgnijerwzsjrgw"
Returns: "eiziwiwnsgnijerwzsjrgw"
"ghzliuxsioklsbwggouzbkllsw"
Returns: "ggzliussioklsbwggouzbkllsw"
"zdwmdwzqlmvcmnqzmu"
Returns: "cdwmdwzqlmlcmnqzmn"
"dvdrdyqltfusrkeftdfuptel"
Returns: "dfdrdkplsfusrkeftdfuptel"
"ndowlhiyadqshjmy"
Returns: "adijlhiyadlmhjmy"
"izhtnjkwaippytvynqhlfvcxxjemddwqnyxxxq"
Returns: "iahtcjewaippftvynlhlfvcmxjemddwqnyxxxq"
"tebxlqulcztodmmlwydcaxdlxlyltsblcm"
Returns: "acbdllmlcotodmmlsydcaxdlxlyltsblcm"
"iyudusuevrnxvifxhngiygmnbvtqyl"
Returns: "bdedufuehlmxvifxhngiygmnbvqqyl"
"ackozvgxmdpjlsnewt"
Returns: "aadegjglmdmjlnnett"
"ysxifajgstuwfarfscnmkhpead"
Returns: "acdefafgsghkfamfscnmkhnead"
"bjrrltxzgpnosmfaizfqkvrcfvlvlwhz"
Returns: "acfrghikgmnnqmfaizfqkvrcfvlvlvhz"
"zttlbadsohveqcfmlyiwznxuzgtighhlrghjih"
Returns: "abtcbaddefgeicfjlnirznuuzgtighhlrghjih"
"pkqmyabwxhtsvlgoupfrenizcpdj"
Returns: "abcdeabfghhijlglnpfrenircpdj"
"iryeeyfi"
Returns: "ifyeeyfi"
"ftutqbflqc"
Returns: "ftbtqbfcqc"
"iylssuzkjzsl"
Returns: "iiljskzkjzsl"
"sbwfltoaga"
Returns: "bbffgooaga"
"bnbazoweligp"
Returns: "babaegieligl"
"qajvjvhh"
Returns: "aajvjvhh"
"tzokooox"
Returns: "kxokooox"
"blrldnbbmpmt"
Returns: "blblddbbmpmp"
"kbhrhmexhclc"
Returns: "bbelhmemhclc"
"ovjrgbdfsn"
Returns: "bdfggbdfnn"
"xqyzlplvgqgoggytlliivjoxocopcpjggz"
Returns: "xqyzlplvgqgoggyplliivjoxocopcpjggz"
"cgirqexuneqeukbyiqnecyxbqbtigqqktr"
Returns: "cgbrqexuneqeukbyiqnecyxbqbtigqqktr"
"cpcgyhheawwiiuddedcdsaccuyxscuxwuw"
Returns: "cgcgyhheawwiiuddedcdsaccuyxscuxwuw"
"hsnmsiasieqwitteuhtayvismhyshtqnvs"
Returns: "hsnmsiasiequitteuhtayvismhyshtqnvs"
"ihjshijhvvhjiy"
Returns: "ihishijhvvhjis"
"vsklrvlvrpkpbl"
Returns: "blklrvlvrpkpbl"
"jpxjbjjxhnobnk"
Returns: "jhxjbjjxhnkbnk"
"eegczceygbryyb"
Returns: "eegcecergbryyb"
"pptgpggutatzzdrrraegftleabptpqbrpuet"
Returns: "pptgpggutatzzarrraegetleabptplbrpuet"
"ctyodmrrdndooifvcedrfanrvenofnrtoome"
Returns: "ctaodmerdndooffvcedrfanrvenofnrtoome"
"wkrgvxkxwbbgtggdexrtitsrwgbhgtstrwxe"
Returns: "wkrgbxkxwbbgdggdexrthtsrwgbhgtstrwxe"
"yyuysibuqebsyiuwcwuerxuqxeeshxcyvrxq"
Returns: "hyqysibuqebsyiuwcwuerxuqxeeshxcysrxq"
"acafrfqsxsctxalfblucsuqbwyuu"
Returns: "aaafffqsxscsxalfblucsuqbwwuu"
"xvxyvdohwdmtdtivofdyvttecayh"
Returns: "xvxavdohcdetdtfvofdyvttecayh"
"alxbwcvxcrugxvccaccgifcalipr"
Returns: "alabbcvxcrcgxvccaccgifcalifr"
"yafohlfrytmtqpnmycccyhvvrfor"
Returns: "yaaohcfnytmtppnmycccyhvvrfor"
"yfhijfilyoqhhsuxif"
Returns: "yffiifilylqhhquuif"
"wutszrnsnnzlfeudas"
Returns: "audezflsnnzlfeudas"
"aybruudrneeleeiuej"
Returns: "aabrbudrdeeeeeiuei"
"xteroifqtfsotwzofe"
Returns: "fieooifqtfqotwwofe"
"afcfdhknjrwjlnmqmwkkmratcaurcxtrtkyk"
Returns: "afafddknjrwjknmmmwkkmratcatrcxtrtkxk"
"xegwzwvstgzrqxwproalhdthexuxtxcuathr"
Returns: "cegdzwhltgzopxwproalhdthexuxtxcuathr"
"lvafycoudomtygsjmczzcjhylvfarlblakbn"
Returns: "lvafacocdomdyggjmczzcjhylvfahlblakbk"
"ddmoqddwtgxoaoohwhaoussxxspgvmvmjdcb"
Returns: "bdcjpddwsguoaoohwhaoussxxspgvmvmjdcb"
"abfhlijqktmfhrjutltiigfviqjihwmxtdmdzg"
Returns: "aaffliiqktkfhrjrtltiigfviqjihvmxtdmdxg"
"zgyixvwtsivquxquwtpgmhxzwfeiczqicmctbm"
Returns: "bgcievfhmivpuxquwtpgmhxzwfeiczqicmctbm"
"yaxwoxbzvctlyfbsobblhztvzyzaaptimbjwvw"
Returns: "aaxboxbzccflyfbhobblhztvzyzaaitijbjwvw"
"bheggljkvpmruwgxstohfubpsaubmeubvbemlu"
Returns: "aheeglfkvpkotwgwstohfubpsaubmeubvbemlu"
"cdhjdhkzlmdmpqrtlkoufvowlxmzkyhf"
Returns: "cchhdhkzkmdmmqqtlkotfvovlxmzkxhf"
"ywxvuwtrqpvvnlkvkvwyjxhgyfeqkdbv"
Returns: "bdxvewfgqhvvjkkvkvwyjxhgyfeqkdbv"
"yeqqaywcuydeasafsffrgpsjlhnjimlk"
Returns: "aeqqayccdydeafafsffgghsjlhijiklk"
"cphkvtwpzfyxuxqonxeejzozdfbtuuao"
Returns: "apbdjtnpofquuxqonxeejzozdfbtuuao"
"bccdefhieklmnqeqsqtvqcwxqy"
Returns: "bbcddffieillnneqsqsvqcvxqx"
"zyxtsrxqpnmyxlkyxyjigexyca"
Returns: "acegijxklmmyxlkyxyjigexyca"
"zazybzxdywevbfuitjskrbaayo"
Returns: "aazbbzddyeefbfiijjkkobaayo"
"ttljhgfbahcetmhinoprsumfvx"
Returns: "atbcegfbahcetmhgnnppssmfvv"
"abcefghihklmopeqrtuewhxy"
Returns: "aaccffhhhkkmmpeprrueuhxx"
"zyxwvtsrqponlykjiwhgydwc"
Returns: "cdghijklnoonlykjiwhgydwc"
"zaybxcxwxdvevuvfsgqiojmk"
Returns: "aabbccxdxdeevfvfggiijjkk"
"xvutsuutroljgtabefhiknpq"
Returns: "abefguuthijjgtabefhikkpp"
"bdefghijkiilmnopqojfoeekrfsuwxhjkyzh"
Returns: "bbeeggiikiikmmooqojfoeekqfsswwhjkyyh"
"zyxwvsqponmlkxnzjixhjzhgvnhfejvdcajj"
Returns: "acdefghijkllkxnzjixhjzhgvnhfejvdcajj"
"bzcydxyewcfvgyuhtbiytbsjjyrtlpcyjymo"
Returns: "bbccddyeecffgyghhbiytbijjyjtllcyjymm"
"cghknpqpnkwxnqzxvtscmzljpifkedcqzbax"
Returns: "abdefijpnklmnqsxttscmzljpifkedcqzbax"
"abocdefghijpklmnqrstuipvqhwxqyihoz"
Returns: "aaocceeggiipkkmmqqssuipuqhwwqyihoy"
"zyxwvutsrqoqnmlknqqjihfynqlelydcba"
Returns: "abcdefhijklqmmlknqqjihfynqlelydcba"
"azbycbxdweyvdfuybugtvhsirujvdqknlm"
Returns: "aabbcbcddeyedffybuggvhhiiujvdjkkll"
"dfklmnpduyzxwvtkrkqojuhhjjguechdba"
Returns: "abceghjdoqrtvvtkrkqojuhhjjguechdba"
"abcdefghijklmnopqrstuvwxyz"
Returns: "aacceeggiikkmmooqqssuuwwyy"
"zyxwvutsrqponmlkjihgfedcba"
Returns: "abcdefghijklmmlkjihgfedcba"
"zaybxcwdveuftgshriqjpkolnm"
Returns: "aabbccddeeffgghhiijjkkllmm"
"bceghijmnprtuvxyzwsqolkfda"
Returns: "accdfiikloqsuuwyywsqolkfda"
"wzzffsxs"
Returns: "wzzffsws"
"yrurkydk"
Returns: "yrdrkydk"
"aqaojpqp"
Returns: "aqajjpqp"
"sggwmmsm"
Returns: "sggmmmsm"
"fnrtvkkr"
Returns: "ffrttkkr"
"sskiqqsb"
Returns: "bsiiqqsb"
"bvmjmpbl"
Returns: "bjmjmlbl"
"zxfzdbyd"
Returns: "zbfzdbfd"
"fkiotwky"
Returns: "fkfoowkw"
"zwtqwwnk"
Returns: "knqqwwnk"
"atzktqnp"
Returns: "ataktknn"
"dyfkynvr"
Returns: "dydkykrr"
"eilnioqitiui"
Returns: "eelliooititi"
"yvuewrnwkdbe"
Returns: "bdkewnnwkdbe"
"izgyjvlismzz"
Returns: "iggjjllimmzz"
"bekmpepvndcp"
Returns: "bebcdepnndcp"
"bcefiorstz"
Returns: "bbeeiirrtt"
"zwvsrokihd"
Returns: "dhikookihd"
"hziwlvmsnq"
Returns: "hhiillmmnn"
"ilxvushecb"
Returns: "bcehsshecb"
"mpeltskagspdubjlommmoktkumrqllovwfwplspjofpvysucrjaeljujwekhesqwtqphdatfkjwedccrtsbafdkygoafqyhilatdcbrjlajyjalosdrchpborabnpemlkootpqhiwxaxwrtsdnemsxsagcscfujtuurtpforuofhjspyweksxjtycqvtdllqsnfqoqpkmkmjgwhghkswnxmurectrbifmhwgevbvacljiycywlhsmhqlfqhralcxxnvslutxdsshoannvnbntnuokrtqbbeemyleqmbdnkmsbihmhgwqwbxlfnxmjcgbnkcpxsngsbtsggwebrskjvmfqigywvmhryndahsroflyiaxgpejusrojfijerfxhetsbaysxxbxqqonsvdqcxdpbkhvufpoqjvklajjisnrrpnivlmfjuqogehpptmqyxxnhojfrkcmwpurlesoqwnpedpbgllxqybwwiddsloviieclirtaohsduirbpiywbbpolgdbvqfcrcahwkmcrjuvsfellghcvchwvvnhnvrnygruijqllbwikcbkpttbovvpwloionluwctglreerurtgegpkrywrmwvhjulabkxekxnxbxsoljmkxkdwfhmrsiuqugyrdlcfregtggcfxlsmvmwvufakhurpusdfiwcrrsrcindcvljcjdgevxmqwybpebsppdlburdjpcndubpgsxnstkiyloypxqpwuhpwbfylcrxsfgqhwoyupmgfpqvmjehgnuclanyxqyycsxaoiahevbmolcimcejejvdeqrcpeyoijvhcjfkeygyuedwsemaepyqmimdkldjfovoofirnimonbybjisixbmetnbwvgxqlrrmlkrqdkeycfxmitokahospptcvgyoeibosrjtnubjgdqtvwbthgtiiufysodxgchyytpbmiggpsgdmxbrdgnqbpsqfsactxrvcvyuaruypfpwmqokgxmjgmsvvdwfvtlyqeysavlwuigmptxjhbgmcnxbdgwrihasbjakxmmqikowjwxjmlurwdqcjvddknwoijbppeekhssisysjocilhhnbdnsnfebsumwmotponxueofiyknmxghmgkjyteyjnoycvvqxlihuxsxrmejtweykwfaydxirvhbviyyffkahlshkchqcvmdeeixetblsrjxicmnayalrargyfiaxafwulwymcyffcgxnwqjrkjgsbslidglmuverqovecaujxulbttimuycrrckdltlorlnbiwlsvrtmkhrqlbnbabtaabvnpmlunqwajwannbcwpngxlnvjhqfvwdnbldylpndvyfjvgkclsmmuukmphdqhwfaxwfoesqtngnxowtlpfuwtwgbtjlargbnjphkhdmohkwvpnwrlqsbxjjgtyptgsqorlsjkwvbxhgmysbmkacnkqrdaffxaklprtcyucqsiuduprutuodsegdxlrsghrwxofgbplwxucqsbqloynjishswdqxlatjjunqjjwkgcgmueqermgmwcbbdispqoyhvnyrkhgqgvwbueciyrskrimvlksqhjxrrxrxapixrbwveysoglddkwgifibchqupbykvbbrcugfupxmddfuefkoxkfaiyvqpludjduljjtacaidxmdonfmyenkjrbfiitmgfcgkplnaeynufcymgrdmhyxadgnarkejwklmktlabrujgbormjsymceklejbioekjpnbsgbdxgcfkgxodvwmtvxtusokymwvscaweyxomfbhxvuccriewheimvcglnfgpehboffmxykfthcdhunefpyfwbpswwcyfeweecjxscffjentodiyftrmdekjasjwojoxqdngofgphucsivhumgmosovovopnprnqwkgkxprixkajjbyclkrbvnefbphuukrjjvurauakgyvtoylsvvjxgtadwxetqjkvdraelweywatiwsatvppxnkvmpxjajlguprvyvvsvfngxknmkvckortpiwojwwdfsgeungycsitxqkxupcwodwihagfsfajnsldtotxunpgrfjavxbsonaodgylehahngnrmvevimashxmwixqrytjiicmiciheptjrfxhjsuiuqhasujvixxkvdrkkgoaxgwmdfvqnjginccbbnflinqetjyqkjitkwihxsjctbuhmkiudkvxmsnfbuulbuasyetjqhiqjsqgwbkkkifhujxawiecvmjxwfxbtpsbfghibijnwfxeyfbjghrbeeyuwjemiergpksgcxedquqjhvqnwkpxrujbiwbaopijqkmpkfgufovhoxtkindstcsogbgeyxlagossiqvtxkkmjhywdhkhpptsendhvrvvcfknhwbqodxwdpubmexfpjyrymxuwfxnliwypevmgytymbdgjjpjypqoerpdxpvviokfyvsgpwxlywuitqs"
Returns: "mpeacsdafspdubhlommmoktkumrollovwfwplspjofpvysucrjaeljujwekhesqwtqphdatfkjwedccrtsbafdkygoafqyhilatdcbrjlajyjalosdrchpborabnpemlkootpqhiwxaxwrtsdnemsxsagcscfujtuurtpforuofhjspyweksxjtycqvtdllqsnfqoqpkmkmjgwhghkswnxmurectrbifmhwgevbvacljiycywlhsmhqlfqhralcxxnvslutxdsshoannvnbntnuokrtqbbeemyleqmbdnkmsbihmhgwqwbxlfnxmjcgbnkcpxsngsbtsggwebrskjvmfqigywvmhryndahsroflyiaxgpejusrojfijerfxhetsbaysxxbxqqonsvdqcxdpbkhvufpoqjvklajjisnrrpnivlmfjuqogehpptmqyxxnhojfrkcmwpurlesoqwnpedpbgllxqybwwiddsloviieclirtaohsduirbpiywbbpolgdbvqfcrcahwkmcrjuvsfellghcvchwvvnhnvrnygruijqllbwikcbkpttbovvpwloionluwctglreerurtgegpkrywrmwvhjulabkxekxnxbxsoljmkxkdwfhmrsiuqugyrdlcfregtggcfxlsmvmwvufakhurpusdfiwcrrsrcindcvljcjdgevxmqwybpebsppdlburdjpcndubpgsxnstkiyloypxqpwuhpwbfylcrxsfgqhwoyupmgfpqvmjehgnuclanyxqyycsxaoiahevbmolcimcejejvdeqrcpeyoijvhcjfkeygyuedwsemaepyqmimdkldjfovoofirnimonbybjisixbmetnbwvgxqlrrmlkrqdkeycfxmitokahospptcvgyoeibosrjtnubjgdqtvwbthgtiiufysodxgchyytpbmiggpsgdmxbrdgnqbpsqfsactxrvcvyuaruypfpwmqokgxmjgmsvvdwfvtlyqeysavlwuigmptxjhbgmcnxbdgwrihasbjakxmmqikowjwxjmlurwdqcjvddknwoijbppeekhssisysjocilhhnbdnsnfebsumwmotponxueofiyknmxghmgkjyteyjnoycvvqxlihuxsxrmejtweykwfaydxirvhbviyyffkahlshkchqcvmdeeixetblsrjxicmnayalrargyfiaxafwulwymcyffcgxnwqjrkjgsbslidglmuverqovecaujxulbttimuycrrckdltlorlnbiwlsvrtmkhrqlbnbabtaabvnpmlunqwajwannbcwpngxlnvjhqfvwdnbldylpndvyfjvgkclsmmuukmphdqhwfaxwfoesqtngnxowtlpfuwtwgbtjlargbnjphkhdmohkwvpnwrlqsbxjjgtyptgsqorlsjkwvbxhgmysbmkacnkqrdaffxaklprtcyucqsiuduprutuodsegdxlrsghrwxofgbplwxucqsbqloynjishswdqxlatjjunqjjwkgcgmueqermgmwcbbdispqoyhvnyrkhgqgvwbueciyrskrimvlksqhjxrrxrxapixrbwveysoglddkwgifibchqupbykvbbrcugfupxmddfuefkoxkfaiyvqpludjduljjtacaidxmdonfmyenkjrbfiitmgfcgkplnaeynufcymgrdmhyxadgnarkejwklmktlabrujgbormjsymceklejbioekjpnbsgbdxgcfkgxodvwmtvxtusokymwvscaweyxomfbhxvuccriewheimvcglnfgpehboffmxykfthcdhunefpyfwbpswwcyfeweecjxscffjentodiyftrmdekjasjwojoxqdngofgphucsivhumgmosovovopnprnqwkgkxprixkajjbyclkrbvnefbphuukrjjvurauakgyvtoylsvvjxgtadwxetqjkvdraelweywatiwsatvppxnkvmpxjajlguprvyvvsvfngxknmkvckortpiwojwwdfsgeungycsitxqkxupcwodwihagfsfajnsldtotxunpgrfjavxbsonaodgylehahngnrmvevimashxmwixqrytjiicmiciheptjrfxhjsuiuqhasujvixxkvdrkkgoaxgwmdfvqnjginccbbnflinqetjyqkjitkwihxsjctbuhmkiudkvxmsnfbuulbuasyetjqhiqjsqgwbkkkifhujxawiecvmjxwfxbtpsbfghibijnwfxeyfbjghrbeeyuwjemiergpksgcxedquqjhvqnwkpxrujbiwbaopijqkmpkfgufovhoxtkindstcsogbgeyxlagossiqvtxkkmjhywdhkhpptsendhvrvvcfknhwbqodxwdpubmexfpjyrymxuwfxnliwypevmgytymbdgjjpjypqoerpdxpvviokfyvsgpwxlywuitqs"