Problem Statement
This problem is about the popular word-guessing game Wordle. Knowledge of this game is not necessary to solve the problem.
In Wordle the goal is to guess a hidden string of uppercase English letters ('A'-'Z'). In this problem, the hidden string can have anywhere between 1 and 50 letters.
The player plays the game by making guesses. Each guess is a string of uppercase letters of the same length as the hidden string.
Whenever a player makes a guess, the game tells the player how well the guess matches the hidden string. This is done using colors: the letters of the guess that are in correct place are highlighted in green and the letters that are in the secret word but at some other index are highlighted in yellow.
Formally, the coloring works as follows:
Assume that we have the secret string in the variable "hidden" and the guess made by the player in the variable "guess". A pair of indices (i, j) is called valid if guess[i] = hidden[j].
When coloring the letters of guess we will look for valid pairs of indices. Among these pairs each index can only be used at most once: there cannot be two pairs (i, j1) and (i, j2) with j1 != j2, and there cannot be two pairs (i1, j) and (i2, j) with i1 != i2.
We will create these pairs in two passes.
- In the first pass we create all valid pairs of the form (i, i). These correspond to the green letters.
- In the second pass we go through all possible i from 0 to length(guess)-1, in this order. For each i, if there is a j such that (i, j) is a valid pair disjoint from all the ones we already have, we take the smallest such j and we add the pair (i, j) to our collection. For each pair (i, j) added in this step the letter at position i in guess will be yellow.
You are given the
Determine whether there is some hidden string H such that the guess given in guess would get the colors given in colors.
If yes, return any one such H.
If no, return an empty
Definition
- Class:
- WordleBack
- Method:
- deduce
- Parameters:
- String, String
- Returns:
- String
- Method signature:
- String deduce(String guess, String colors)
- (be sure your method is public)
Notes
- In the actual game Wordle there is an extra constraint that both the guess and the secret are valid dictionary words. There is no such constraint in this problem.
Constraints
- guess will have between 1 and 50 characters, inclusive.
- Each character in guess will be an uppercase English letter ('A'-'Z').
- colors will have the same number of characters as guess.
- Each character in colors will be one of 'g', 'y', and '-'.
Examples
"HELLO"
"ggggg"
Returns: "HELLO"
The secret word must clearly be "HELLO".
"STARE"
"yyggy"
Returns: "ESART"
The two valid answers for this test case are "TEARS" and "ESART".
"HELLO"
"-g---"
Returns: "MERRY"
Note that "DECOY" would not be a valid answer here: if "DECOY" were the secret word, "HELLO" would get the colors "-g--y" instead of "-g---".
"AAAAAAA"
"gggygyg"
Returns: ""
This is clearly an impossible situation. There is no hidden word for which the guess "AAAAAAA" gets five green and two yellow letters. If the hidden word is exactly "AAAAAAA" you'll get seven 'g's for this guess, and if the hidden word is anything else you'd get at least one '-'.
"C"
"y"
Returns: ""
"CC"
"y-"
Returns: ""
"CC"
"-y"
Returns: ""
"CCDD"
"-yy-"
Returns: ""
"CCDD"
"y-y-"
Returns: "DACA"
"QWERTYUIOPASDFGHJKLZXCVBNM"
"-------------------------y"
Returns: ""
"QWERTYUIOPASDFGHJKLZXCVBNM"
"----------------------y--y"
Returns: "MVMMMMMMMMMMMMMMMMMMMMMMMV"
"QWERTYUIOPASDFGHJKLZXCVBNMV"
"----------------------y--y-"
Returns: "MMMMMMMMMMMMMMMMMMMMMMMMMVM"
"QWERTYUIOPASDFGHJKLZXCVBNMVM"
"----------------------y--y--"
Returns: ""
"STSTUTSTVTWTS"
"ygygygygygygy"
Returns: ""
"STSTUTSTVTWTS"
"ygyg-gyg-g-gy"
Returns: ""
"STSTUTSTVTWTSTS"
"ygyg-gyg-g-gyg-"
Returns: ""
"STSTUTSTVTWTSTSP"
"ygyg-gyg-g-gyg--"
Returns: "ATATSTATSTSTATAS"
"STSTUTSTVTWTSP"
"ygygygygygygyy"
Returns: "PTUTSTVTSTSTWS"
"V"
"g"
Returns: "V"
"A"
"-"
Returns: "B"
"QQQQQQQQQWERTYUIOPASDFGHJKLZXCVBNM"
"yyyyyyyy--------------------------"
Returns: ""
"QQQQQQQQQWERTYUIOPASDFGHJKLZXCVBNM"
"yyyyyyyyy-------------------------"
Returns: ""
"QQQQQQQQQWERTYUIOPASDFGHJKLZXCVBNM"
"yyyyyyyy-y------------------------"
Returns: "WWWWWWWWWQQQQQQQQWWWWWWWWWWWWWWWWW"
"CAB"
"ggg"
Returns: "CAB"
"CAB"
"ggy"
Returns: ""
"CAB"
"gg-"
Returns: "CAA"
"CAB"
"gyg"
Returns: ""
"CAB"
"gyy"
Returns: "CBA"
"CAB"
"gy-"
Returns: "CCA"
"CAB"
"g-g"
Returns: "CBB"
"CAB"
"g-y"
Returns: "CBC"
"CAB"
"g--"
Returns: "CCC"
"CAB"
"ygg"
Returns: ""
"CAB"
"ygy"
Returns: "BAC"
"CAB"
"yg-"
Returns: "AAC"
"CAB"
"yyg"
Returns: "ACB"
"CAB"
"yyy"
Returns: "ABC"
"CAB"
"yy-"
Returns: "ACA"
"CAB"
"y-g"
Returns: "BCB"
"CAB"
"y-y"
Returns: "BCC"
"CAB"
"y--"
Returns: "DCC"
"CAB"
"-gg"
Returns: "AAB"
"CAB"
"-gy"
Returns: "BAA"
"CAB"
"-g-"
Returns: "AAA"
"CAB"
"-yg"
Returns: "ABB"
"CAB"
"-yy"
Returns: "ABA"
"CAB"
"-y-"
Returns: "ADA"
"CAB"
"--g"
Returns: "BBB"
"CAB"
"--y"
Returns: "BBD"
"CAB"
"---"
Returns: "DDD"
"FEE"
"ggg"
Returns: "FEE"
"FEE"
"ggy"
Returns: ""
"FEE"
"gg-"
Returns: "FEA"
"FEE"
"gyg"
Returns: ""
"FEE"
"gyy"
Returns: ""
"FEE"
"gy-"
Returns: ""
"FEE"
"g-g"
Returns: "FAE"
"FEE"
"g-y"
Returns: ""
"FEE"
"g--"
Returns: "FAA"
"FEE"
"ygg"
Returns: ""
"FEE"
"ygy"
Returns: "EEF"
"FEE"
"yg-"
Returns: "AEF"
"FEE"
"yyg"
Returns: "EFE"
"FEE"
"yyy"
Returns: ""
"FEE"
"yy-"
Returns: "EFA"
"FEE"
"y-g"
Returns: "AFE"
"FEE"
"y-y"
Returns: ""
"FEE"
"y--"
Returns: "AFA"
"FEE"
"-gg"
Returns: "AEE"
"FEE"
"-gy"
Returns: "EEA"
"FEE"
"-g-"
Returns: "AEA"
"FEE"
"-yg"
Returns: "EAE"
"FEE"
"-yy"
Returns: ""
"FEE"
"-y-"
Returns: "EAA"
"FEE"
"--g"
Returns: "AAE"
"FEE"
"--y"
Returns: ""
"FEE"
"---"
Returns: "AAA"
"EWE"
"ggg"
Returns: "EWE"
"EWE"
"ggy"
Returns: ""
"EWE"
"gg-"
Returns: "EWA"
"EWE"
"gyg"
Returns: ""
"EWE"
"gyy"
Returns: "EEW"
"EWE"
"gy-"
Returns: "EAW"
"EWE"
"g-g"
Returns: "EAE"
"EWE"
"g-y"
Returns: "EEA"
"EWE"
"g--"
Returns: "EAA"
"EWE"
"ygg"
Returns: ""
"EWE"
"ygy"
Returns: ""
"EWE"
"yg-"
Returns: ""
"EWE"
"yyg"
Returns: "WEE"
"EWE"
"yyy"
Returns: ""
"EWE"
"yy-"
Returns: "WEA"
"EWE"
"y-g"
Returns: "AEE"
"EWE"
"y-y"
Returns: ""
"EWE"
"y--"
Returns: "AEA"
"EWE"
"-gg"
Returns: "AWE"
"EWE"
"-gy"
Returns: ""
"EWE"
"-g-"
Returns: "AWA"
"EWE"
"-yg"
Returns: "WAE"
"EWE"
"-yy"
Returns: ""
"EWE"
"-y-"
Returns: "WAA"
"EWE"
"--g"
Returns: "AAE"
"EWE"
"--y"
Returns: ""
"EWE"
"---"
Returns: "AAA"
"LOO"
"ggg"
Returns: "LOO"
"LOO"
"ggy"
Returns: ""
"LOO"
"gg-"
Returns: "LOA"
"LOO"
"gyg"
Returns: ""
"LOO"
"gyy"
Returns: ""
"LOO"
"gy-"
Returns: ""
"LOO"
"g-g"
Returns: "LAO"
"LOO"
"g-y"
Returns: ""
"LOO"
"g--"
Returns: "LAA"
"LOO"
"ygg"
Returns: ""
"LOO"
"ygy"
Returns: "OOL"
"LOO"
"yg-"
Returns: "AOL"
"LOO"
"yyg"
Returns: "OLO"
"LOO"
"yyy"
Returns: ""
"LOO"
"yy-"
Returns: "OLA"
"LOO"
"y-g"
Returns: "ALO"
"LOO"
"y-y"
Returns: ""
"LOO"
"y--"
Returns: "ALA"
"LOO"
"-gg"
Returns: "AOO"
"LOO"
"-gy"
Returns: "OOA"
"LOO"
"-g-"
Returns: "AOA"
"LOO"
"-yg"
Returns: "OAO"
"LOO"
"-yy"
Returns: ""
"LOO"
"-y-"
Returns: "OAA"
"LOO"
"--g"
Returns: "AAO"
"LOO"
"--y"
Returns: ""
"LOO"
"---"
Returns: "AAA"
"XXX"
"ggg"
Returns: "XXX"
"XXX"
"ggy"
Returns: ""
"XXX"
"gg-"
Returns: "XXA"
"XXX"
"gyg"
Returns: ""
"XXX"
"gyy"
Returns: ""
"XXX"
"gy-"
Returns: ""
"XXX"
"g-g"
Returns: "XAX"
"XXX"
"g-y"
Returns: ""
"XXX"
"g--"
Returns: "XAA"
"XXX"
"ygg"
Returns: ""
"XXX"
"ygy"
Returns: ""
"XXX"
"yg-"
Returns: ""
"XXX"
"yyg"
Returns: ""
"XXX"
"yyy"
Returns: ""
"XXX"
"yy-"
Returns: ""
"XXX"
"y-g"
Returns: ""
"XXX"
"y-y"
Returns: ""
"XXX"
"y--"
Returns: ""
"XXX"
"-gg"
Returns: "AXX"
"XXX"
"-gy"
Returns: ""
"XXX"
"-g-"
Returns: "AXA"
"XXX"
"-yg"
Returns: ""
"XXX"
"-yy"
Returns: ""
"XXX"
"-y-"
Returns: ""
"XXX"
"--g"
Returns: "AAX"
"XXX"
"--y"
Returns: ""
"XXX"
"---"
Returns: "AAA"
"SSSS"
"gggg"
Returns: "SSSS"
"AAAA"
"gyyy"
Returns: ""
"OOOOOOOOOOOOOOOOOOOOOOOOOO"
"gggggggggggggggggggggggggg"
Returns: "OOOOOOOOOOOOOOOOOOOOOOOOOO"
"SSSSSSSSSSSSSSSSSSSSSSSSSS"
"yyy--gggg-y-g-ggygggyg-yg-"
Returns: ""
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
"gggggggggggggggggggggggggggggggggggggggggggggggggg"
Returns: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT"
"g-gy-y--yy--g-y-y--ygygy-gyygg-y-yggg-yygyy--y-yg-"
Returns: ""
"GBGG"
"-g--"
Returns: "ABAA"
"XXXX"
"gyyg"
Returns: ""
"NVVNNVNVNVNNVNNVNVNNVNNNN"
"yyggggyyyygyygggyyg-g--gg"
Returns: "VNVNNVVNVNNVNNNVVNNAVAANN"
"GGGZGZGZZGGGGGZGZZZGZZGZZ"
"ygg-yygggg----gg-gggyyy-y"
Returns: ""
"XSSXXXXXSSSXXXSSSSSSSXSSSSSSSSSSXXSXXSXSSXSSSXS"
"gygyyygyyyggyyggygggyggyggygy-g-yyggggg-gg-g-g-"
Returns: "XXSSSSXSXXSXSSSSXSSSXXSXSSXSXASASSSXXSXASXASAXA"
"SSSBBSSBBSBSSBBBSBBBBSSSBSSBBSBSSSSBSSBSSSBBBBS"
"y--y-gyygg-ggyyygg-gyggyggyyyggggygggg--gyggg-y"
Returns: ""
"OOBB"
"gg-g"
Returns: "OOAB"
"OOVV"
"ggyg"
Returns: ""
"RRRRRVVRVVVVRVRVRVRVRRVVVVVV"
"ygygygyggygyygyggygggygygy-g"
Returns: "VRVRVVRRVRVRVVVVRRRVRVVRVRAV"
"AOAOOOOOAAAAOAOOAAOAAOOAAAAO"
"--g--g--gg-yyg--gg-gggggy-gg"
Returns: ""
"IIICCICCCCIICCIICICCICIICICCICCICIIIICICCIIIIIIC"
"yyyygygyygygyyygygyggggggyygggyggygyggggyyggg-gg"
Returns: "CCCICCCIICCIIICIIIICICIICCICICIICCICICICICIIIAIC"
"PPKKKKPPPPPKPPKPKPPPKKKKPPKPPKKKKKPKKKPPKKKPPPKP"
"g-g-----gyg--gggg--g-----g--yg--g--g----g-------"
Returns: ""
"QMMQ"
"yy-g"
Returns: "MQAQ"
"GGGG"
"--g-"
Returns: "AAGA"
"BTTWWWWTWWBWWTWWWBBTWTT"
"yyygyyyyy-y-gyg--yyg-yg"
Returns: "TBBWBBTWTTTAWWWAAWWTAAT"
"ZVVVRZVZZZZRZVZRZVZRRZR"
"ygygggygggyyyyygy--g-gy"
Returns: ""
"FFZZUZZUZFZUZZZFZZFFZUZUUZFZUFZFZZZUZFZZZFFZZUUFZ"
"yyggyyyyggggygyygggyyy-yygy-gy-g---yggg--gy--ygg-"
Returns: "UUZZFFFFZFZUFZFUZZFUFZUZZZUUUZAFAAAZZFZAAFAAAAUFA"
"LHHKHLLHKLKLKHHLLKLLKHHKKHHHHHHKKHHKKKKHKKHHHHLHK"
"ggygyyggygygg-yygygyggyygggggygygygggygygyggggygy"
Returns: ""
"EEZZ"
"--gg"
Returns: "AAZZ"
"PPZS"
"yyyg"
Returns: ""
"RQUURQUURQUQQQURURQU"
"yyyyyyyyyggygy-y-g-g"
Returns: "QRQQQRRRUQUUQUAUARAU"
"UOUUOOOOQUQQUUOOUUUQ"
"yg--g-gyyg-y----gyy-"
Returns: ""
"RRYIIYYRRYIYYIRRYRYRRIIRIIIYRYYIIRRYIYIRIYIIYII"
"yyyygyygygyyygyyyyyggygyyyygyyygygy-y-ygygygggy"
Returns: "IIIRIIIRIYRIIIIIIIRRRRIYRRRYYRRIYRYAYAYRYYYIYIY"
"FQQFFTFFTQTTFFFFTTFTFQFTFTFTTFQQTFFTFFTFFQQQQQQ"
"y---g-y-yy-yg-gg------yyy-y-g-gyyy--y-y-yyyyyyy"
Returns: ""
"MJMJ"
"----"
Returns: "AAAA"
"HDDH"
"--gg"
Returns: "AADH"
"CCJZCCJJCCCVCCJJCCCCCCVCZJC"
"gyyyy-gy--gg-gyg------y-yy-"
Returns: "CJCCJJJVJZCVZCAJAAAAAAAAAAA"
"QCPAQCQQCQQAAQQQQPQQPQQQQQQ"
"-g-ggggg-gggggggygygg--gggg"
Returns: ""
"PZQZPZZPZQZTZZPZZZQQPZQQZTZZZZZZZTPZZZZZZPQPZZPZZ"
"gyygyygyygyygyyyg-yyy-yygg---g---yy-----gggy---g-"
Returns: "PPPZQPZQPQPPZQQQZTTZZAZZZTAAAZAAAZZAAAAAZPQAAAAZA"
"IWWIIWWWIWWWIWWAIAIIWHHWIWHWWWHWWHWHWWWIWIWWHWWHW"
"-gygg--ygggggg-yygggggggyg--gygy-gg-yy-gyyyggg-gy"
Returns: ""
"ZZQZ"
"--y-"
Returns: "QAAA"
"LLCO"
"----"
Returns: "AAAA"
"DRKDDODRRDROODRODKKODRDROD"
"yyygyyyyy-yyg-yy-yygg-g---"
Returns: "KDDDKDKOOOARORARRRAODADAAA"
"HHTIIEEEEHHEEIHEHEHHETHTTT"
"y-yy-ggyyggyyg--y-gg-yyyyg"
Returns: ""
"ULJUJULTUJULLLUTUJJTUULJJJLLUTTLUTLTTJLTJUJJJTJ"
"ygygyyyyyyyyyyyyyggyygyyyyyggggyyyyy-yggygyyy-y"
Returns: "JLLULJJJJLJJJJJJJJJLLUTLLLTLUTTTTUTUUULTUUUUUAA"
"CUZUIUZIIIZUUIIZCZZCCUUUCUUUZUZIUZUICIIIUZZZIIU"
"yyy-g--yyggy--y--y-yy-gygy-ggy-y----y-y-yyyy-y-"
Returns: ""
"AAAA"
"----"
Returns: "BBBB"
"YRYM"
"-gyg"
Returns: ""
"TRRMTTOBTJMTOTTTTOTTOXTRTTT"
"-y-y--yy-yy----------g-g---"
Returns: "BJMOMRAAAAAAAAAAAAAAAXARAAA"
"AEYFEFAFHFFFCQAFCFQFQFFFYFF"
"ygy-yggg-yg-y-y-g-gyygyyy--"
Returns: ""
"PWPWAPPFNPFFPPAPPPPWPAPPBDPPPPPFPDTPPPPPAPWPBFPTCN"
"gyyyyy--g-----yg--g-----yyg-g-g--yy-g---g-g-y--yyy"
Returns: "PAABBCDDNNPPTTWPWBPBBBBBCBPBPBPBBBBBPBBBABWBCBBBBB"
"FXFTFFWFIFFSFGWFFTTFQTIFFDTFDSFFQFWFDFDTFXFDXVFFGV"
"yyyyygyyyy-g-yyy-yy-y-yyyy-yyyygyyyyy--gy-yyy-yyyy"
Returns: ""
"QSUE"
"g---"
Returns: "QAAA"
"ZGLB"
"y-g-"
Returns: "AZLA"
"MBHOIOZYHIBHHHLLHYYHYYGZZ"
"gy-yyyyy--y---yy------ygy"
Returns: "MGBBLILOOYZZAAAAAAAAAAAZA"
"SOABMUNVBLAANMMMNVSTTASAO"
"g--ggggggg-ggggy-ggggy-yy"
Returns: ""
"NDFORINRNERMFFRIWDFIFRGMWWGNDOFINRMIEFFMEDMONIFD"
"yyyyyyyyyyyyyyy-yyygyyyy-gy-yy----y-y--ygyyy---y"
Returns: "DEDDDDEFFFFFGGIMMMMIMNNNOWOORRRRRWAAAAAAEAAAAAAA"
"VHIGPGRHPEGHRHGBLEVEVHIERRJEVJHVRLJGPBBRLBBPGRVE"
"-yy-yg-yy-gg----y-g-----g------gyyg-g-yggy-y----"
Returns: ""
"FFFF"
"g---"
Returns: "FAAA"
"EUZE"
"-g-y"
Returns: ""
"YAWOWWCZWWWZWWXJWUZNWTF"
"-yyy----------yy-y----y"
Returns: "AFJUOXWAAAAAAAAAAAAAAAA"
"SIVSSSEIGRSWSSSOSSFSBZS"
"y-yy-gyyyyyggyy-ggyygy-"
Returns: ""
"SGSSSOBSTCIJSASHSSSSLSSXSELSSOISSSPALSESEHSESSE"
"-y---gy-y-gygy-y----y----yyg--y---yyygy--y-----"
Returns: "AABEEOGHHIILSJLLPTAAAAAAAAASAAAAAAABASAAAAAAAAA"
"VHHJRDHSHBKHOPHSHHIJHFHYJPKHHQZHHHHHHHBBIHHMWHV"
"-----y--yy-yg-gggg-yyygygg--ygyyg--gg-g-g--gg--"
Returns: ""
"BPRJ"
"--y-"
Returns: "RAAA"
"RCRE"
"y-yg"
Returns: ""
"EJCRJHXYPZATHDONJESTEKM"
"y-yy----yy-y-yyy-----yy"
Returns: "CDEKMNOPRTZBBBBBBBBBBBB"
"XUTNPZMQIBUNHOAOZEWERFK"
"-y--ygggy-yg--gyg-g-gy-"
Returns: ""
"QMBMTLYUJKYIBITQJWBIMBGUVAHOXEQDQEEZNWWQXIQFLOE"
"yyyyyyg-yyyyyyy-yy------yyygyy-y-y--yy-----y-y-"
Returns: "ABDBEEYFHIIJJKLMMNOQTTVWWXYOAAAAAAAAAAAAAAAAAAA"
"IZDXEYHYGTDWXPTHAGBZGDFUWKHMQXNRVKSFTMQBTILJDDX"
"yyy-yyg-yyy--yy-y-gyyyy--gyyyygyy--yy---y-yyggy"
Returns: ""
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
"yyygygygyyyyygyggyyyggyyyyyyyygyyyyy-----g--g--"
Returns: ""
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
"gyyyy--g------g----gg--------gg-g--"
Returns: ""
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"yyyyyyyyyygyyygg----------------------g-----"
Returns: ""
"WWWTTWTWWWWTTTWWTTWTTTWTTWTWTTWTWWWWTWTWWTWWWWWWW"
"yyyyyyyyyyyyy-yy--y---y--y-y--y-yyyy-y-yy-y------"
Returns: ""
"TNTTNNTTNNTTNTNTNTTNTTNTNTTNTTT"
"g-ygg-gy--yg-y----gg--gggg--g-g"
Returns: "TTATNTTATTATAAAAAATNAANTNTAATAT"
"STSTSTSSTTTTTSTSSSTSSTSSSTSSTSTTT"
"yyyyyyyyyyyy-y-yyy-yy-yyy-yy-y---"
Returns: ""
"YYYEEEEEEYYYYYYYEEYYYYYYYYYYEYEYYEEEYYEEYYEEYY"
"yyyygyyyyy------yyg--gg-----y-y------g--------"
Returns: "EEEYEYYYAEEEEEEAAAYAAYYAAAAAAAAAAAAAAYAAAAAAAA"
"MGGMGMMMGGMGGMGGMGGGMMGGGMMMGGGMGMM"
"yyyygyygyyyyyyyyyyyy--yyy---yyy-y--"
Returns: ""
"OOGGOOGGGGOOGGOGGGGOGOOOOOOGGOGGOGGOOGOO"
"yygyyyyyyyygyygyyyyyygygyg-gg---g-g-----"
Returns: "GGGOGGOOOOGOOOOOAAAGAOGOGOGGGGAAOAGGGAAA"
"OHBOHBHHBOHOHHHHBHBBHOOOOHBBBOOBHHOOBBHHHOBHOH"
"-yy-yyyyg-y-y---y-gy-g----y----------g-g-g----"
Returns: "BBHBBHBABHAHAAAAHABHAOAAAAAAAAAAAAAAABAHAOAAAA"
"MEMEEEMENENMMEEMNNEEMEEENEENEMEMNEMEMEMNNEMENN"
"yyygyyyggy-yg--yg---y--g-g-gg--g--g---g-g---gg"
Returns: "EMEEMMEENMEAMMMANAAAAAAEAEANEAAMAAMAAAMANAAANN"
"HOONOOHHHHNNHHHHHOHOOHHNNHHOHNNONOHNOHHOHOH"
"gygyggggyygyyyyygyyygyygyy-y-ygyy----g----g"
Returns: "HHOHOOHHNNNHNNNOHHOHOOONHOAHAHNHHAAAAHAAAAH"
"XEEEOEXXXEXOEOXXOXOXOXEEXOOEXEEXXEEOEXEXEE"
"gyyygyygyyyyygyyyg-ygyygy--yyy-yyg---yg---"
Returns: "XOOXOXEXEXEEXOEEEXEEOAXEAXXXAXXAAEXXAAEAAA"
"RXRRRVVXRXXRXVVXRRXXVXVRVXRRXVRVRRRRRRRRXRRVXVRRRX"
"yyygyyyyggyyy--yyygy-y-y-gygygy-yyyygyyy-y-------g"
Returns: "VRVRXRRRRXRXRRRRXXXRRRRXRXXRRVXRXAAARAAARAAAAAAAAX"
"ZOOOZYZOYOZZYOZOOYZYZYOOYOZOOYOZOZYOOZZOZZZZOZO"
"yyyyyyyyy-yyy-y--yyyyy--y-y--y-y-yy--yy-y------"
Returns: "OYYYOOOYZYYYZYYZZZAZAZZZZZAZZZAAAAAAAAAAAAAAAAA"
"ZZQSGGGQZZGZGGZZZZZQGZZZSZQGZZSGZGSZSZ"
"gggyyg-ggy-y-ggygyyy-yy--gggg------g-g"
Returns: "ZZQGQGSQZAZAZGZAZAAZZAAAZZQGZAZZAAAZAZ"
"EBEEBBBBUBFFBEUUBEBUUBBUFBFFBBEBFUUUEBBUUEEBUFEBBB"
"ygyyyyyyyyyyyyyyyyyygyyyyyyyyyyyyy-gy-------gy-g--"
Returns: "BBBBEEEEBEBBEBBBEBFBUFFBBFBUFFFUUAAUUUUAAAAAUAABAA"
"LKKUUUKUUUUURLRULUUUURUUUUKUUURULUUKKRUU"
"y-gyyy-yygygyg-gygyyy-gyyy-yg-g-y-------"
Returns: ""
"PPZBZBMMMPMPBPMBPPBZZPPZMPZPPMMZZPMBBBMMZBBBMZB"
"gyggyyyyyyyyyyyyg-yyy--yy-y--y-yy--------------"
Returns: "PBZBBMBBPMPMMMPMPMPAAZZAZZAZZZAAAAAAAAAAAAAAAAA"
"MGAAMAMAGGMMMGGAMXAGGXMMMXXXAMAMXXGMGGAMAMG"
"yyyyygyygyyggyyyyyggyygggyygy-y-y--g--yg---"
Returns: "AAGGAAAGGAAMMAMGGMAGMMMMMMBXXXXXBBXMBBBMBBB"
"AAAAWAWBTAABTWWWBATAATTAATTWATBTBWBTTWBTBTBTBTA"
"yy--y-yyyg-yyy--y-y-ggy--yy--yyyy-yyy-y-y-yg---"
Returns: "BBBBABATBABTBBTTTTWTATWTTWCTCCCCCCCCCCCCCCCTCCC"
"BSHBMJPBBBBBBBWJBBBBBBHKBBBVBBHASBMHBBB"
"yyyyy-yyyyyyyy--yyyyyyyyyyyyyyy--y-yyyy"
Returns: ""
"BWAAAZAAAZAAIAKAWALKAHAIAAAIAAKAI"
"gyygyyyyy-yyyyyy-yyyyy----gg-gyg-"
Returns: "BAHAIAKKKALWAZABABAABABABBAIBAAAB"
"YNOYJJFXKYYYYDYYKXYYZYZNXYXYYXYONXXYJYYYUDZYOYO"
"ggyy--yyyyyyyyy-yy--y-yy-------yy---g----gg-ygy"
Returns: "YNDFKKNNOOOOXXZZYYAAYAYYYAAAAAAAAAAAJAAAADZAAYA"
"KGFUGKUXZUWXWXFMGWWKLWLMWKFWUGKDDXGFGUUF"
"yyyyyyyyyyyyyyy-yyyyy-y--yy-y-y--y-y-y-y"
Returns: "FFGFFFGGKKKKKLLUUUUUWXWWXWXXZAAAAAAAAAAA"
"LYWEEJJWLAYWWLYJWEWKKYQPKQPNQLWNLWEYKPKEJANEYQAEW"
"yyyyyyyyyy-yyy-yyyyyy--yy--y-yyy--y-y-yyyy-------"
Returns: "AAEJJEEEEJJKKKKKLLLLNNPWWWWWWWYBBBBBBBBBBBBBBBBBB"
"BBZZHSJJASACZCCAZZOBJVSJXHJHHCOAOHVOOZCA"
"yyyyyyyyyyyyyyg-g-ygg-yyyy-yyyy-yy---g--"
Returns: "AABBCCCHHHHHJJCJZOSBJOOSSXZZZBBBBBBBBZBB"
"IGIBIIIEVCIOIIMRIYIQIIDIWZHSVZKNLHIIRIPIII"
"yggggyyy--gyyyy-yyygyg-g---g---yy--g--gg--"
Returns: "EGIBILMIIIIINOIIYIAQAIIIAAASAAAAAAAIAAPIAA"
"QAABJQEBQQZQQWQQYGBQXQVQTMQEQWQQTQTQXMQFSQU"
"gy-ygy-gyg-yyyygyg-gyy-yyyg--ygg---g-g--gg-"
Returns: "QBMAJTQBWQQWXQYQQGQQQCQCCCQCCCQQCCCQCMCCSQC"
"FEPATWWOEEECEEEEOEELEEEEEEUEEYEMETMEZOEE"
"-gggyygy---gg-g-y-----gg--g-----gg-g-y-g"
Returns: "OEPAOOWTWAACEAEAAAAAAAEEAAUAAAAAETAEAAAE"
"JDNMPBUHYXDYYBPCRQHKWIOXBWWCVSXRE"
"-yyy-yy-yyyyyy--yy-yy--yyy--yy--y"
Returns: "BBBDDEKMNQRSUVWWXXYYYAAAAAAAAAAAA"
"REZRMVSZDCBQSJVHQERUJXFYKDANPHD"
"yyy-g--yg-gy-y-yyy--gy-ggyyy-gg"
Returns: "ADEEMHJNDQBRQXZZAAAAJAAYKABAAHD"
"XTDXYCUNKZEFBJXLZMNNGECCUUQBRJLGLQKRWJFKDYWZTMFFB"
"-gy--gyyyg-y-ygyygy-y-gggy--y-ygg-yy--g-y----yyy-"
Returns: "DTFDFCFGJZKKLLXMNMRRNUCCUZUAAAAGLAAAAAFAAAAAAAAAA"
"QWERTYUIOPASDFGHJKLZXCVBNMQ"
"y------------------------y-"
Returns: "MMMMMMMMMMMMMMMMMMMMMMMMMQM"
"QWERTYUIOPASDFGHJKLZXCVBNMMMMMMMMMMMMMMMMMMMMM"
"y------------------------yyyyyyyyyyyyyyyyyyyyy"
Returns: "MMMMMMMMMMMMMMMMMMMMMQMMMQQQQQQQQQQQQQQQQQQQQQ"
"QWERMMMMTYUIOPASDFGHJKLZXCVBNMMMMMMMMMMMMMMMMMMMMM"
"y---yyyy---------------------yyyyyyyyyyyyyyyyyyyyy"
Returns: "MMMMQQQQMMMMMMMMMMMMMMMMMMMMMQQQQQQQQQQQQQQQQQQQQQ"
"HAHAHAHAHHHH"
"y-y-y-y-----"
Returns: "BHBHBHBHBBBB"
"HAHAHAHAHHHH"
"y-y-y-y-y---"
Returns: ""
"IPZZRZ"
"ygg-yy"
Returns: ""
"QWERTYUIOPASDFGHJKLZXCVBMN"
"-------------------------y"
Returns: ""
"BCDEFGHIJKLMNOPQRSTUVWXYAAAAAAAAAAAAAAZZZZZZZZZZZZ"
"------------------------yyyyyyyyyyyyyyyyyyyyyyyyyy"
Returns: "AAAAAAAAAAAAAAZZZZZZZZZZZZZZZZZZZZZZZZAAAAAAAAAAAA"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"y-------------------------"
Returns: ""
"AAAABBB"
"yyy-yy-"
Returns: "BBCCAAA"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"--------------------------"
Returns: ""