aoc/tests/Lubiana/Aoc/Y2023/D01/SolverTest.php

1111 lines
48 KiB
PHP
Raw Normal View History

2023-12-10 11:49:11 +00:00
<?php
use Lubiana\Aoc\Y2023\D01\Solver;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
#[\PHPUnit\Framework\Attributes\CoversClass(Solver::class)]
class SolverTest extends TestCase
{
public static function walkerProvider(): \Generator
{
yield ['two1nine', '219'];
yield ['eightwothree', '8wo3'];
yield ['abcone2threexyz', 'abc123xyz'];
yield ['xtwone3four', 'x2ne34'];
yield ['4nineeightseven2', '49872'];
yield ['zoneight234', 'z1ight234'];
yield ['7pqrstsixteen', '7pqrst6teen'];
yield ['jmgnfive7ffglffpjlvbtvl935zz' , 'jmgn57ffglffpjlvbtvl935zz'];
}
public static function extractorProvider(): \Generator
{
yield 0 => ['jmgnfive7ffglffpjlvbtvl935zz' , 75, 55];
yield 1 => ['two1nine', 11, 29];
yield 2 => ['eightwothree', 0, 83];
yield 3 => ['abcone2threexyz', 22, 13];
yield 4 => ['xtwone3four', 33, 24];
yield 5 => ['4nineeightseven2', 42, 42];
yield 6 => ['zoneight234', 24, 14];
yield 7 => ['7pqrstsixteen', 77, 76];
yield 8 => ['five7sevenjpjmmppfive', 77, 55];
yield 9 => ['eightfour41four8fiveone3', 43, 83];
yield 10 => ['pxmrbcqt22vfvzvvp4seven3', 23, 23];
yield 11 => ['3zqbqnnonesxtgz9eightonepqnld', 39, 31];
yield 12 => ['d2six5dmlqczzrtp79brzzq', 29, 29];
yield 13 => ['nine48', 48, 98];
yield 14 => ['ninevbjkjcd11qhtvb', 11, 91];
yield 15 => ['six4nine1four2three5', 45, 65];
yield 16 => ['lcnvnxgzssonethree5mnvlsevenclrcpxbjbzvhlj9', 59, 19];
yield 17 => ['8onethree6n1', 81, 81];
yield 18 => ['98ddgtwov6nzvjzsscd', 96, 96];
yield 19 => ['bklvmzjrqgfqx7', 77, 77];
yield 20 => ['5eight95ninetwo8', 58, 58];
yield 21 => ['qcrgbmzlztvtzrsjsixmvps2', 22, 62];
yield 22 => ['jsnmkd9seveneight', 99, 98];
yield 23 => ['mkdzj28twohhmkctnsix', 28, 26];
yield 24 => ['kb38sixttdhv9thre', 39, 39];
yield 25 => ['16', 16, 16];
yield 26 => ['4vbcrh', 44, 44];
yield 27 => ['62jrjfrdcldbvjzhp', 62, 62];
yield 28 => ['onecsqpbrxpmqtrbbtxnrhkdlthree3s1six', 31, 16];
yield 29 => ['two798tqsjv', 78, 28];
yield 30 => ['znktgzzmtwo28', 28, 28];
yield 31 => ['8hllzrjqhvfone', 88, 81];
yield 32 => ['tgnlbtc2ninejmcsixfour', 22, 24];
yield 33 => ['fivek1five', 11, 55];
yield 34 => ['rklpvqfvtwo3', 33, 23];
yield 35 => ['lgdgchcpcl55hfdmdj', 55, 55];
yield 36 => ['onesix7onefive9', 79, 19];
}
#[DataProvider('walkerProvider')]
public function testWalker(string $input, string $expected): void
{
$this->assertEquals($expected, Solver::walker($input));
}
#[DataProvider('extractorProvider')]
public function testExtractor(string $input, int $expected, int $expectAfterWalk): void
{
$this->assertEquals($expected, Solver::extractNumber($input));
$this->assertEquals(
$expectAfterWalk,
Solver::extractNumber(
Solver::walker($input)
),
);
}
public static function compareProvider(): \Generator
{
yield ['sixrrmlkptmc18zhvninek' , 69];
yield ['jcb82eightwond' , 82];
yield ['twofourthree778nineeight' , 28];
yield ['sqpxs1cgcrmctlgqvzxbcjzgr' , 11];
yield ['nqkjxbmbpkz9eight8' , 98];
yield ['one6fourfiveqndtrvgkkgthppnine' , 19];
yield ['zbrbdpbfcfxcqq5oneninejfgqpkfn' , 59];
yield ['hvlstzgvmjfivefourqjqtxdjmbxfour4four2' , 52];
yield ['13dzbmbtl6' , 16];
yield ['fourone2pmlxzzbmnfxg2' , 42];
yield ['3fourrbvvlrsrbb2858' , 38];
yield ['vlz4six89' , 49];
yield ['75threeb' , 73];
yield ['fourp783fiveseventhree' , 43];
yield ['2gxvcbsmn6' , 26];
yield ['896' , 86];
yield ['dnblxtxxpstlsix56' , 66];
yield ['4fivecl185' , 45];
yield ['onefk8sdljtfv37zsxsxrv7qvrpnmd' , 17];
yield ['fourdvhzp7foursix' , 46];
yield ['seventwonineseven27jbrqpxfx8' , 78];
yield ['1threenine241gnrdfqn5' , 15];
yield ['sixnrsqdgmkvs7sevenkgjgtglmdq9dkdzsdqmq2nptbxnxghm' , 62];
yield ['llbkdcpxkg1tnmnmrbskpdb' , 11];
yield ['zb7nvjz1eighttwo6nine' , 79];
yield ['5threeeightwor' , 52];
yield ['tgjmdbr4sixone5' , 45];
yield ['4twoseven7tjmklbl' , 47];
yield ['lt2vqgbkzjpcjzeight3frfzqgbhvlx4' , 24];
yield ['4sixseven3xbmsfxrrvv2st5' , 45];
yield ['gqlp7' , 77];
yield ['h137four' , 14];
yield ['3three7three7' , 37];
yield ['nine9sjlzcpjvhcnbhbthz4oneb8kfb' , 98];
yield ['jlrjz5two' , 52];
yield ['sixthreeeightsgnjnmffq3' , 63];
yield ['sixone87onepclf3' , 63];
yield ['two4six' , 26];
yield ['5dsnxrcfxb4' , 54];
yield ['fiveninesix4' , 54];
yield ['eight9jhqttcplxhtjthreevncsfnkpn' , 83];
yield ['4mgqksbchbcrxp5fivefourlzlzp' , 44];
yield ['xhzone6' , 16];
yield ['7nmcxjlmq94twofivethfccvn' , 75];
yield ['six769fourtwoseven' , 67];
yield ['two41stkvkhdgthree5' , 25];
yield ['jvpftbhljmcttkr5one' , 51];
yield ['9ldhzhplpzttwosevenblfxfdfour' , 94];
yield ['fivekcfmfmndbhtwofour32' , 52];
yield ['49qsslhxjqv1tsfqhkg' , 41];
yield ['five2zzstkq3935sevenpbb' , 57];
yield ['8sevencxvfbkv2p8' , 88];
yield ['lsmmnpnfourhjbfk67' , 47];
yield ['fourtwo4onethree' , 43];
yield ['1jf1eightdhvnclf2four7bmdvh' , 17];
yield ['tx4xczz1' , 41];
yield ['5qjlqp' , 55];
yield ['sevendmzqnjdnoneh1' , 71];
yield ['72seven7pvjxdlsix1' , 71];
yield ['four1eightvbbjh' , 48];
yield ['8451' , 81];
yield ['fivethreesdtmtr5four' , 54];
yield ['gqhtwone11ninethree4ptjsqlg4fivenine' , 29];
yield ['one7xctgtrtwoeightwovkv' , 12];
yield ['36eightsixeight4xnmhvzrnbb6four' , 34];
yield ['pjrtblbj759xpbr6' , 76];
yield ['hcbzmzqssh72eightthreesixgdmfivelmctqrz' , 75];
yield ['rhkctwo5twonine2' , 22];
yield ['cdptxn6sevenjktrlzlnlqxdtwoeight' , 68];
yield ['six36fnqmdcjgjgbqgqcgffivetskhjhkpdqfive' , 65];
yield ['qmpm111nine8' , 18];
yield ['73pcctxthreetwo4nine3fivetwonehfs' , 71];
yield ['nineeightnnfsixpt3kbbqfkhhn' , 93];
yield ['bvpmkrjmzkvdnbhdnine47' , 97];
yield ['26dmbqnt4oneseven5qvxfhl' , 25];
yield ['2sldrlqzone1pfdlsqdgpmnktdh3vtplbsvbx4' , 24];
yield ['238xrtqfcfgsrmrhkxz6' , 26];
yield ['5eighteight5sevenseven' , 57];
yield ['qtlnninesixxjnmxkntpf9six3pbrpljxhb2' , 92];
yield ['xrmkj137tkxktdnine5bnnhp' , 15];
yield ['gkqzprfcrfcgpxnvggsnccsrrk64oneseven' , 67];
yield ['zzmgmkvgrnknsq6tjgktmbghkl6' , 66];
yield ['xeightwoone91' , 81];
yield ['9j' , 99];
yield ['eightlm63' , 83];
yield ['fmctjfspmkblkvjtrcjdfhrtwo4fourdnkrzh' , 24];
yield ['3rb73' , 33];
yield ['8mkzqthreeqtvhc7' , 87];
yield ['qgmbchqqzsvx45eight' , 48];
yield ['oneknnlhjffrxhdzbgj1seven' , 17];
yield ['pv1fourtwo' , 12];
yield ['fxvgcx9vrlqssrrqvl94' , 94];
yield ['sn6' , 66];
yield ['57twoonefourthree' , 53];
yield ['gtwoeight6njfdpvcslcponenineqrxjsf' , 29];
yield ['8six1two6jkvltvgjfjsdn' , 86];
yield ['fourrxtjhcdxhr1fdqdj' , 41];
yield ['one2onefour' , 14];
yield ['three3four6pphqkx8vrgvbtmqckpz' , 38];
yield ['nine5nskhdvvbnineone' , 91];
yield ['7131eightone' , 71];
yield ['one1sgckzz' , 11];
yield ['sgpkknine6threehkqchz' , 93];
yield ['4twoqvbpxzpjj1njqtphjbr' , 41];
yield ['4pfcfnfqftbfnxds' , 44];
yield ['bmhthreecsslmgpzzddpxfthreefllkhdtrlj2' , 32];
yield ['9threeeightninefqdfptj' , 99];
yield ['ninenfbsevennkngdg21' , 91];
yield ['1fourthreeonethree3' , 13];
yield ['tjpjbmrsevenhcllbgdqxlctdk5' , 75];
yield ['2srjxhvbtqponefourtpsgthckseight6bjvnc' , 26];
yield ['68b' , 68];
yield ['vrcqnglljm19nftnzzjdzhvhzrgznine' , 19];
yield ['fivensjpfvltr2cvfhkcfsvt4pnmttrgrr8five' , 55];
yield ['tgzdbrgdfoursevenseven8fnxghs' , 48];
yield ['fourmhmql9rqkpvpgj7' , 47];
yield ['7mgk' , 77];
yield ['2z259nzfqfdhthreeftwo' , 22];
yield ['eight57lzhvpjcxpfivevkszhzbfourfour' , 84];
yield ['sixone984two' , 62];
yield ['threezdvkl15hk9eight' , 38];
yield ['4dxxpjttvsdtwofivenine' , 49];
yield ['99xbp8fivemcvonefivezlndv' , 95];
yield ['seven7six8fhxhxqgr3fsqqqmzdtj' , 73];
yield ['one579vdplvfghvf' , 19];
yield ['qzzthree1kghtwomnlnxpkmeight' , 38];
yield ['44eightonevnzxchddbnzrfpvxsix' , 46];
yield ['fivefive5zfsvhfpkzzfiveeight3mzrkkk4' , 54];
yield ['46xxzbffbmgeight9dcmtwo' , 42];
yield ['tvmgkxbrtdv6mzcpkf' , 66];
yield ['kvbczdkgzrxsxm3one557onevzdhzgn' , 31];
yield ['xrfxxzlmtlmvgpvninethree1' , 91];
yield ['4rnzxgfplmnmjppqv6txztmmcpnf' , 46];
yield ['five47fouroneqqrj' , 51];
yield ['nine5cxxfcqmeightjqztkdqxnpqthree' , 93];
yield ['2zlvnvptqkzsbvp9six4bfhp' , 24];
yield ['bhvkfxhdnrmkfjvsmkt6eighteighteightzzvpddg' , 68];
yield ['12seven49six' , 16];
yield ['5rstmpbrt5fiveone3one6' , 56];
yield ['24four' , 24];
yield ['fiveeight9foursix995' , 55];
yield ['8ktwonxzvt' , 82];
yield ['gf6six39zxvzcfbtbxkvqrps' , 69];
yield ['gqvpkvvgcxctwo7' , 27];
yield ['52mhhzfivebpn9' , 59];
yield ['5onethree' , 53];
yield ['one2cxzklfh9' , 19];
yield ['flrtmhfm985xmkpcdhr' , 95];
yield ['4ltqdsixfour7483' , 43];
yield ['one9nine26gjtzn9' , 19];
yield ['773xhnnch78' , 78];
yield ['one7sixsixgghp' , 16];
yield ['5292zljdfhjseven' , 57];
yield ['seven3onesixthreekz' , 73];
yield ['seven5seven3seven4zgtnnkkgseveneightwosg' , 72];
yield ['eight9vnfsvksv' , 89];
yield ['5seventwo9' , 59];
yield ['onesix7' , 17];
yield ['4one3two35nine' , 49];
yield ['5mmrdtrzctqxggtzhplfnphgp' , 55];
yield ['v94rpkdzeight6foursix' , 96];
yield ['four1mslzzghlpjtblzfour' , 44];
yield ['scrv2four4dxfqpcvnml' , 24];
yield ['8sxjs1141fivefive6' , 86];
yield ['3eightpqsxgklhkbkdsppone9' , 39];
yield ['fcvpsvmsevenfivesqsqvhm6hqmshds' , 76];
yield ['5sixfive677' , 57];
yield ['kgmpqfgjtk9hghczzhpsgfhsnghdxngd4' , 94];
yield ['2xzph98twonesj' , 21];
yield ['kphxn9' , 99];
yield ['sixeight625ssnpmlpsbtwo' , 62];
yield ['twofourhbdmm97' , 27];
yield ['ndseven1' , 71];
yield ['onelf51' , 11];
yield ['88khzmskgldcgttzqnzxdh4bnvxzgdr' , 84];
yield ['lchrtnsxtwo7749lbdgfour' , 24];
yield ['mmrktfqvvkzrglcpkfjrlm34' , 34];
yield ['5six7psdcckhs413threebqnr' , 53];
yield ['seven5oneqfourkf' , 74];
yield ['hsngkzgnfninegmjvtmtchdgs5grf' , 95];
yield ['8qxlscsevensix8' , 88];
yield ['bvbhc7dfplnk' , 77];
yield ['5jjcshzxhgzs1mpqm9' , 59];
yield ['vzqcvvtqjone7one' , 11];
yield ['one5threeseven' , 17];
yield ['hbtvthree1' , 31];
yield ['8five2lonecflvtjqh9eight' , 88];
yield ['xckhrnseven9six' , 76];
yield ['vggclcqcnfsix8seven924j' , 64];
yield ['jfjlzm1fivegplflrcvsix8' , 18];
yield ['zd6psbxlv' , 66];
yield ['mtcsbn2' , 22];
yield ['eightd29rlcd4' , 84];
yield ['six41one6csgdbndn' , 66];
yield ['four1mh2fourdfktmszp' , 44];
yield ['14nsnlqqlgfourxbzzxfztvbxsnxttjmktcxkkkzfphppsczqoneightgc' , 18];
yield ['9vlkdznbjt5zqthreetwonedv' , 91];
yield ['hqqtrzmknine1' , 91];
yield ['6eightsixdmkgnvkjqsqsdhlfzpxqpqdzrlvxm' , 66];
yield ['8four2xcztwo' , 82];
yield ['mptznhrtsq5fourfour4one' , 51];
yield ['8zxnrngjgtgq' , 88];
yield ['7s' , 77];
yield ['68zrdjfxfiveonerbrqbzxpnhsxkbsqsx5' , 65];
yield ['2eight4nine' , 29];
yield ['fiveeight6two' , 52];
yield ['12jvtjssix87' , 17];
yield ['qcxtdnzhtj665bqffftxdp' , 65];
yield ['gsxeightwo37v1' , 81];
yield ['fxbvtshpbldxfdnkk69jhvgktlthree6' , 66];
yield ['2hbxztgsmqsgg57' , 27];
yield ['five7sixfpjqdcbvxfgzcfgb' , 56];
yield ['soneightthree29qlsddxxfl5' , 15];
yield ['cn2' , 22];
yield ['29six' , 26];
yield ['skrbzfmsixp26twofournine' , 69];
yield ['two8onepcddklbzfoureight8' , 28];
yield ['nldvphs7dbqxsfflxx4' , 74];
yield ['8pngqfour' , 84];
yield ['ninefive69nineeighttwo6' , 96];
yield ['nine54lnzkckcvteight1bhznxgsixeightwor' , 92];
yield ['five18sevenvgktwo47' , 57];
yield ['1eightkcmhsb' , 18];
yield ['djcmqbvmfsztncvvthree5' , 35];
yield ['sixfbbhffjnrz1mtcfbqs76llrvjghtfive' , 65];
yield ['five5bkxn4' , 54];
yield ['8eightwoc' , 82];
yield ['khvcvqthree7rthjfivezdglhfnstbtjglxlpkztwosix' , 36];
yield ['72lxsfkmzrb1' , 71];
yield ['nmhqmmxlqnpfour8' , 48];
yield ['zbgtwonezksvdvfqzthreesix6dlc5' , 25];
yield ['6zvn6' , 66];
yield ['5pmrjmgvsdcsjlg86' , 56];
yield ['twoeightseven21cvntvr' , 21];
yield ['3qmqjjqtjskqtthree8sevenxm2' , 32];
yield ['four5fourmbdx' , 44];
yield ['jpdmdb35vkjdflmlt' , 35];
yield ['224' , 24];
yield ['six3msltlcgtrnttcvtkrnine' , 69];
yield ['nine1d' , 91];
yield ['eight6eight6' , 86];
yield ['sevenm7' , 77];
yield ['threelkngfmstfour9ninelj' , 39];
yield ['5rjbbxmchhfhl' , 55];
yield ['1two6679twozcgbbldmznvhd' , 12];
yield ['eight2tgxkhtfmrk9sevenxntpkhkvjb' , 87];
yield ['ninethreetfgtsh6ztcxczsxr' , 96];
yield ['9sjzjdeightmbvrvx4' , 94];
yield ['6fivetwodszsmffjbh' , 62];
yield ['sevenfivezcbqhhsntfbpkz3one3' , 73];
yield ['7onenine11' , 71];
yield ['glghbpvrbfqsfvnvpxlb5vvqkt8eight' , 58];
yield ['rvhqbhlmonenine96' , 16];
yield ['npgvjlkdxmsevensixxrkhlt5' , 75];
yield ['mhqf52scsgsxtwovcpq' , 52];
yield ['zrvznqpcjhtsghfb7' , 77];
yield ['five8threeonedl' , 51];
yield ['8threefiveknqhmm4five2' , 82];
yield ['xdbd4cchcfpvzthreenqqbdkfbnfspmklhvp1ztzs' , 41];
yield ['fourmn932eight6rjq6' , 46];
yield ['tdj3three' , 33];
yield ['2nine98lcpnbchtcfqvqmbrzlhzjjrcsmzgmd' , 28];
yield ['1tfive' , 15];
yield ['6cbhhqrvjkzfive4pbnrr5hbvdbxln8' , 68];
yield ['2eight8three' , 23];
yield ['lvveightwo9ninegrlptxdskq' , 89];
yield ['3xpcpqkrznrgq72six' , 36];
yield ['9pnczone4two4tzjktcktzeight' , 98];
yield ['6eightldtmkj' , 68];
yield ['pjc9nvbhjmhnine' , 99];
yield ['bznzg4sbdmhglddnvbrxtr5nineeight6seven' , 47];
yield ['51four7eightwopkv' , 52];
yield ['323' , 33];
yield ['3cxmrtnjdonehdsxlfneight' , 38];
yield ['7kfsxscrsrffour' , 74];
yield ['six2sixthree6' , 66];
yield ['2nljlkkdoneseven4dvkplq9eight' , 28];
yield ['31six9jqrgzmjlk' , 39];
yield ['ninefour659' , 99];
yield ['zjcfjzbfivesix2bqtnbdzlssvr' , 52];
yield ['4onehzrmb' , 41];
yield ['6dvfnpbdnr1fhtmdddqx' , 61];
yield ['phvgzphlvqeight1' , 81];
yield ['22s5' , 25];
yield ['fivetwo9' , 59];
yield ['gxczffbjgxonerhxklzvkmp89' , 19];
yield ['fbrxkzpsmb59997' , 57];
yield ['tmf6' , 66];
yield ['ninefournine8' , 98];
yield ['42fourtwoeightsix96' , 46];
yield ['vmhqthreeshcdtwo2three28' , 38];
yield ['lpzbfpfhxj8rbspbrjgd882' , 82];
yield ['9threesv' , 93];
yield ['6xvqch' , 66];
yield ['6sixdthree5sevensbxnxvsixthree' , 63];
yield ['five2jzsconeightm' , 58];
yield ['three9three69eight' , 38];
yield ['7789qfhlmznpqzrg3' , 73];
yield ['bbf5dtpqhs2jstcbkcfmc2nine' , 59];
yield ['eightmpppb6fpdonecrdrbjqtc' , 81];
yield ['nineeight1nine' , 99];
yield ['four2tpqrhnj8fivexmvhtsfive' , 45];
yield ['gbzzxdd8' , 88];
yield ['onehrjlhprzz5' , 15];
yield ['fourzxxpl2onetwo' , 42];
yield ['5four5two97' , 57];
yield ['threeeight2' , 32];
yield ['5one68656scpqt' , 56];
yield ['7qljfddcld1czjb6fivehtqcpnbjfnmrrthree' , 73];
yield ['9lrzbkvqmjfv5qkrlmjkrx436' , 96];
yield ['hfivetwoxgjkfc72two7' , 57];
yield ['gbbbnscg6' , 66];
yield ['glrhbfrfivehfkfplnrt49seven' , 57];
yield ['nine3sixninefive3zksdxtbbf' , 93];
yield ['ninesevenvgnlhpdb123twogfvscpk3' , 93];
yield ['fivefsrtpxzlltnfnine1ninevzsxbnine' , 59];
yield ['7nineone44bdxoneeightnfpckpdjsq' , 78];
yield ['rcrtqnnrm15' , 15];
yield ['eightfive8' , 88];
yield ['eight2dqzcjfkfsfoureightfmjrpdkqj9' , 89];
yield ['one69twornine' , 19];
yield ['fivefjpzeight6' , 56];
yield ['5qxqdcl7qzfqvmsfnnine9fouronedmdg' , 51];
yield ['7sevenone4four5eightone' , 71];
yield ['phxdrlcd3two' , 32];
yield ['fnoneight12vqscqzxdgdzsvfqggbt9zphpvndl' , 19];
yield ['eight6jhjqrvsgbteight2' , 82];
yield ['gdhznsvfmdeight6jpvdmrdsix92one' , 81];
yield ['onescsrmks474ninetwo' , 12];
yield ['51bmcpkkttczbsbhvfdzgfbccbllxskmtxvs' , 51];
yield ['61eight' , 68];
yield ['qfplfour7fourvhsbxtzrb7three' , 43];
yield ['ninefg8two' , 92];
yield ['8seventxeight3gzbvjmbcmzoneightrlx' , 88];
yield ['16twobghcqnfiveseven' , 17];
yield ['one26sevenone' , 11];
yield ['three4sevenone996fplzjqh1' , 31];
yield ['pkszjvhtdg9six' , 96];
yield ['eightfcbbchqtxbvzmdnj1fourkvldvbzltm8' , 88];
yield ['5sevenfivevhcrl78' , 58];
yield ['7bjmr96ghmzhzh641' , 71];
yield ['seven71' , 71];
yield ['ljstghtkzcthree64two3hbvbgconethree' , 33];
yield ['9fourninednbrkdfnxeight2zppqsnx' , 92];
yield ['zfjm8ktwofivezr' , 85];
yield ['qtfvmhvpthree4fivehsxkxnpchmfcvr2sixfour' , 34];
yield ['ninetwo3dthqone' , 91];
yield ['six2ncdntspl1fivenmxzxh81' , 61];
yield ['twoqtpfbfive8mhvkjstfp7gddzmmdnxqrvp' , 27];
yield ['threesixone3tgbtbone81one' , 31];
yield ['8vqmtnfkhm1' , 81];
yield ['zgtldxtbgxgfour8eight65' , 45];
yield ['hbk6threeseven' , 67];
yield ['1tpnrcfivejbqllpgx' , 15];
yield ['twotwo4xcppqxftxeight8six2' , 22];
yield ['2seven5bnvqdfbtwo8eightsflgdzqczpcf' , 28];
yield ['two45' , 25];
yield ['4kqrscxrsdveightflhrmcpxrnqfrzrsixkj5oneightbls' , 48];
yield ['5jttone1six' , 56];
yield ['nine95eight3fourseven' , 97];
yield ['fivepkknbrqfkdhk8ndt7three' , 53];
yield ['sevenfivetwo4vqkjlznxl9oneseven' , 77];
yield ['nlzrrsbqllsevenfive94threecmzbp' , 73];
yield ['qnszclmv6eightthreeeighteight1nine' , 69];
yield ['oneninesevenmmqpd6oneninenjvcrbgnjm' , 19];
yield ['jptwone67kqxkdfscsjmfseven14kz7' , 27];
yield ['threexzxlgceightfour8' , 38];
yield ['3fzbtwofivefour6' , 36];
yield ['hdr4plslvxqxm6sixnine' , 49];
yield ['one62ttrpmhjvfk1' , 11];
yield ['foursix5phpfcxzrrbhsv' , 45];
yield ['eight81' , 81];
yield ['7cfdqxdqjq' , 77];
yield ['69eightfive' , 65];
yield ['6nphsmsqsevensevenonefourbsmg' , 64];
yield ['sixeightsix9vk' , 69];
yield ['freightfkthreesixfour6hzdmrcqzbs' , 86];
yield ['vclmkqdqeightseven5eighteight5bbvzqlslt' , 85];
yield ['nfbzpffd198six' , 16];
yield ['jpeightwofivethreetfzgnpfive1' , 81];
yield ['sixseven2trjjh' , 62];
yield ['4ssfourtwopqsgvbvktk' , 42];
yield ['five8twoonefksixseven9' , 59];
yield ['5eighteight2g1six7' , 57];
yield ['fivethree9twonelgh' , 51];
yield ['4fourxbnhjfoursix' , 46];
yield ['lqdspqgjnnhxnine99oneninefourttpskhdzhq' , 94];
yield ['fskvvccb178' , 18];
yield ['eight3twogsjlqhfhr' , 82];
yield ['sevenklhxjjlzrx7sevensix' , 76];
yield ['84nine5zqjbhjsxvn61sixone' , 81];
yield ['two9htsj' , 29];
yield ['sixfiveninep75tgggjszfbsix' , 66];
yield ['sixbrthjrnnvmqgb8' , 68];
yield ['tpcb25twothree' , 23];
yield ['9fxkfzmqdgll' , 99];
yield ['cnqjxttzpthree2vfxrklhrmgsevenvsjkf' , 37];
yield ['tljlxbfbk43' , 43];
yield ['mcpjvsevenseven5three4' , 74];
yield ['cvvckfncxjlxrp381four1' , 31];
yield ['63vksn7six185nine' , 69];
yield ['fourhbg8thjnmvlctsixninejpjkxqhcljrvgrm7' , 47];
yield ['649eightone1four' , 64];
yield ['nrmjcbpdsb6fourpcbpb' , 64];
yield ['one6nineone65' , 15];
yield ['g2x36' , 26];
yield ['nine9sixvbnzsqbrj' , 96];
yield ['four3sixhfngsjrsnth977' , 47];
yield ['seven9692dfchqbdzztmfztl' , 72];
yield ['six1pdtgbdhzmqtmhz6ninetwo' , 62];
yield ['rzjssbsz92six1four' , 94];
yield ['4sevennineninesixvgjsxqrgnbgfpzpggmkzjrq' , 46];
yield ['5onefourthree7seven' , 57];
yield ['9zgjt' , 99];
yield ['eightnsrq37qhthree' , 83];
yield ['czknlpbntwoseven1twopfhfdhrkgh8sevennine' , 29];
yield ['3eight9' , 39];
yield ['sevengltpjfpkb32ninetwo5' , 75];
yield ['five8ninehxgkcfxm5fthree4' , 54];
yield ['8three9drtnqx' , 89];
yield ['lldtcdsfvvqcsvprgggnfourhklqqsjbvttskq3' , 43];
yield ['vrxmtwoftjngsfour1sixlfbdkxbppj7' , 27];
yield ['khvvrrhc2eightfive9' , 29];
yield ['kmsdthsbffjxdgfvmppgrfglxkplv2pvtpm48' , 28];
yield ['49gzlbspqv45qdsvp9five' , 45];
yield ['threehzjcp6threed4' , 34];
yield ['sevenone6onefivefourcpznxpseven' , 77];
yield ['85zc6' , 86];
yield ['eight92fccninefourthree' , 83];
yield ['36hpqnpmmxrhsftwotpt' , 32];
yield ['11six6' , 16];
yield ['5vzkjxh' , 55];
yield ['4ptvlmns' , 44];
yield ['19f41seven7twonesmr' , 11];
yield ['39threevrvjhfpzmp1seven38' , 38];
yield ['five6eightfourqjgfvhqjclt' , 54];
yield ['ktjsgzqkzgplz85' , 85];
yield ['242sevensevenninelrxhqvddb6mbfxmx' , 26];
yield ['54threekfcqtpfgeightvlm' , 58];
yield ['sixfivetwo82seven8threes' , 63];
yield ['vtckldxdssix5mfjrmhvtlninemq47' , 67];
yield ['977sspjhmddkznine1sevengjnm' , 97];
yield ['ninexmjfhhnhhv3ckndjbdxjcfive4' , 94];
yield ['toneightnine96' , 16];
yield ['twoxfsix5qtjghvqnjseven9six' , 26];
yield ['fflplfmqx73fivethreeqmsncsl2six3' , 73];
yield ['xxvbfcbb7kkjzgmtvp38df2gcfhjtt' , 72];
yield ['knthlxc795foursevensevenseven' , 77];
yield ['twof91two4' , 24];
yield ['four9sixjkjqcrnine9eight' , 48];
yield ['sixnine1two5' , 65];
yield ['mrrhthtfbszfxqpkhs57' , 57];
yield ['five985tmcr' , 55];
yield ['l4eight' , 48];
yield ['twosix7' , 27];
yield ['ggztprpshxbgbvgllfjxr7x2ql' , 72];
yield ['9one6nine3xttqxqjnjsvknzg' , 93];
yield ['1nine8172' , 12];
yield ['1npfxpgcmbckgtcgvlksevenjfdbs8sevengqdcsn' , 17];
yield ['eightzbjqsix613nine' , 89];
yield ['sixkfczsxbnpfourzsninegtjkg5five' , 65];
yield ['47four4gtwofive' , 45];
yield ['jczqhs41' , 41];
yield ['2jzmpchxv' , 22];
yield ['xxxx8eight36sixpzpdvvvvntwo' , 82];
yield ['two649nine6' , 26];
yield ['four36sixhfzslcnhpssixthree1' , 41];
yield ['9eightninefivez' , 95];
yield ['933cvvf1sixsvkr21' , 91];
yield ['zrsnsqdcfmxm9fsjqfzd7' , 97];
yield ['five7sngmpcz' , 57];
yield ['sevenlzrzgddch5dnvvkzf3sixsix6dnhtbkq' , 76];
yield ['5lbdtxdzoneone6' , 56];
yield ['vkjvhl4mslfs' , 44];
yield ['pvgvmtxvsjdpth39' , 39];
yield ['gg83ltnfcsv4seven' , 87];
yield ['lksmpxxd91dnkjq1fktbfmvgh' , 91];
yield ['djfslttn2' , 22];
yield ['onefour9three8sgbtlbtsmh' , 18];
yield ['qnrrtjxtninefive88sixmhhbqs78' , 98];
yield ['mgrpmfvvxf37onefour478' , 38];
yield ['two26two' , 22];
yield ['4three3five767' , 47];
yield ['eight5l' , 85];
yield ['3pm8cpkczckxfc' , 38];
yield ['6nine5one2841phpgfxhfr' , 61];
yield ['4threetwofxblrfnfhj8eightone' , 41];
yield ['ninetwotwoqk9fourqmzzz' , 94];
yield ['211127mkhpmsr' , 27];
yield ['mssppjqvlt75xjccfcjfiver' , 75];
yield ['57mfour' , 54];
yield ['rdj6smlgs' , 66];
yield ['gjllvdmmgktwodhnnbsfourbvqvlvpcv6v' , 26];
yield ['seven2fiverthjdnfqgnine' , 79];
yield ['7sixtgns8xfmrx' , 78];
yield ['sixdcfpbdt3lcnlsxxone1' , 61];
yield ['9jxpl5sjzqxxk9' , 99];
yield ['four2bzcdrbmfiveseven1four' , 44];
yield ['jtwonefivefvftvbpsptftbvpxzz2fhgmlqrfsevenvrznjjlchbqtrgbb' , 27];
yield ['4seven3crjjzzbseven78gkcjf' , 48];
yield ['djnqxxtsevenpthdvddhdm5977three' , 73];
yield ['threeonethreex92bnmpv3' , 33];
yield ['klgxtpg4one3kcnhfqp' , 43];
yield ['2dhsbc98' , 28];
yield ['mrqfvbgjqnfpggnn2spmjkvbchpzpcgcmzvcddtl7seven' , 27];
yield ['3xccrgznljpskhxnqbtjtcvmrmthreef' , 33];
yield ['4jphblzdzpfouroneone' , 41];
yield ['68twotmmsdvxtwotworrjvzfiveseven' , 67];
yield ['864861' , 81];
yield ['1qzcctgzsixjtlztmdrtd2' , 12];
yield ['4seventwo62' , 42];
yield ['one8kjkjvtvhfive6tsvqnine5tkdsv' , 15];
yield ['7m2' , 72];
yield ['twoeight77sevenfs' , 27];
yield ['vb8gflhvvf7hleight54' , 84];
yield ['fourcxmkbmmzbhz494gncgbsj' , 44];
yield ['bjzzsllj5gphkfnrncp3eightnine' , 59];
yield ['four73' , 43];
yield ['psvtbtf93zgdpmjxrmvsjmceightpsmhvhtfrthree' , 93];
yield ['492fkvcvcrrkhcxtgdbdclzn4' , 44];
yield ['bmf5' , 55];
yield ['twovqfxqsfgr8glst1three1' , 21];
yield ['qhqfglndqzbrhvxjdhgddnfl57vmzseven' , 57];
yield ['tptfourfour4threembr2' , 42];
yield ['94four' , 94];
yield ['57xfnxbcqntkrtzpzcvfbxtjjoneone' , 51];
yield ['7nbsmqjqzthreegddkfournbdxlrrl' , 74];
yield ['jdmnzjpxklfjbnbqtbc2onefour4ninefivenrhdkzpjcn' , 25];
yield ['9621nine4' , 94];
yield ['3qbtrqn4' , 34];
yield ['3bs' , 33];
yield ['5qncklxjnzr4seven' , 57];
yield ['64sevenjdpmgpvqszcb' , 67];
yield ['sixeight3five89' , 69];
yield ['4twothreeseven8nzd1four' , 44];
yield ['7ntnp8xqhs' , 78];
yield ['fourxfzdrjseven8four' , 44];
yield ['3lmgfpfbkrb' , 33];
yield ['jqfsptcs98gjgvgbeightsevensevenninesrqxjoneightdvb' , 98];
yield ['fivesrzpr9fcntvgjeighttwonjmthree' , 53];
yield ['2hdtrbvfjhpt3seven439' , 29];
yield ['th8sevenseven' , 87];
yield ['xdnbklcrz7two6fivetwosnfszfffqtrbhtr' , 72];
yield ['6sixninesdqlrc' , 69];
yield ['fourxjtddtqgdssevenfive6' , 46];
yield ['2ninethreeone' , 21];
yield ['4four8' , 48];
yield ['five62fivefivermd2six6' , 56];
yield ['eightsevenfour8thrmnsevenflmhqvmptnnine' , 89];
yield ['eightdd4threeeightone7rtf' , 87];
yield ['gkkonerz668srfkl' , 18];
yield ['zlt6cv3ninetwo' , 62];
yield ['3seven3bgklkfceightsevenbhvjjd4' , 34];
yield ['9seventhreellgvjs89' , 99];
yield ['fivemjlvqdtp2czcht' , 52];
yield ['kldcmlddhzthreethree2ndzqcmlsthree9sevennine' , 39];
yield ['tmxcpqchmqhzbjhkrpjtq217four' , 24];
yield ['2twogssdgqxtwotwo157' , 27];
yield ['twotwo8eightsix' , 26];
yield ['91gcvsfbxnr2' , 92];
yield ['btngjhhlpnqthreesixtwo1onejrnfxldzvx2eightwovxj' , 32];
yield ['9eightsixsixtwonineninefive' , 95];
yield ['ninethreeeightxlx3bcfdvqct' , 93];
yield ['5krhtdqfpc5pq' , 55];
yield ['four6xzqs91ninetzhpjdtdkxxthzhp' , 49];
yield ['ponefourksmmg5qqnldbdbbrtlxtnnr' , 15];
yield ['four3rc' , 43];
yield ['sixfiveone58nine' , 69];
yield ['ljdbmmlgg7' , 77];
yield ['six5fq' , 65];
yield ['5three3sevenhxlsix4bkkbsfdsgnncf' , 54];
yield ['twofivefcfb6' , 26];
yield ['mtgtkrrxhnine7zbqzdnonethreej' , 93];
yield ['twoonesevenscpqxpmxeightjgbfour7' , 27];
yield ['5gfcknine' , 59];
yield ['fiveeightseven9' , 59];
yield ['foureighthcstwonxrjflrbzpfourfive5' , 45];
yield ['9cxm' , 99];
yield ['95rjzhthree7sevennineninefour' , 94];
yield ['7six9zghtzslldb2ksfrcrntjfjcq' , 72];
yield ['2seven9nine' , 29];
yield ['86tncfxmg26' , 86];
yield ['sevenfivesix2eight' , 78];
yield ['634ldmgqdntcbeightone' , 61];
yield ['3vxvqbhjgjv1skrseven' , 37];
yield ['22one' , 21];
yield ['ntfsixone4zrjglkone8pvgqrnnppsxxbqh' , 68];
yield ['foureight8rrrxbt' , 48];
yield ['mmkpqzgbfn4ljdq8onekz' , 41];
yield ['856six8three1' , 81];
yield ['onez766' , 16];
yield ['42eightfivejzbpgl2crltttkhfx' , 42];
yield ['4eightlpksrlkjzpjxh7' , 47];
yield ['five6onefive6' , 56];
yield ['seven1eightxtf' , 78];
yield ['txdczfnngfxsix4' , 64];
yield ['fivezvkcjczgz1gfpsdspsm45l' , 55];
yield ['4gvdvlzxninedfndgfkdsixncfour' , 44];
yield ['2two915sixrqjksjr' , 26];
yield ['cbjhntsevensixfivefgpzzkgkt7pkmggrptwo' , 72];
yield ['jplfnvvgls4cnvqtkjffcqlfkxqm9zvzvsptkfive' , 45];
yield ['7sevenvqbvjrpnglcxsbqxttfdrv' , 77];
yield ['57sevensix' , 56];
yield ['2seven65smgpnfbm4pjbpq' , 24];
yield ['sevenhsix31drcreight' , 78];
yield ['9fivejtbqkmkf41xfninethreetwo' , 92];
yield ['threeeight7sixnine' , 39];
yield ['threeeightsevenseven8' , 38];
yield ['four3qrz19sixmvkrhjbb5' , 45];
yield ['mtfbjrknlrtwo36eightzkslznj' , 28];
yield ['kndkhvzsghsdqpfonekdqjfszhv6hmrgbf5' , 15];
yield ['gbxjrvh27five675htszone' , 21];
yield ['6rlqppzkcsg53two' , 62];
yield ['sevenxnrnmrh3cpllvxsdvd9' , 79];
yield ['gvtrgstx6xbpgpjthreeeight' , 68];
yield ['hlzvszhsix4' , 64];
yield ['dtxjcxfx7spkprqgn' , 77];
yield ['7five6nineseven' , 77];
yield ['6ntctkrjdvl1pgjhm' , 61];
yield ['qreightwo395' , 85];
yield ['nineone4eightsixkt3four' , 94];
yield ['19five44eightrtnseven' , 17];
yield ['1v6jskjjkzjthree' , 13];
yield ['fouroneeightfivenjpcn8ggtvz' , 48];
yield ['rhtjdxdljht919five3' , 93];
yield ['sixsevenktqxltbhseven28' , 68];
yield ['26ffncztbln' , 26];
yield ['2eightsevenstv84319' , 29];
yield ['jrqhbkj93tmrgfgtlffour97eight' , 98];
yield ['84two9five' , 85];
yield ['27seven86six9' , 29];
yield ['nxsgbzvlkm9six5six1' , 91];
yield ['five3fxmeightfourthree66' , 56];
yield ['1nineeight2one' , 11];
yield ['tbfvqssbxl1meightsevenpbk' , 17];
yield ['8sixthreexnpvk9lgjhpzeight' , 88];
yield ['qvchcvkkgsbeightzhkgxjnine1' , 81];
yield ['4tkcd1threesix3' , 43];
yield ['fjmnhf9nine9kmmeight535' , 95];
yield ['five9nrvxkhnfour' , 54];
yield ['2eightqdmjsninej' , 29];
yield ['764nine1two' , 72];
yield ['hzcxjs8foursb' , 84];
yield ['1sevenfivejlcn' , 15];
yield ['2dzrvmnd9' , 29];
yield ['nine8j9qgfivethbxfcvsixthree' , 93];
yield ['1threes' , 13];
yield ['fivebhcl8five' , 55];
yield ['6nrrm' , 66];
yield ['three7fourdr' , 34];
yield ['czqkm8qmbpzbbfour5seventwoczrj9' , 89];
yield ['krrjcbqltjfourfive1one7vhzftwo' , 42];
yield ['vsjxsffrrpz3jmrgbcbjh' , 33];
yield ['19sevenvlfndx2onetwos' , 12];
yield ['fourrshljvhgv18ninenbgfour' , 44];
yield ['h2sixgdlxbcqjmz23' , 23];
yield ['btrhktjxdnvckdc5dz' , 55];
yield ['fbzrcltwo12' , 22];
yield ['sevenfour8fjgvsqk29pgfpzsmj' , 79];
yield ['two5fjpdjtqttt36' , 26];
yield ['eightljvvhplp5nine' , 89];
yield ['53eightrptfckvfczseveneightsevenqmxjpvhgnfb' , 57];
yield ['1jtngmjtpftgzzdmjfzhmtxf' , 11];
yield ['pgphqgqvjzfeight67' , 87];
yield ['ntqfktninefivebfrthreenine8' , 98];
yield ['fthfnml152zqseven1zvsix' , 16];
yield ['six9sixthree9zsrzpxnvqp7' , 67];
yield ['xfqjxgjtzf19nzkdfourtwo' , 12];
yield ['jqntpbdlpsrhsfbvsevenjgxhkcq5one' , 71];
yield ['1fivevstjfourf' , 14];
yield ['prdvlvpzjxrtmdfoursevenfive3hxvblpmkvh' , 43];
yield ['dzjdfive7four1eight95' , 55];
yield ['7ql1nine1threetwosjv' , 72];
yield ['twonine3four' , 24];
yield ['6dbjxsbqntbhrfsxkl6six4eighttwotbztgzxtsk' , 62];
yield ['two9bqbnfdn5' , 25];
yield ['8frt3vcd8h' , 88];
yield ['fhnrjsixthree3' , 63];
yield ['pfddphghh41' , 41];
yield ['sixfive1151' , 61];
yield ['6six9one8rrjvpptljmbssk5cprgg' , 65];
yield ['49ljkjvjcbbthreesevenrqhvmtspftwo5' , 45];
yield ['nine8615qtxm8' , 98];
yield ['f96five' , 95];
yield ['9sbvxpqjhpjeightjxvbxs' , 98];
yield ['cvssllqx32' , 32];
yield ['4lbgdsrftqcpsbscvmkhonezrfourtmpnnms5kzrv' , 45];
yield ['7four5761seven' , 77];
yield ['dktmlnzhpqcnhgk5' , 55];
yield ['cgzgckzxcrthlb27tcfourfiverggslx' , 25];
yield ['43eightlpcgtvx' , 48];
yield ['szkqjfmsixthreegffszqhhninefive4gdgn1' , 61];
yield ['rhfzbnczlzjjfskg838' , 88];
yield ['pkfoneight1five3five' , 15];
yield ['39sixnineeight6' , 36];
yield ['hzjpqnmtndfive6rpkgcpbvx3two1' , 51];
yield ['9nine3five373' , 93];
yield ['kxccthreeninefhcvzh36five' , 35];
yield ['three5mqnll1mtgbfhr' , 31];
yield ['seven5tg4eightcctnzthldreightsctgkshdgr4' , 74];
yield ['six4fivefoureight3' , 63];
yield ['qthree7' , 37];
yield ['4threethreetwotwothree1lvkskqgn' , 41];
yield ['69lczgone8frk' , 68];
yield ['68mhcnineeight5zncqz5' , 65];
yield ['eightbsjvcjnn7fourfive4seventhree' , 83];
yield ['five9eight' , 58];
yield ['one4four5four8three' , 13];
yield ['fivesnkkldmjxfgnqrmcjtkeightgsb8' , 58];
yield ['sixscmqtfourgjzxmtcqmt2zgnkzspb73' , 63];
yield ['7fmdrpbeight151stdxxz4' , 74];
yield ['teighteight1557twojkccnlsgxp' , 82];
yield ['sevenmhkptflv1' , 71];
yield ['ntrlqjtxjqcxltg138' , 18];
yield ['one9zpthree9' , 19];
yield ['two7mtdj69' , 29];
yield ['tclxbdeightonedtjsdbone17' , 87];
yield ['5173' , 53];
yield ['q8ninethree86' , 86];
yield ['2eight5one1seven' , 27];
yield ['9onexcckgdxb' , 91];
yield ['l1jtwo' , 12];
yield ['ktfnfjm4' , 44];
yield ['7lxcrfpvxggfkpfnhjmm36mjslmhtfpmeightfiveseven' , 77];
yield ['bvhzdf74onelhptjshq' , 71];
yield ['eight3srvbqxmcnthree' , 83];
yield ['fivesix2ptjbknone' , 51];
yield ['vggmbmqspdj7six45eightfpglndqmsm' , 78];
yield ['eightsixcfour2' , 82];
yield ['kctpnpdbsfour49zncpnxbrzvqgmm' , 49];
yield ['7nine8seven446fourfour' , 74];
yield ['dkmt1pdpz' , 11];
yield ['eight6xthvzjcjoneone6five' , 85];
yield ['pzpvrvbbrbdsdbh8vonemkntqnrpn' , 81];
yield ['1xbvsmqbmbjfeightsjsr' , 18];
yield ['threebfcsllrone74tfdmrjnine4vhfrv' , 34];
yield ['5pt6onebrknnstfcn999nine' , 59];
yield ['hz8vntdnmvtvnine' , 89];
yield ['cgzxctckcvpvdg24hrdztmqctqmqkjbjjgl' , 24];
yield ['pbkmkcdfqsxgtprrpgprfgk96sevenzxsbjklsbrsmbeight' , 98];
yield ['sevenrqfourdxqnnlj89rnine8' , 78];
yield ['ninepqldpssh9h' , 99];
yield ['5bjdnine8threefour' , 54];
yield ['1onenineeightmnglcrd' , 18];
yield ['xjsmppqm56seven6qqdsgpxkkd' , 56];
yield ['six79fourfour1' , 61];
yield ['2jrdzvmfone2six8' , 28];
yield ['sevennssvhnpxkl3dsdqlhqxt3xkpqnine' , 79];
yield ['foureightone1onesixnqlrkndqzf' , 46];
yield ['742five25ninethree' , 73];
yield ['onexc87gbrgsdzdxqvqfns' , 17];
yield ['43zrsfzzsgm4fivezqxxztkp' , 45];
yield ['qvdnfvjlhlmznine1twothree' , 93];
yield ['8hdpjzkzblbcjfcl5ktdjfoursixfour8' , 88];
yield ['twofive7phqgtv' , 27];
yield ['six7ftkmlzfx' , 67];
yield ['4sixsevensix8' , 48];
yield ['1qmnxhfjsrq' , 11];
yield ['3fiverfqqq58two' , 32];
yield ['sbqhm6' , 66];
yield ['9xxtone6' , 96];
yield ['ln5vphjcpqhqqzdmpj' , 55];
yield ['sixsixcvnkvvrq3vrlgfvzbf' , 63];
yield ['8qkmsvcgninebfnsgmvk' , 89];
yield ['ninemjsbpppdmknqhjkvcqkq1four8fourseven' , 97];
yield ['sixsksgflz3fiveoneqmrk9' , 69];
yield ['945cskxxdtnt42' , 92];
yield ['ninesixxsfmcxkfour9gfmgthree' , 93];
yield ['sixxgskmzdpsvlxb8five2' , 62];
yield ['6hhqdfbjthreeonefour' , 64];
yield ['4onemzcgbh' , 41];
yield ['onesix1five' , 15];
yield ['3sevenhtqtbpp5seventrrlpfmg' , 37];
yield ['65fbcsix' , 66];
yield ['8rtghmdsfjqv554' , 84];
yield ['1cbnhbdrczvmfiveplsdjq5eight' , 18];
yield ['threeninemqfbrtlbpc85three62' , 32];
yield ['four88fourjttl23' , 43];
yield ['onefivejndtjrgkqfmzrlqv69twoneqj' , 11];
yield ['tworzgmq434qtlqtlfqdb2twofour' , 24];
yield ['g74sltkbkzgmthreegscb6four' , 74];
yield ['eightzgshcpeight5one' , 81];
yield ['fqprbftzmjlmdr4jssixfrfgsrggzhgxktqr1' , 41];
yield ['kdzzccthree8szbzqtq' , 38];
yield ['threefourcbnjx6vfbgrcmtnine39' , 39];
yield ['eight7jscjxtvxxbbc' , 87];
yield ['61tstktfive' , 65];
yield ['2threeseven' , 27];
yield ['rxsfrxqlmt9' , 99];
yield ['zqptzffzmf9' , 99];
yield ['b4eightthreep7six' , 46];
yield ['onethreebvnqhkdzfkbjrgnjdtvzgv7sevenrhp' , 17];
yield ['sevensixnndcjznctg1' , 71];
yield ['m2' , 22];
yield ['15sixvmsqnsmjv7' , 17];
yield ['242' , 22];
yield ['25kvtgjnxtk43eightczvl8' , 28];
yield ['eight8sixthreelcfddgn1hzqxjfvtjzqpkzdltdpjb' , 81];
yield ['eightfiveonerxz1' , 81];
yield ['mphmgxtqjlxjkx6rzprj1hrbtmnteight' , 68];
yield ['jldrhxvgghbrv1' , 11];
yield ['15fourrfzncjlgnineeightxhnvv' , 18];
yield ['566three1fbs97' , 57];
yield ['7pqmgdsix98fiveone' , 71];
yield ['6qqccfgxhbhdhjzmnqqqmb' , 66];
yield ['five1onepxvdqht2sevenrggfhmtwocmmfxplbmp' , 52];
yield ['cnine2nineeight741' , 91];
yield ['kcggzltqv9trcznjzfkmbfrfqsvvzsfnlh' , 99];
yield ['jttwone6dreightssfptmbc' , 28];
yield ['3blslthreetmtwo83' , 33];
yield ['78965rjgchhgll' , 75];
yield ['5ljmbjqk7hgjdmtgxpzs' , 57];
yield ['twosmk3two4fiveeighttwo' , 22];
yield ['qttftkrmrpscczdtxkcfournineztkkfour1' , 41];
yield ['71flmtrrssgcrxlktdmpbkh' , 71];
yield ['vvbmqjh33soneightrg' , 38];
yield ['3hlzmdpmzrrfqczv' , 33];
yield ['seven8twoxtzjhq' , 72];
yield ['64h73jvqjzlfcfdfour' , 64];
yield ['sixznbkx66spzg' , 66];
yield ['dtseven6' , 76];
yield ['seventqxtnkrvv1sixseven' , 77];
yield ['cgtshp1' , 11];
yield ['4nine8' , 48];
yield ['1kptdlhbsixthreeghpgbjjr' , 13];
yield ['pk7four' , 74];
yield ['7hbdflbcxdfivetwo' , 72];
yield ['eightzrzcrnlkd2hrdpl' , 82];
yield ['twodpsix9fivegkdkgtqlsix5four' , 24];
yield ['4gfgvsevenmgzkpdsix4' , 44];
yield ['3eightqlg29' , 39];
yield ['6fqvzgdbmgjl57eight1nineeight' , 68];
yield ['two8xpqlfp3njzdfivecvx2' , 22];
yield ['gbtwoneftrjc733four' , 24];
yield ['6gqrfzrqnthreeseven4sevenltfpfour2' , 62];
yield ['gtgnjsixdxt4five' , 65];
yield ['mmvrthqbkvvl37' , 37];
yield ['3one4fourtpspnczvvbvlrthxc' , 34];
yield ['2eightjqmjqkninecmcfkpvvxl' , 29];
yield ['fourninethreethreebqvvzd6eightwor' , 42];
yield ['7four1gbnjmmbp1sevensztfrvzx5' , 75];
yield ['6one5hcdqtfkfzbl54five' , 65];
yield ['93bnghqnine' , 99];
yield ['cxjvtgmgd7qxqxmxv' , 77];
yield ['6538three6threehvqx' , 63];
yield ['95sixseventwoone' , 91];
yield ['one86nrfddkxnlgvglqbdxfnf6nine4' , 14];
yield ['8zltdpcmctqkhhnxgcxsbphxbksix3' , 83];
yield ['rrdp4psctpgdpm61eight6' , 46];
yield ['cxgvfqhvsevenrpg8threepfqxphrjkr' , 73];
yield ['fivemnsjxdmhqkzhxv4' , 54];
yield ['5knvlqvr1fiveqfpjlqltwokjf' , 52];
yield ['threeonegrxgzsvdhkdcmzvfpseven5zmfiveseven' , 37];
yield ['eighteight717pxblll5sevensix' , 86];
yield ['2cnhcmftwosix' , 26];
yield ['zzbdfnine3x55' , 95];
yield ['one485ninecknv' , 19];
yield ['7onesixonesrptdsixnine8eight' , 78];
yield ['9fourtwo9kmjmbdnnvjjfgxdc' , 99];
yield ['foureightonespxsprvxpmgqqcdtz5r9' , 49];
yield ['39hzsklqnzpfivepsfjhkpbpgvf' , 35];
yield ['7five7threevqjbnthree9ccv' , 79];
yield ['qlnoneightfnineninetfdmb8msixcxcmjxpvfr' , 16];
yield ['sixeight2xflfivesix' , 66];
yield ['jxxzbnine5tlhzrzq54' , 94];
yield ['6eight7311' , 61];
yield ['8twontzkqkdg6ninesixzbzone6' , 86];
yield ['eightsixfournine9' , 89];
yield ['jmrd4' , 44];
yield ['78threefivesixseven8gfc' , 78];
yield ['rnmcgvmponeeighthxn1' , 11];
yield ['seven682mdxrvzfshseventvpgvv' , 77];
yield ['eight5jftlfcbkfr' , 85];
yield ['four4seven3' , 43];
yield ['4nsmkvsxc22tj' , 42];
yield ['three4435' , 35];
yield ['563threesixtwo5six' , 56];
yield ['qxlzsgvkbh4' , 44];
yield ['xoneightsixfourhlrttrld85onetwotfdx' , 12];
yield ['7dvlkcphhrdrzttqn2ztxvdbhdhtplmcbhphxnvg' , 72];
yield ['hfzd59nineonexznhg' , 51];
yield ['onetwo29threex' , 13];
yield ['3four9eight' , 38];
yield ['jcqprfrm6nmzplggbrnine' , 69];
yield ['kone8' , 18];
yield ['hgn9pkrxmrtmtwofsfdmbgnmsfourone' , 91];
yield ['8pljqhtm' , 88];
yield ['4eight6fivetwohbrxgtbb6nfive' , 45];
yield ['hgdnxvkhghfnbvgsqxn39eighteight' , 38];
yield ['tzcsdqkvkhvcrngeight226rvvz1xkblchlg' , 81];
yield ['9qlpvsvdkxgbsixhnxfrcfmx6seven4one' , 91];
yield ['9bcppqvxt7eight3five' , 95];
yield ['5tnmcnrlsnqpkrfprtwonm2four' , 54];
yield ['8eightndzgrtfgpm25tsdcjvckninebchlrd' , 89];
yield ['9sxjbgrvtblnxfphqsix571df' , 91];
yield ['eightckd32oneightk' , 88];
yield ['twotkvsixoneqnzjd2mnhhp' , 22];
yield ['two3l5sixfivecgkr2' , 22];
yield ['nine4two' , 92];
yield ['964five' , 95];
yield ['seventmxhtjnbmj7nlkmbgmbxbhseven' , 77];
yield ['99bgdpvhninesix4threeeighteight' , 98];
yield ['1xhzbjtmfcpd8lqzsthreexxjvbhpfszh' , 13];
yield ['five4oneqnponep31' , 51];
yield ['xlzctwonine5mxfive' , 25];
yield ['8hjrqxseventwoqsfive8' , 88];
yield ['four1hcqfdvonefpfhxmssnn6' , 46];
yield ['zmhs3sevenndfx795' , 35];
yield ['fourkrlnine1' , 41];
yield ['four8mljmjmfpjscckqmxjhjnine43' , 43];
yield ['2five5threegqmgkqm3three7' , 27];
yield ['8fgnkjssix' , 86];
yield ['twoonejqnfphmf77z2threebsp' , 23];
yield ['57pstfv1nine58' , 58];
yield ['6fivetbvnnpb' , 65];
yield ['1331gnrbthgn' , 11];
yield ['2nxpxpcbzdbgnhhrskcdrsix' , 26];
yield ['onegdq85' , 15];
yield ['fourcmjlrdtstwo81tpbnttcntnineoned' , 41];
yield ['jrqfmvleight2ninetblfzlhnsjhdrpltnt' , 89];
yield ['nineqzp8' , 98];
yield ['19qseven' , 17];
yield ['fourmmgfj68pgdgvfour3' , 43];
yield ['twovkfour9five2' , 22];
yield ['1cmtgkdn1' , 11];
yield ['6sixsix' , 66];
yield ['seven9sixnine' , 79];
yield ['4vbhqnqsdvfour1four4ftfvpsm' , 44];
yield ['dsbqseven9gshsnxxvf4ninez' , 79];
yield ['2jqpdmlt' , 22];
yield ['seven759' , 79];
yield ['threecxsbfourtwocnfbzkxgfb7sixeight8' , 38];
yield ['8b26twotwo' , 82];
yield ['7rv4five174' , 74];
yield ['ninegdjrbzjk97' , 97];
yield ['two1ninesix' , 26];
yield ['dmr96' , 96];
yield ['dpzmhthreesevensixxhqrmvlgkpmlmtm1' , 31];
yield ['5191ninetwopbbmkf6' , 56];
yield ['663nine331nine' , 69];
yield ['4gjhqpfivesevens' , 47];
yield ['7pmfk29dxhqgmkgxthhvsztvfour' , 74];
yield ['2onenine' , 29];
yield ['lmftjxtjcfour3hjqgkcd186' , 46];
yield ['twovgrrxgdj7238lvfr' , 28];
yield ['7vnsklc' , 77];
yield ['6sixfive9nljzpcsxzjknkjxknbjsfd' , 69];
yield ['four985veight49c' , 49];
yield ['2grvszbbkqjpfmvqcrktvvl' , 22];
yield ['qvrscfptmr9934jx51' , 91];
yield ['58' , 58];
yield ['xfqzrsj5one' , 51];
yield ['njdrlfxmrmmxtrsccgrpjcfmf25' , 25];
yield ['ninesix1' , 91];
yield ['fivevnfvfpsnxcd9eightthree' , 53];
yield ['hldsrqrjtb6onehtleight2three' , 63];
yield ['six3three' , 63];
yield ['6sevenfour' , 64];
yield ['sevenrvchgqxpbm392zvsncffrhnine' , 79];
yield ['796fourtwo3frkdqzgtwo4' , 74];
yield ['ninexrxf5rjcqxqxkktfrx75four' , 94];
yield ['sevenonetpfiveqpcgsnmqqkrcnmctrclptd6' , 76];
yield ['kgrnm6816pcxqnqd6gvgcsxxrs' , 66];
yield ['one9rvzvlrnzhbnnknxfiveeightwols' , 12];
yield ['71gxxrzbzgd65' , 75];
yield ['nzm58972one49' , 59];
yield ['626hljmxrkscqsxhzm' , 66];
yield ['eightss6fivetngplspntpmsrdpbk' , 85];
yield ['3nine3' , 33];
yield ['five4one' , 51];
yield ['jglzllhf1cl683' , 13];
yield ['5eight34sckhhxrtwonem' , 51];
yield ['eightksevenmgvhczgmqtwo1' , 81];
yield ['dpjfj4znzjznttwo' , 42];
yield ['gsfbsz67threeccjtsg' , 63];
yield ['six76sixsevencqtninefour' , 64];
yield ['sth3sndpsvnx4' , 34];
yield ['two1mndnzjonemlvmlfive3' , 23];
yield ['zkqzhdt2rtlpf' , 22];
yield ['eight8951five6' , 86];
yield ['1qxfvkbmtqvrnztnrztplqldhrmdpgtvcggsixflknn' , 16];
yield ['3fgldgs6six182' , 32];
yield ['ptsrdvvzhfourmgfqseven51klvfqnine' , 49];
yield ['kbktwo4lmkmseven1' , 21];
yield ['gkhpvkeightsixronethreeone2' , 82];
yield ['8six5' , 85];
yield ['frqhlvzrjrxfive2three5g' , 55];
yield ['6crprnxzzvktwosixl' , 66];
yield ['fgc1three9pszkbrhdpmmqnkvbsrttgfjpxg' , 19];
yield ['9twoseven4kvtjxd' , 94];
yield ['7five1onetwo22' , 72];
yield ['7pdjjjfcmq26four' , 74];
yield ['3five4two1dbqztzfxrxfdhh' , 31];
yield ['nzgtvl4tvseven' , 47];
yield ['8qvcrbdvjfqvdsjlfltlzfoursevenoneeightbmvv' , 88];
yield ['sixfconesix6three1sixsix' , 66];
yield ['eightone9nbdrkonenine8' , 88];
yield ['3two5lbrb43nine7' , 37];
yield ['foursix5eightfivezvnbsevenjcrzhxdzfb2' , 42];
yield ['jmgnfive7ffglffpjlvbtvl935zz' , 55];
}
#[DataProvider('compareProvider')]
public function testCompare(string $input, int $expected): void
{
$this->assertEquals($expected,
Solver::extractNumber(
Solver::walker($input),
),
);
}
public static function additionProvider(): \Generator
{
yield 'one' => [1, [0, 0, 0, 1]];
yield 'two' => [2, [1, 0, 1, 0, 0]];
yield 'ten' => [10, [1, 3, 1, 5]];
}
#[DataProvider('additionProvider')]
public function testAddition(int $expected, array $data): void
{
$this->assertEquals($expected, Solver::addition($data));
}
}