Problem Statement
A spell checker must use some way to determine which words to suggest when a word not in its dictionary is encountered. This is usually done by some sort of distance metric that determines the distance between two words. The words that have the least distance are then suggested. Your task is, given a dictionary (as a String[]), you must determine which word from the dictionary is closest to the given word, and return the distance between the two words.
Distance is calculated as follows:
- Change a character to another character: +1
- Insert a character into the given word: +2
- Delete a character from the given word: +3
However, because people usually do not leave out or insert more than one character, your method may either insert or delete one character at most, but not both. However, the method may change letters in addition to adding or deleting.
If no words from the dictionary have length within one of the given word, return -1.
Definition
- Class:
- Spelling
- Method:
- distance
- Parameters:
- String[], String
- Returns:
- int
- Method signature:
- int distance(String[] dictionary, String word)
- (be sure your method is public)
Notes
- If the dictionary is empty, return -1.
Constraints
- - Each word in the dictionary, and the given word, will contain only the lower case letters 'a' to 'z', inclusive.
- - Each word in the dictionary, and the given word, will have between 1 and 50 characters, inclusive.
- - dictionary will contain between 0 and 50 words, inclusive
Examples
{"topcoder"}
"topcoder"
Returns: 0
Perfect match.
{"topcoder"}
"tppcoder"
Returns: 1
One character mistyped.
{"topcoder","topcod"}
"topcode"
Returns: 2
When multiple dictionary words could be the match, pick the one that scores lowest.
{"topcoder","appirio"}
"aqpiri"
Returns: 3
One missing character, as well as a changed character. (p->q, and the o is missing from the end)
{"topcoderevent"}
"appirio"
Returns: -1
No matches.
{}
"hyp"
Returns: -1
{"eaesqnxpqfnt","eaesqnxpqfnt","vx","toyuxcjbdlqcdezngahj","lelwwgqbxniwtyfhdotacgjunhhedxaoo","hkmyavsafyhfjfufdloioevripzlyamuiaquv","nxhcaknhxbk","upagecpvplwhcfmnxjpzkxxqaldkdarybafxucwnezpcba","v","akomknwrjftyfrouyfbaotvmbvkivpzlimdqclrnifkwcoz","bidvyvjhoblocowuf","eaesqnxpqfnt","gnlen"}
"iaesqnxpufnt"
Returns: 2
{"ejqqvygucqxhjdqyqrysa","iewuwdjbxljckkmbhpavqcgzfwfgcgi","kcsdmn","ejqqvygucqxhjdqyqrysa","ksoszfxwpayczrdgrhriptkkbbivswulvevposcmgpyesr","cgbstbbirieqyxbesfmguwnryefcz","frkmfprebjtwehkbepekfzgkufsjtpwzivdmglrmm","ecmysggxzqyppglaszwhlmnuniexv","xrxrvdxvnmcvpgatgxbgtsqedrpslkcicgsgr","ejqqvygucqxhjdqyqrysa","mngnfykhtxnizlwotzrtucldzutziehsvogfbzoexe","f","xgnrfqyaoakbdokeky","ejqqvygucqxhjdqyqrysa","ngkpokviaswomskhvinxycvaicgximpignijrqgrsxhkrufndo"}
"ujqqvygucqrhjdbyqrysa"
Returns: 3
{"xtutezkzmwzhjvnvwthdmfccydo","ekhldxaodohxkaqqbvebuk","okchjeehnnbiughjfbdfbrqsuakhxmgzgqhds","ekhldxaodohxkaqqbvebuk","zeqqrzhx","ekhldxaodohxkaqqbvebuk","pgcittrltweotfxenqqtitqqirywauvtpf","hrozzqgwozuwuuz","ekhldxaodohxkaqqbvebuk","jvpmacuvlzalzoypmzqrcbwcqouebatqcuwlsfowe","vxnouiwenbozshymwmhqtkfkjfrmxhkumggzpbtmhx","sbccomfjcoockscfpqjhfqumlb","ekhldxaodohxkaqqbvebuk","ekhldxaodohxkaqqbvebuk","ekhldxaodohxkaqqbvebuk","ekhldxaodohxkaqqbvebuk","dwefkxiphthfefrnitlzxpgcfozjzk"}
"kkhldxaodohzkaqebvebuk"
Returns: 3
{"vekitzszvqrdzropczwxzpxefnqtwqdodgctvt","inhrpldhgtcurwxgumxupqgxhhzfuzaqdllrbs","tvywlofli","wfgradshjjimynhtlqfkgfbhdyrtujc","qpyttzditkriwhwlpscofyjrdzoblzmahlwipnamnxq","nslvcgdcgoqrggpukbwuxrbklnwbrqahhndlnszfvk","sveciygbmbwyvqbkokckqniksdegsbqznyjpgl","dlooglpiumhlvtadfmtkfuajlkx","xhmdcwyzbzczdujtkpvfmu","cmbijlec","neknadjyubbfjugkkgyvprycdjqbnpnwwhlykwtgg","llsytsuyyfggfvghjqnhkeneiciiaomrptgmkeqygpri","qbpscmdtylgyoprjmxktormptxeaoavn","vekitzszvqrdzropczwxzpxefnqtwqdodgctvt","znwpypurhpbypay","hcfxqttzxq","vekitzszvqrdzropczwxzpxefnqtwqdodgctvt","yxryfkyjksdsagrn","vekitzszvqrdzropczwxzpxefnqtwqdodgctvt","xpbfmbdtpjocark","blrvbgyvgfibeukieq","rnymelpwvirzqbyir","vekitzszvqrdzropczwxzpxefnqtwqdodgctvt"}
"vwkitzszvqrdzropczwyzpxefnhtwqdodgctvt"
Returns: 3
{"gsafmtfykrbhzfmkzbvcuohiderqw","gmtjzaajjgayzrrnetazmjijurkschbpcrkoop","ekjsvdxmqmkd","x","xgxekoiqhgbflwigczpopovrthzcub","hdafknkeaxucjpjrygjoqkjz","ekjsvdxmqmkd","oqvmmbkqawlmvwtaxzizblsyvpvighhqwvwtevyda","oiluzxhktzkstdywqxgcktpv","ekjsvdxmqmkd","qezxhoszguehpjphibofhpmwhfowyhanaqxwq","thviyjylfypuownplascqbavbytqgymsqiihkzqcyvaphdtdzl","ekjsvdxmqmkd","fglxefogfmjpeubk","ekjsvdxmqmkd","ekjsvdxmqmkd","ekjsvdxmqmkd","ttkulgvwbwnxnowbzezijjfehkaxsorvrqfnvnosmvmnjx","ekjsvdxmqmkd","ekjsvdxmqmkd","uikxoiwcvzpanmorzhr","dwhcengyanvkbrlqtprjjtnipkctixxkdt","ekjsvdxmqmkd","ekjsvdxmqmkd"}
"xkjsvdzmjmkd"
Returns: 3
{"mpwyrernkmvxfanytupclisrnwawodmttpwvrcjrbqiqmgo","pexrgnnexflv","vyhzbdqer","qkybuzbfhiugkgu","gbrymromgrbqkdxaxwggimsev","dnjoobeowontvzwmudxludktjnzoeujndmnbcsdalwgjnebgjv","ogkfacqeabqkbezpimvjczxzywagfmseid","gtgnymndzvlffnosuomopjkhdcjzoilbyjtwcywxp","yemrvsqtxpwofxizkwcnpqjkgvurqvroytlgvlgrivl","ejevocoauchhublaxzccxiqmmbeyqletfngwrydngrt","mdmtzftjsixwtsjmypkjxncgvojzwovgotzipkzkrua","pjdypqprhjyyafxlwunenrhzsbwnqzsdmgrllkkfzey","eobbvtdtcxdtqddqlw","ixcdgoubahrvmunmzmkifjsdertladmuwpxtjidvlxer","aomwaoamyrzfyzouiaxuwzwxu","riowhf","qedg","zolixyyokjpbcxgwqarpcyxsycktd","ulotaijocyygshtnu","yfadlqmbrtjvnekbodmj","ymbytqvfpylhauyirzyhyqpehktvqtpaknasyeszqwcu","nnjmtwdocxhxwrixapvikwmufjnhyqcnvguxjixwmmipsvcm","cqghloqaphjjwplutbqx","nrsywxoxckhawwawgjrdwu","nnp","xuytmozpyoipqcdmxbiatlynsytosqelhbqceqvlxgch","ubbtiemepcmwlbnvkwijxhplbigfwcniqoxwsvklsgsyeft","hqnjtyammqsaxghmpdfwercpmwrrp","hvosxgpdpsnkkcdknlyfjaaxkqnxxxgj","viwlfibwmonitgalcifskhgvrhhsrfslenptgyidxixmn","qknluoarmocbtxbjfgwbefrhfdacv"}
"lobbvtdtchdtgddqlw"
Returns: 3
{"sqreqqbzpzhytdwsfdzztpmqpwhknexjeuyvtgcofry","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","hfognwqtlaxaayufakqxmjgdxhetpgiif","uefvdqmjzbpocykzsl","vdyz","jfrwdespurepzehzkdjfni","giqowgjfwf","myzpfuiatktvzoeclaouxaalonqvilmijfriauy","wnpumnraseyfhlwmxobsemriyllt","vbqcaxjlgybvqdemhayielmtfkjwhvbbxdxcidhnnbqp","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","jmvqkmlrjpwwpomelxzyngceetk","dvwtiwzklfqomlnmlgrzaxfsayadkrmqcpootdotoc","fgkmbspsyclugqdskvwautzmwxzshsxlyezl","lzluynoruhxpldyscymhyqetwkgezwb","scywkfvflvbpbdwoztwgmervusxnhjryfg","ifbhwchvdoprtorfgavenkcbsihxbddjvfnjxmzdeiohfa","zqelxkbk","czonvkuzlfvnaiiuasaewvwrehgwsfyuvpgxxmiunpvzfqy","wrwsbfbgdwjndxh","gbslbkwojfq","axmojzaajgsqnau","duq","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","iliavclzd","cedybixqmmufo","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","leioozpaywsxcxtpzllikicsyatfethhqokipeguge","anqmmjhpifqlc","ppnf","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","wxeybadhgaospwj","kdkx","yhuepofazkizxnxaqiglfezglbfwarcxqjyqjummxggqgtrj","buudmsthosniiaihkioohr","vunzyjzskvlywhtdqejubzdpgyiwkdudjyyjztuyoad","xblzqexkywuwrysaadhhahoyjk","wjkgawqre","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","nq","abgonrxbbqcbuhscwpmvhaecrzsafejrxkbrvm","gnruvnlsinxelb","laxdwnzxwxgkdjgbhjhfhqfioghjmhzyqcyburqth","ierwffkdlmaaqeekcndxqlklsfgqoyvleitrgee","qvjtlzyhaqeuvpcgfcbmsffyhkgxxfaboxwalvdqihkytnx","iybmscflpkmbsakvqdgyscvj","kdkugfumupydnjmrlkajbxixpiqgztgcrnhyvqjfspyllsctth"}
"icrwffkdlmaaqeekcndqqlklsfgqoyvleitrgee"
Returns: 2
{"b","ex","ex","ex","azuxclderonsmluimhagiixhhzrmxdmuljbalkbvbbkdj","wyorakkoprbnpctrhncsgcjt","bgefgxuyvdtygcbkxukzyuybjtwbqftouuzdfjiuhouz","t","ex","ex","ex","ex","vjbnfjbevosyvwpcokcczrwebwhfacdxfzrfzimmajz","ex","dnxljbvdskvsvfkdfxpcprrisnnznagwfcnrbxdkeghtz","nnvkvzlyhlwotwnwqseyntrtbiufxjkx","ex","opbdtvcinffaxazgrvnsonxngypype","iotvhhygebtrbfgwbvgmlipbb","ex","ex"}
"iw"
Returns: 2
{"uewosqkh","eqzbyxaqlps","rnxmzvkpnhhyfvwpybez","wjnvzxjjmlcufadnuhrqopmfggvmqthxbmudjraxagawed","eqzbyxaqlps","eqzbyxaqlps","hxhosbwssefssgzddgt","eqzbyxaqlps","n","eqzbyxaqlps","eqzbyxaqlps","iepzuqjurtgpqyffvvriajewgoolswxlnhjkzfsxijjus","eqzbyxaqlps","eqzbyxaqlps","bixdrzlqnezqoqjykgpmtcxekaeqxpkmjgaofjehylmglt","eqzbyxaqlps","eqzbyxaqlps","mymjhieyyrzwjtzdhngtjjzkfo","hlovkpdevdzafvqmwxfskmmgyxzddyc","eqzbyxaqlps","eqzbyxaqlps","fuyiwnqzbwawhmxdcahymvhmymvbkfupdxncoaycrg","iylfpzpudfbjknmkkroovclskzvp","eqzbyxaqlps","eqzbyxaqlps","eqzbyxaqlps","txnfnfoqpuxeruozrushmwfiuduopgyqqnwzgnddttkfgotg","eqzbyxaqlps"}
"jqzbyeaalps"
Returns: 3
{"ksdfzxllsxjtcxhrdywtakpcfufbkequliopy","tvhgjmqgnkeoikgosacaafskangohujrthebmubdmz","uxwwgnxpomxvod","fvfbysbmuaffcyzzobyxmerabkeufwmpyoofxkaoskbvah","rpnitpfkbefaooghyophnjtbebkeccvztonfrnsasd","arklzmcdglahhvlesfaiyighz","bpk","pokwtktpkszyonshfjgizvrvorkcmykmtkvlxkcbkdu","oetmzbfjonqqyxubzxbbtstsqjzapimflid","clhmfdsgkugeywajmpxsoudsdroboicbb","aiavtqahhaledatoctdhciiojopqsbsfcevriq","oetmzbfjonqqyxubzxbbtstsqjzapimflid","oetmzbfjonqqyxubzxbbtstsqjzapimflid","vjhindrwepfhrgtbwokguukafuvueaebbxj","xtlakigirifqmfpmqcwbyhdtixsdlegtwudccjvlnciwpfhzl","lzaiaqqrsnqdxnbltrbmjggknwygedptstt"}
"ontmzbfjonqqyxubzhbbtstsbjzapimflid"
Returns: 3
{"erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","pymwzcrrfgqnhsybmnscpalrmg","vdzucacfdlflvijwttrlqzg","erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","wnulfrqqvsenurhffgdfqudlvrkwwoxvzsiytbzveal","erivkfvvdlqxxhesqvesjnoy","ncijmdgiapistpgxme","ieimgnkmmpkgeqisieagmiipqtrpagihpilefpbvbrusqjec","erivkfvvdlqxxhesqvesjnoy","sdfevnqzhppfdipwqwkimuozhe","erivkfvvdlqxxhesqvesjnoy","fwqyekphsyudapwfxcsfptswrviqgd","erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","porylagbmjek","phumjyaezzidhjgzfzmrgvtba","erivkfvvdlqxxhesqvesjnoy","vmzriootabpoiudqzcgjrtguotm","erivkfvvdlqxxhesqvesjnoy","efesgyjhqmqwcgfcpchwhqioomihklpxy","erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","ruwltknpxqaflnvmqfomsikonwa","vv","whqzxslfyjgqopbipbykomgujjiywkmubreyunxtfzqdmrvyl","kzxklkavqnkninwloxldnbdefov","erivkfvvdlqxxhesqvesjnoy","m","qguxzxjjrrdgbcyniaivsfwoxnyzbbznkoxqrgndtvnxs","hppveirqeljfzmzkiqrpwmehwbmebxrzwbgikfwqwtj","hlgbejnxfdzukhycwmohtjjxg","actbtdcsalvlaskuttclxcguujecsxciu","jkeejvrshnhlmwwzpqvusxwzgj","azcimqmjzqpjgtfvsnixhfthlnaumofxzwrtefvuznxjagpbnb","lxmrugu","erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","erivkfvvdlqxxhesqvesjnoy","sbxyuikpax","erivkfvvdlqxxhesqvesjnoy","emuqlwjzdcjnbehdpsbsfgh"}
"krivkfvvdlqxyhespvesjnoy"
Returns: 3
{"defxfelxamlgbjxssbqqpuaforev","defxfelxamlgbjxssbqqpuaforev","vueholzqetcjds","wcjfjyngmubtawklylbloimbrdlylnv","oxsbtzehhosmnrztuhexbgbnphnfnpuyzhfceisy","tdzqaoaeredjx","hwellmzusutnglxplpfrhdbxptnbwkqpboyf","defxfelxamlgbjxssbqqpuaforev","dulsannjcccsaqapldfkwclxfshzecpasqntfxoufa","puiduyejoxaz","jnm","defxfelxamlgbjxssbqqpuaforev","defxfelxamlgbjxssbqqpuaforev","defxfelxamlgbjxssbqqpuaforev","defxfelxamlgbjxssbqqpuaforev","defxfelxamlgbjxssbqqpuaforev","defxfelxamlgbjxssbqqpuaforev","csqvxfxfcykx","kzkpjdfrufwrkfwqzpttlmzggubqtaskezwuqdswjoi","defxfelxamlgbjxssbqqpuaforev","wxwkxelmcibqdyjtbpztnudvupoahrbrxpfkutmtorfgzyvvcs","defxfelxamlgbjxssbqqpuaforev","fvowwwutxogf","defxfelxamlgbjxssbqqpuaforev","ctddqnxfsnvnpebbekojfexccjuwhrnruudlflmq"}
"dwfxfelxamlgbjpssbqspuaforev"
Returns: 3
{"aaesvbpwsyxqrtgummeyuqqcaefpeleyspkqdwbojqixqdx"}
"hs"
Returns: -1
{"gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","mjxh","gevncejjbsqwzshxzyciqqplqpehsm","ddonijbryi","zjjumohhzjqfhjwukjnejixwzgrflsdifwf","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","pexvzubcgbveejcsfkiagkkyx","zsnxdnvamfeenyuyovfijirixwligftzy","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","fkadikiqgv","gevncejjbsqwzshxzyciqqplqpehsm","lvw","zveadyxhrexvj","ziuhzuokwzxczdiekntek","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","spyf","bytzmt","gevncejjbsqwzshxzyciqqplqpehsm","rrlvchcpczjsqui","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","lkfaemfqxsvugrafuzdgqxhsefpejuwgny","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","swxxzbgbjzhcintwqgpowpkxwzxsxdacpwvkkjxplyogvpuckf","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","gevncejjbsqwzshxzyciqqplqpehsm","dbg","visbgnptsz","ixlyuihrcjlbtulpxfb","yuviflesqxsyjbz","oedtvkevjgyguysnqrknbcs","gevncejjbsqwzshxzyciqqplqpehsm","y","mxxsffhsqlkmlupgjzfxphlvyzkhfwxbdtvfrizlezakpogi"}
"gnvncejjbsqwzshtzyciqqplqpehsm"
Returns: 2
{"qtpotqemfwhgpjjqdqai","eaxqg","eaxqg","eaxqg"}
"oarhg"
Returns: 3
{"mhfkszmysfemjvhoinnqsfooag","finkpfczmtvqzoxjor","ex","ex","suuuyrhjebczdasbtet","sguljxtdrsbgjjbiqjkqaupbcir","mcdiflrmzjkbxdslzvptzjkjtcnxqtjafyqoosbyr","ex","rckbdljiqvmrchhdnwudyaytchoovjyhulbvlcoif","hxjoxcnvahbewrdqyvwvngxfxrgmslhmxesakn","laajrfqpjsudslkgbad","gwbcpzpgrycgkmlvnxgahcwtxhoamyrag","cpyxurpjxlpnsgaosdudkezhfhlpushcanjvxqcolxel","koizxgnfd","ypqsmfzpedmmewfrcafrmzodu","dqwmtxxblfgxqjlhzhrxjltfdmzlaybnxtcjt","kppdlzlekwgeahlxjrwqjgxlbmetawgcohw","hgzt","ex","ex","jrlhskhyzyywm","zfcuodtramysesqqgfahzao","ceeaskeh","mdolsmbnsryjagohjstwemyqyrk","syphqespcensyuhjpucyqtjrlljaexnaccutbrswnyeeeaxke","bdpliypxvfvslernqwzniycgkrpenl","yvowjlqtvedwnavnanrjalqhdbja","ex","tsmwdzrsfpjxhgcbmelnuuph","krpozak","ex","ptbpmwlgtqfyervxeorydfst"}
"in"
Returns: 2
{"ecvayjinnesxxecgqarikah","msk","xhatunpedrttpkwqbhxxgcotutstndfc","ecvayjinnesxxecgqarikah","ecvayjinnesxxecgqarikah","fgdhwtqqfimqhgx","vkjqbkbnijatwdsnhmiruxeoezjfltquhcqhyj","ecvayjinnesxxecgqarikah","fzyfulcbwbosgltnlpxgomeyrvhehonlvwcdsbdxetjnku","lboeikojsuaozexthodwjjpvj","zcvcqnwivdtkfahnjjrmdtg","ecvayjinnesxxecgqarikah","ecvayjinnesxxecgqarikah","ecvayjinnesxxecgqarikah","qspmgskob"}
"tcvayjinneskxecglarikah"
Returns: 3
{"mkrtlehesyccvlzxprmlveswuiivtlfbnxo","qhcrobizzsaxxxlkemvisuzcvlkhtap","xjghovwuvsxcikywzuxabfxwizvdqagzcbanqevipbnzxwuk","ohycoxrmkzpatdumyzhklfvz","lzsyylekrcthwodibgefhwysmzxnaa","lzmdyyomnlqbbbfbldc","ex","ruruxqhymkxpkugeoxycmyugkityraysxfzyqtd","ex","ex","ex","neweckackjnkbtjakzidudhgpjtjepveypehyctoefeawad","trvseydkwpotrqyuoim","obciftypygkpfjqmuczzluki","axohjmooquronmlzolpfznizlal","maurtufwkipuwaooz","gpozxivcompovjbfcqaavthopfwvjzytantvtmcmwqgshvm","sqxyoycnizks","ex","fbkgmtckawxqemiermfhkauyausqzvwanopmxitrodnhhvkvlo","qntpfhmfsbllezwdpwwgisnthmmrejxekwgnuzkfldaqcrihk","vzpirxazhsuuaiegbitjiplrueswrqdfgloyp","ex","sskqcsmvpanakfnyomfdiropooufraclxoxtgdbz","vadrfbjkqmsciladvcox","epxcdvhtslkft","qlxinlvankiocwqkancdqkfobf","ex","xpyksxuamldcnupt","dikwdpwgfjghjdclclyemx","gmpsnirummqnqrkuzbemootd","aqkjqpyfveknwix","ouvtqmurrycilxstmlmsglvwrhum","ex","gyztyjrovtrsnquxmqblwehdzycirhqkvjbmy","uduywntdjanwakerwbrwuagiwnchwephznvyryitkvocvug","femzvcduwlbil","gflfxnogaytxlylenbhvbsrp","xjacgwzixpjqpxtszenfyqfj","xzbplonvtadneucupojcnxendboejngerk","wxtmavvwwqeuklli","vgdzv","ljajmftyvtlfxwbjhsbhwyhdsyfe","kgibihdzliqcsiaygnm","mz","ynrncwqnapolmddopxjvjl"}
"bq"
Returns: 2
{"leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","bbgucmrslfegtsmlwswwltzrv","xmppuvjxjtuaeifmsqbf","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","cmsakvesi","q","yusmobh","zhfrocxwoszhbmtbvqpeexinhmbewiqutxfuhb","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","agcfndhytufhgwttmxlpdfrthqicvprjgfhxn","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","uuowbxqxdwwpkyvpajbazwitmmyqa","dvczzdqikfvdogoxrqgrwpjgpymvjpyzxftbmlyszrzvevh","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","ibnlwjbqvzvgwgjmnlgsn","eqobuqkqtuqpodfppbwbdsdpioyprenpwqww","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","jvgfzazjgrtfvbapdiedqyiaoimywiaxnuondhctjfbyooriai","sptjkngrqobny","wsbnmmwgkukwklardxocihukdaxqlfis","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","leknrtbcuuqndxnuczxccdbxjmxwredqmrzrtpxvwhaov","lcqgdyhlofbiftxboqtjneopvtoouxkqeijxketdnvpfluz","qlsq"}
"lvknrtbcuuqndxnuczxccdbmjmxwredhmrzrtpxvwhaov"
Returns: 3
{"abssexkpxthmbkwzirhpmwcnrzdjrujovzzffje","juvaxliquciymshezeaftay","ksqckru","mwgsbbqgqnpollbcsvgajysivsqeuffdiklqmpcxouoglkrz","nkoltpodywjkllkhmgbzkqdtimojmxlarn","vrsouxnnstncid","ydpzgwgvchberakityepqushcxckzvjggnyhlrhkowpgtsv","hltedoielhwitwvhxvydbdwcru","u","lojbpcnbfc","fuveuyqsaijyusleprmionzasmgetifrsg","hhshseiuwcqpidyykstdrvvlhrmyrcrfovewwjtegtcycx","avjvyydflmgzbsjcuklbnzbbaypwysxjktlcigsgkpskqk","mwrhnrwkbuhvzjghtpxphghtnreqxgqlpgca","kjsojkhaltwdi","vsvkfoxuvmfmvdwfthfaiffbywztcyhmpgvtuvwliqnfixpeef","pxhrpntmjperxeswoickxkursrzsbgvpwysoipfgbjnweyqaqa"}
"wspjeatmyjetagxbjitktuexkarcrpu"
Returns: -1
{}
"bvcfdpzynakcuovymdoycwjowymtbycafyobwmlsqhs"
Returns: -1
{}
"bqdsnmmbteloifcfwoykwv"
Returns: -1
{"jplwwpik","oefkpidfqkkeboofqkqnurtyacyxifqn","sri","sri","u","vpafxqhlvoavxzrzlvglzhjgsjqovenznjb","sri","olpsjrmgfkhbui","ngunoasqraainyqtmazxnsqwawjjkwmfernu","mggvuysijziprvaukeuqxmr","sri","loddmfcytjwgbilaskuupqmucljjrrt","f","sri","ajefil","smd","uzvbjbbwth","pvays","jxiiamqdpxdxi","epuldvdhsaobvxuiejtvjouwunfytexzkixzapvxcbeityrs","hsuenpquyrqpfoocp","nauhpowshjmcvvnpmlduxshecyehxnqge","sri","sri","qfrjouutfynsucmixlckbvfckehkngjoizxu","sri","sri","sri","sri","asvotjzegsnpguzgc","ywmugldeejjgvbgzhtkljshroviunmhtdgxbwfm","lpeqvzxljgmgwqlfovf","diqscpcoeedbgbatnrwoy","lgzbxmvrmazbgdzmofxiheckzuqrrxyrmgwjsbrqtmrc","euwub","sri","sri","sri","pnzlyjjzofeethefpuyt","wsm","sri"}
"asvi"
Returns: 4
{"jplgootljclzjobihllbfqmlkykfsmxvxnfaujxzvbsfipcaa","nevkttdawpenswfpcvjbnxnmfexgcuv","fczsanumwtmiviiwasnhr","cprjeovwybttiqxmppbwftkfrxwbgjhotgajbqifrzvlobzs","ocxfutielrhstqoueacqokyhwffyzqqxddshjjymrepzbmx","grjaxcjddqjpokfubj","pyhkvbpyjuzfjhwrigpzbtodsajxg","vxrxikzgoyhdaiekzhstwoljnvjervssrjzbolzmsbsqsytgzh","bf","dglhkmavotgplqicwoigbuvvroc","svfzlziqhodinpqgqmyrmciupmocyuqh","phanlwmykdmcywlmtzmilqpwjwqezpchkpmon","ueiwlobafiyhxnryhzredoghzuafrikxzyfiaofau","rhgrsppmhnwirfxaxq","wiwxbiyhjyttrkuxybiclqfawaqh","kzrpmyaujfithgnotfywiyzondgcwbasrhyyceemucovaidjsm","uslrlac","jrx","ieqczipmpblbfkdoezwkjxgzgpmxzduuxdfqjgebczotgjmb","owkvmolyqvjvrmlgrebeneyuuhkjmtwdkalgkykpurslv","kncmofkxkjyp","ee"}
"ssvfzlziqhodinpqgqmopmciupmocyuqh"
Returns: 5
{"flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","bpcxwyzhkfrewkckbszzvyw","qyqvnwhxkzitgiy","c","myvtgoqsckxspcsuhxhduoyttwcjettyxzlxmwsceutx","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","xjsssgzwnwkwiqxfjgcxuofd","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","bwsztkwbxkbyjsikaakgfczyxjrgsu","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","loluzzvnrogxwpff","paloohrygpeuzqhrbniihltvvlqphhnbejlqutxg","vsjqssxyfucxxmdgptdrbrzbdppfrxiqbnmsjeds","qbnldhxhjeaupsetinccshimlvjakxlqkykq","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","wmtkkqinhsotkuzoeqjorlvtpuybwlqrkuavzxlvmurjd","efkewjyiflrzvp","grwbwiqtdphfobxtlqiptrsohscppeabvdf","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","hk","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","flrbewstmjvlmzpwwhzersmqbyryfktfvmputlxqwlyo","fplrirmaecqikj"}
"yflrbewstmjvlmzpwwhzersmqbiuyfktfvmputlxqwlyo"
Returns: 5
{"suuggwamraxwz","tdvyp"}
"jplmqatrjkczbb"
Returns: 16
{"exdqznfgsvdgerwuiddzaahbkqypmedsufzei","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","wjklxsdqb","joquorlmysrl","vhgxckt","ltlpushxnvogyyhcjjfwlfmmkg","dqubfisxveeuzdolwdfexzeosfxcgg","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","pqoduomsjebbjsjq","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","rqxqlfkcmrmyfmsrmjawo","javwspnffpgekddfiwtsshdveb","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","ncwdgwvpmvpgmwracpnh","dcv","cwzrromwuceigwgjsjydlvhdeykmcijzaieawyugc","runrvthxiuesjgpwmtdz","lsfhysgntorabdmqncrfeaovizxlambccqgbij","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","qibuxykyfgxhtytxgqxwkv","uavbhhbmsvbxojcnktglyweojytnrx","avtgubwcqetflsaeoddndekryvhrjonu","ebcvcimnqpgerswjufjojnvkciyuescqzjgqyilur","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","rkzqocohzrexeophbqykdsqhnusclj","udvbeytmesiccfyyfxlwymwmztrdtkmwqvktimkjheus","pncpwmfzmyhhjckgpsufmmhueqsmcptsdrjgooxx","wdwdmykacsmzm","dfhkfttxxfoerses","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","ilrsrimzwgsqjgbgdrdnzgrohhrwkqs","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","gopdrlgqkdsgbgtsuyftztpkbbtbn","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","kaiajqrlzcqxiq","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo","tnwy","rmewmr","ltnbqctwwsmyofxgzkdwxtwvhpntrirqenoiraforufa","iwkpnlxdvzfeknxlramozvqdwshqrdclvhjxkqsldjwarsoo"}
"ziwkpnlxdvzfeknxlramozvqdwshqydclvhjxkqsldjwarsoo"
Returns: 4
{"awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","mrpcprnfttsmixenbotkticbrwuhl","hnmcaawnssuowttvmyec","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","xveonlsxfujmeagwernvaqeljivkwdik","xogvliczuounhovgbzkmmphrtffpibclznhlzatjlvgbjybt","d","dyxligocfcmrtlinuhjgbgbbrjfhuempegynbbzf","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","wqgkxazhmbregaedqmqaszcgy","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","hquxezgywwwiacxtx","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","nlpn","whqduicvmzekxzzfpvvs","pjp","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","fwyptvihxbskqojnhapgdnpnpyfkjbtlqvjpbcjzhoooj","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","bsiqdo","jrsgdblumfwdupfsfgfc","vfvjertmlvbcfowgu","tg","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","i","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","gsvsyrj","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","tdxmjghshxtgewopntlqbwekn","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","xznybmvvxvhbfochcyawmq","ywpladsdidnkmumtyxuiqdqnuhnpaceyggpbl","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","szxrdqmpfc","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea","awubqpozfpednwujfqzldfhjnwlzrfzqpradeigeregsqwea"}
"oawubqpozfpednwujfqzldfhjnwlzgfzqpradeigeregsqwea"
Returns: 4
{"rrtescegmgfl","cdrjdqmywcreaqbxmuggrvkjsyvtrmypulyjnmkxmhuoczrmci","m","eigtirfvshkdbkprrkzjiujbvgsgirjmmqpcsqevfctajkbpb","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","emtcwgqsdk","ruoujqwyjkpnmxwtxumnijqinidixqhfgrniqu","upkquoygfansxqxkieghannbtckgvkncdxryysvtobyikx","ojgedknwhbjxrerlumk","azzmpimszofqvtvxofjspajwpvepwq","vzijokup","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","byoimboochdyoyewabzzyrtqvqjdahevv","swphovfrcupqejfmygyvskexmvrlnvchcqghhsmduhozbfl","x","jxxafirrvtdudhshnodxfguualv","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","tctzrghhefgjuctyozxdcordmowy","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","mckitizalqecytovlwvjrynhyawsntss","jhhsimkilck","ypgzxtpkcyopckslhmsxm","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","zozhwusmqlcrejnctwdsmtxpzjxaevfdcndydlvanklretj","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","fqkhmwshvgyprfpzibdfci","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","hsdidudqlfesxykeaznixlabmbgmmcyeohhhfszkzstfchx","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","vglodwxvjolyddh","hfvbujwfxdqxwnwjkrikfovkchaqgwvbwuvcevnljgrag","zvscnlvxrtjkymigzbhoabsuepdwazxvecifxdijgzdcstwacd","psrzxdyxyhzwsw","gwedivsxiaypbksdtxshdmdkbzg","bgckgenavzulxujyznwmf","fzaoktsub","ohwbyojxxshucgjide","dusivpaqxpeugtokvvimjlrociiuyrnbdwqxxxyfvfkbnewno","zpnwkxtf","pojnf","cyavesdckhxqjtjwezkderaqfpmretqkgbmzgfhlw"}
"odusivpaqxpeugtokvvimjlrociiufxnbdwqxxxyfvfkbnewno"
Returns: 5
{"nkigjpzszhsolczfayljghdkbbwqyrkolzawceidksduywmhp","twddlcddwqizoeimeppakzxbdpupeyakbtjyvsafmejwehvbx","nkigjpzszhsolczfayljghdkbbwqyrkolzawceidksduywmhp","nkigjpzszhsolczfayljghdkbbwqyrkolzawceidksduywmhp","gntoeutidxeebnweyirfqelytjlqzeurmumezjdlyvmboodkbb","yoeicbvvujdjydmrgasepeggvr","jegaoxrvcilkceoicvlo","bwxjjwyuixnkrmqoipmhhkjuqpaavdljdmhiiqfatbukya","ryutgzgprmctuwxyemdgefh","rjlogpzvpdj","nkigjpzszhsolczfayljghdkbbwqyrkolzawceidksduywmhp","pvfxlevdqxuuhmqobwnsjcnhdqmvwthtjhpmzuyhsdybb","nkigjpzszhsolczfayljghdkbbwqyrkolzawceidksduywmhp","ceaaeprwclajwahxblqeijvslacrwlregguzog","nkigjpzszhsolczfayljghdkbbwqyrkolzawceidksduywmhp","nkigjpzszhsolczfayljghdkbbwqyrkolzawceidksduywmhp"}
"qnkigjpzszhsolczfayljghdkbbwqtfkolzawceidksduywmhp"
Returns: 5
{ }
"foo"
Returns: -1
{"topcoder", "topcod" }
"topcode"
Returns: 2
{"aabbb" }
"aa"
Returns: -1
{"topcoder", "topco" }
"topc"
Returns: 2
{"abc" }
"def"
Returns: 3
{"abcdef", "abcdefghi" }
"abcef"
Returns: 2
{"abcdef", "abcdefg" }
"abcef"
Returns: 2
{"topcoder", "topcod" }
"opcode"
Returns: 6
{"banana" }
"bnbna"
Returns: 3
{"aaaaaa", "cccccc" }
"bbbbbb"
Returns: 6
{"topcoder" }
"opcoder"
Returns: 2
{"haahhahahhaa" }
"hhahahh"
Returns: -1
{"topcoder" }
"topcode"
Returns: 2
{"aaaaa" }
"bbbbb"
Returns: 5
{"aaaaaaaa" }
"bbbbbbbb"
Returns: 8
{"asdf" }
"adx"
Returns: 3
{"topcoder" }
"topcoder"
Returns: 0
{"topcoderererer", "one" }
"libor"
Returns: -1
{"xabc" }
"abc"
Returns: 2
{"to" }
"top"
Returns: 3
{"lalalala", "onetwothree" }
"samantha"
Returns: 5
{"topcoder" }
"topcodex"
Returns: 1
{"asdf" }
"asx"
Returns: 3
{"topcoder" }
"tppcoderr"
Returns: 4
{"topcoder" }
"abcdefg"
Returns: 8
{"aaa" }
"a"
Returns: -1
{"hahhahaahaaahhaaa" }
"hahhahaahaaa"
Returns: -1
{"topcat", "sfgadfgadfgk" }
"toofat"
Returns: 2
{"stunts", "stab" }
"aunt"
Returns: 4
{"abcdf" }
"zzzz"
Returns: 6
{"a" }
"ab"
Returns: 3
{"topcoder" }
"topcodxx"
Returns: 2
{"toocodes" }
"topcode"
Returns: 3
{"dffffffff" }
"xxxxxxx"
Returns: -1
{"lalalalal", "onetwothree" }
"barclays"
Returns: 7
{"abcdef" }
"abdef"
Returns: 2
{ }
"a"
Returns: -1
{"aa" }
"aaa"
Returns: 3
{"topcode" }
"toocodes"
Returns: 4
{"ba" }
"a"
Returns: 2
{ }
"ab"
Returns: -1
{"abc" }
"ac"
Returns: 2
{"abcdef" }
"xyzjkl"
Returns: 6
{"za" }
"z"
Returns: 2
{"abcd", "a" }
"ab"
Returns: 3