Created
December 7, 2017 22:08
-
-
Save PamelaM/86ac1c4b2474891a3ee1abfebfdb626e to your computer and use it in GitHub Desktop.
Advent of Code 2017, day 7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| TEST = """pbga (66) | |
| xhth (57) | |
| ebii (61) | |
| havc (66) | |
| ktlj (57) | |
| fwft (72) -> ktlj, cntj, xhth | |
| qoyq (66) | |
| padx (45) -> pbga, havc, qoyq | |
| tknk (41) -> ugml, padx, fwft | |
| jptl (61) | |
| ugml (68) -> gyxo, ebii, jptl | |
| gyxo (61) | |
| cntj (57)""" | |
| INPUT = """mqdjo (83) | |
| jzgxy (15) -> usdayz, zvbru | |
| altep (75) | |
| gaieus (117) -> unkring, wjgvjlg | |
| ejlbps (59) | |
| uralh (17) | |
| tzdmi (891) -> mhzwwo, mgybhs, pptdd | |
| whntvd (2133) -> vuzxyz, hcfgnt, kuvek | |
| aoqjxqk (99) -> qjfdh, vmusp, yqmclp | |
| wwmjf (404) -> vvoadnv, sgujp | |
| btgbr (54) | |
| ftkfi (27) | |
| vamssbi (194) -> picmfs, eutmjw | |
| rrmrv (23) | |
| vdavxhx (31) | |
| ensgy (13) | |
| ayngc (51) | |
| qcblt (87) | |
| wgqalow (6) | |
| fvypts (47) | |
| rioda (97) | |
| fbmhsy (58) -> lqggzbu, xwete, vdarulb, rkobinu, ztoyd, vozjzra | |
| ctmlo (29) | |
| uezrt (28) | |
| xvuxc (39164) -> nieyygi, hmcjz, ceizm | |
| lvejxwu (71) | |
| enogs (87) | |
| lhdwm (58) | |
| yeoeyme (55) | |
| iwqzx (74) | |
| xmnts (1113) -> rcmcf, dgihmb, xyhyumy | |
| xhlgx (105) -> pamyclw, rrmrv, ulseuu, ihkrezl | |
| mivzz (10) | |
| kqwlhff (72) | |
| lrlfs (152) -> jlgvr, sttwla | |
| trzae (35) | |
| jqgfz (63) | |
| ymmpp (66) | |
| vwuif (26) -> lrdpo, hxejeo, jxlzfjd | |
| osxdc (172) -> qlxtmmw, gzvxqn, krboup | |
| elfkuam (92) | |
| sjsfqhv (143) -> rwxwe, dyjyjd, nwbcxj | |
| kuvek (92) -> yqnfpeq, fcwev | |
| gcsftd (765) -> lmpvxf, epqbl, rlsom | |
| jfpbi (28) -> altep, ajsgpnx, vygscor | |
| woqtzz (51) | |
| mrqbmg (15) | |
| iwdkssd (78) | |
| gwqzfk (28) | |
| zfvweqs (34) | |
| anqvh (2135) -> gprcxh, oyahwdc, hxtrzk | |
| eeikp (24) | |
| nrlmfax (148) -> ammwyf, uaypo | |
| eutmjw (12) | |
| gsjah (31) | |
| lgofh (90) -> alhvq, fgreoy, lmgwjss | |
| untdlz (88) | |
| rtdpm (24384) -> xhvyt, mrqug, kbkcw, gmlxpn | |
| yfejqb (493) -> osxdc, jmyovo, nfmkvob | |
| tzccgz (74) | |
| cqksxxm (56) | |
| vclagjf (40) -> tcziis, oxkbg | |
| mqhuedy (7) | |
| vvfukul (88) | |
| acmkv (65) | |
| gvfmsy (259) -> tokzfq, mnenfrc, feyacx, vpjiwwm | |
| zcxiup (35) | |
| dtivzu (36) | |
| rwpaht (55) | |
| yzuuvbm (63) | |
| xuavduh (125) -> ftcxb, vynaaf | |
| xmxuqtu (13) -> edwlp, xphhbib | |
| grqiik (165) -> ookot, hazds | |
| lnvdcr (31) | |
| qdxkysa (155) -> nqcdwx, boliuot, dsjxy, mfjan | |
| pdbruf (76) -> wwpagi, svmgylv | |
| xilwqcz (106) -> gsjah, wntacd, ifvwm | |
| abdnunu (35) | |
| kihew (46) | |
| jteda (97) | |
| hzdox (43) -> oclbecq, iwdkssd | |
| zdtzt (77) | |
| arlra (258) | |
| omynf (318) -> dwdjp, kiqfls, sfepx | |
| xycww (64) | |
| vlsmybk (83) | |
| umhfxkg (40) -> cpfswhf, jpgbqgr, guzav, xumyvt, gmgwaa | |
| ngdhmz (92) -> qgdeiw, dhcgig | |
| mxgpbvf (52) -> jkaah, tfovn, foaqmc, gaieus, zxgptth | |
| diizvrq (69) | |
| dnuov (72) | |
| cjofkgw (10) | |
| dtacyn (42) -> xvuxc, eyyrn, udtsgjk, zprkrrn, rhhdc, rtdpm | |
| grdpxxr (45) | |
| bruwizl (11) | |
| eetpan (48) -> mbffn, hhmwxe | |
| ceupnk (31) | |
| tuijc (27) | |
| dhoqdtf (81) -> fzvnyc, ofazxj, vudnna | |
| svmgylv (88) | |
| bxoqjhj (70) -> woqtzz, ayngc | |
| mpthchj (1933) -> acowb, ojaql, tqlyzrj | |
| uovufgc (91) -> sumnuv, iklpkqe | |
| reslc (26) -> epnsvw, zgpuqmv | |
| sovwn (63) | |
| mhgzyqt (30) | |
| rfhlu (186) -> ifpae, bivky | |
| yimjq (285) -> vvvgmqe, rjqdo, uavna | |
| mgybhs (300) -> sgwxlb, beopgpz, ftkfi, tqndz | |
| yareka (95) | |
| qyiwwwy (39) | |
| vudnna (93) | |
| rbeigk (47) | |
| qzhrv (360) | |
| imgrm (12512) -> gcsftd, odxjz, umhfxkg, oqisjkn | |
| nieyygi (7308) -> ptshtrn, mxgpbvf, cfqdsb, yfejqb | |
| pytprd (75) | |
| ykaodk (24) | |
| upbwakj (66) | |
| byxzbw (86) | |
| xlzryhc (1814) -> ujxume, zrqzw, aqwfxoj, mxtgoh | |
| ovonpn (93) | |
| pfzsu (84) | |
| twucd (7) | |
| vtrgext (50) | |
| vpjsxth (70) -> kobwl, eeupi | |
| nwdzcl (54) | |
| xwyxvr (29) -> pffhee, ycmdmvr, cupvdjn | |
| mktppi (86) | |
| oouozuv (46) | |
| zhuue (5) | |
| kpoou (34) | |
| blskny (29) | |
| grhibzl (43) | |
| okwiabh (304) -> hyufw, hmhmfd, mwhef, lnkeeie | |
| nlpdso (8) | |
| vyqni (76) | |
| mbffn (85) | |
| tsuti (34) | |
| plgldf (90) | |
| obelp (105) -> icdtprw, mrqbmg, wwmzjie, qxhuuf | |
| uueqz (52) | |
| mumpgs (94) | |
| ioxkn (67) -> mxqme, tcugzqe, wbopu, ipjaf | |
| fyecx (50) -> gcyzqup, zkljjip | |
| gmfzmby (90) | |
| sxbko (84) | |
| unkring (48) | |
| kbdrjwl (2012) -> skjdw, ukqofsd, gonru | |
| guzav (73) -> tuzwlaj, hsdwgl | |
| qicxip (18) | |
| arbiru (168) -> znbxm, zsetpb | |
| rjqdo (36) | |
| slvwki (11) | |
| uanii (10) | |
| zxvtq (1702) -> brenhzl, aekrgip, eojaq | |
| izmnzef (330) -> idwncn, tcsoa, wagjjy | |
| gcyzqup (63) | |
| pjqtv (29) -> qvmdj, ovzrat, hjtmfck, yqkzm | |
| awzbq (25) -> qjhugv, grqiik, ojcbjkx, blwgxoz, yspyrs, qiwio | |
| badle (30) -> anuyfh, fcesi | |
| ltxiy (341) -> smusd, kpoou | |
| mwzana (12) | |
| elkqdsi (52) | |
| ggymz (83) | |
| hxtrzk (172) | |
| lufwlhx (34) -> mhrno, mtyuix, crzqw, mktppi | |
| pvkps (92) | |
| lrgsjqn (66) | |
| fgtzv (63) | |
| mtrmn (79) | |
| yshpwl (19) | |
| xnmmdhk (49) | |
| aozsepf (113) -> rnaud, bclda | |
| xhnlro (46) | |
| gvrwy (71) -> idhdqo, bvjds | |
| znbxm (12) | |
| uaypo (61) | |
| skoloe (28) | |
| ypfxnr (233) -> avxapnw, maalkoh | |
| fywvj (71) | |
| ltpjwb (82) | |
| atbxzb (221) -> jepepf, torpy | |
| oxhnlv (13) -> nrozgxx, kjjzdvp | |
| eyyrn (44234) -> rchso, dqwet, qoqdhpx | |
| jxvod (9) | |
| jrvumy (92) | |
| ukejvdd (34) | |
| ulseuu (23) | |
| lmgwjss (34) | |
| vpgsx (65) | |
| ykvww (51) | |
| zwmbuyl (71) | |
| vcsfjyd (24) | |
| vdxfff (38) | |
| vozjzra (70) -> ginyxrk, sgbejy | |
| cizxbj (193) -> abndmkw, qyiwwwy | |
| yroyqeo (13) | |
| hkanwp (13) | |
| plctc (345) -> rngety, zebcbo | |
| ayode (38) | |
| rwwww (22) | |
| rundk (116) -> cwwsi, enogs | |
| ixqqqjj (269) -> aozcb, ahvhqoe, qycnzr, ojwezo | |
| jdjvp (54) | |
| tcsoa (165) -> rwpaht, idcowch | |
| owlwzwx (36) | |
| yhljr (26) | |
| rciod (54) | |
| tnhnp (154) | |
| shmvzp (43) | |
| gkoze (158) -> lrpzf, zkbzbn | |
| picmfs (12) | |
| ghjcbf (3487) -> ccpeyc, okwiabh, qxsie | |
| tcziis (77) | |
| raugvuk (78) | |
| jepix (56) | |
| wlbuyk (73) | |
| fgreoy (34) | |
| idqsz (27) | |
| akcgcxy (90) | |
| hkcobh (20) | |
| hgmzkam (63) | |
| teauca (399) -> cwlvxo, jsohd | |
| dkjcz (34) | |
| xulggnd (253) -> spfyg, qqpvjbu | |
| gyuiagl (126) -> xwkudo, irlntnq | |
| wnkaz (9) -> ovonpn, idnken | |
| mlqfisf (150) -> lrgsjqn, rfewc | |
| ikknx (23) | |
| aekrgip (155) -> xbtcnx, odfgjh | |
| qfvbg (420) -> jdyblpx, llqfm, vydlsvt, gkoze, ofvidy | |
| xddngkv (75) | |
| hazds (17) | |
| awvyj (43) | |
| swsbeo (1351) -> crhrx, ylbuzsq, wcuqhwq | |
| irlntnq (23) | |
| asdevc (66) | |
| dniwy (7) | |
| qedlf (60) | |
| yrsfcq (72) -> emdaoqf, qezss, frozh, aakyzvs | |
| ptocen (64) | |
| vqxyr (66) -> jdjvp, rciod, zwofqok, igkxvqh | |
| kjgfm (73) | |
| hmhmfd (100) -> hbuwd, rrohrwo | |
| lezpa (84) | |
| cfqdsb (556) -> feizivp, vjhsczt, gmxbjg | |
| oclbecq (78) | |
| qqypffg (67) | |
| lrdpo (91) | |
| kvolhll (77) | |
| nhiujz (271) | |
| mxqme (32) | |
| wjmfbz (75) | |
| sgltbu (80) -> guphfh, uzxjy | |
| wvjumh (90) | |
| tlwfzzu (87) | |
| vmusp (83) | |
| jlslmo (13) | |
| bhysq (10) | |
| daxfuxl (13) | |
| arqxnjl (1242) -> xvtdoyr, rkupoek, izapo | |
| mtyuix (86) | |
| qjuvyr (56) | |
| pfctdp (127) -> hjibwmq, bseajmt | |
| erjsdm (65) | |
| jkaah (97) -> blskny, ctmlo, sxlecxm, fjixq | |
| lldszk (2467) -> xxslxbt, elfkuam | |
| wzejrx (43) | |
| yqnfpeq (20) | |
| ztoyd (227) -> cuwjy, rhamh, idwgpl | |
| ocvjwr (63) | |
| bxgyjw (60) | |
| bnggqtn (58) | |
| cupvdjn (50) | |
| elebwva (173) -> skmum, hibcfm | |
| tmhgfe (223) -> tqfel, daxfuxl | |
| slduca (71) | |
| ybcta (17) | |
| cyniz (855) -> cgzpd, kimrt, sxaib, syppxhj, pfctdp, qdxkysa | |
| ledbvvq (240) -> cchmz, grdyhff | |
| alhvq (34) | |
| eoxmesy (24) | |
| hzzwzx (7) | |
| odtzcu (37) | |
| rnviq (89) -> rkcdg, fyalh | |
| qvmdj (30) | |
| phqjxv (161) -> kihew, qiyidu | |
| ifpae (87) | |
| ooqsaz (97) | |
| jnsph (93) -> aeiee, vcpkha, zvdmblb, sbvcz, yriybrc, aoqjxqk, nhlbui | |
| vvoadnv (23) | |
| btabyp (203) -> gegad, rmyjxl | |
| aosrim (40) | |
| qgkhdex (41) | |
| qvhpl (84) | |
| rkobinu (164) -> ymccua, xtsnf | |
| fcesi (73) | |
| pxdezu (43) | |
| phjllc (132) -> slvwki, fhqqbsx | |
| ezrpvp (94) | |
| jhlxf (74) | |
| ypfss (172) -> kltwy, grhibzl | |
| jrqmxt (23) | |
| nfchsda (43) | |
| ctnfhim (71) | |
| dksbpu (50) | |
| sxlecxm (29) | |
| exnlyy (26) -> nwooizm, jhlxf | |
| hyurmnj (70) | |
| rarvsbv (91) | |
| pmpmgak (19) | |
| pnkce (63) | |
| isozjve (84) | |
| axondt (154) -> nmqmbc, kmhzija | |
| yuzamn (79) -> rxwbam, ptocen | |
| orlwcra (71) | |
| sxghqf (17) -> hswecad, pbdww | |
| saksuh (72) | |
| hromhg (50) | |
| lqplgho (198) -> fywvj, jbxkrhf, slduca | |
| pptdd (76) -> cthyoqb, mvjppl, mhtfkag, dsxamd | |
| baosr (80) -> byxzbw, meajs | |
| qzslx (83) -> vtrgext, fnwzvf | |
| rhqmcl (15) | |
| nxvfovk (97) | |
| nwbcxj (68) | |
| yxstzne (21) -> dnuov, mqwmam | |
| wlheoem (6) | |
| luqtj (171) -> kjgfm, wlbuyk | |
| sgujp (23) | |
| odxjz (37) -> luqtj, igpyz, qzltox, ufwsbx | |
| gprcxh (84) -> xhlqyt, rwwww, xwsgv, gnqasz | |
| iklpkqe (49) | |
| vmianfx (51) | |
| zkljjip (63) | |
| oaucz (74) | |
| zaahfws (72) -> cpncdpn, kqwlhff, saksuh, rwnnzj | |
| omnflj (26) | |
| yzzkb (98) -> nxywzy, zukmsws | |
| upttsy (46) -> lhusw, cabbpbp | |
| awdam (122) -> zboinwm, erjsdm | |
| idnken (93) | |
| xpxwq (56) -> cizxbj, ynxwu, cpbfkf, izfny, dontia, viohwud, nhiujz | |
| adklqb (13290) -> pzsdbxi, jahpohn, yurlqf | |
| yurlqf (1176) -> wiyuhex, cujasg, hzdox | |
| qjagx (265) | |
| ccpeyc (13) -> eowou, kbbck, oxhnlv, obelp, rxmnfgj, ahfsddo, yxstzne | |
| amdyzs (28) | |
| nxywzy (96) | |
| vjunjns (170) -> dgrfnj, ceathvu, lspkp, nqmfyxs | |
| juzzs (30) | |
| hrfdy (79) | |
| klbkp (1736) -> qzslx, uycbfkf, gvrwy, eadxb, rysbl | |
| ggijqt (21) | |
| ebeltx (60) | |
| lnkeeie (58) -> hrfdy, mtrmn | |
| pwsfhgi (52) | |
| zdymtqx (49) | |
| zenuyzk (84) -> teqabnc, kmqopjq | |
| eowou (119) -> jrqmxt, ikknx | |
| mwdjsxv (51) | |
| oritewf (164) -> jxvjp, htvenp, cgzcdzi, ukysk, ocakmk | |
| vygscor (75) | |
| zkvql (20) | |
| sttwla (65) | |
| mmlkoh (2271) -> jmrbakg, bpatyq, yucyi | |
| yiupwfc (88) -> izrwts, yimjq, vfqbff | |
| ynxwu (127) -> ghicha, xohoejm | |
| fqffx (94) | |
| xhlqyt (22) | |
| tqndz (27) | |
| crzqw (86) | |
| epqbl (140) -> zdxksj, zkvql | |
| ujckr (1913) -> phjllc, ibuys, tnhnp, sgltbu | |
| lezek (775) -> rkgwky, menclt, ekxdgkq | |
| qzoqo (79) | |
| rnaud (68) | |
| zwfvctv (5) | |
| lyebndp (49) | |
| ircvo (11) | |
| dpqnim (39) -> pxdezu, awvyj, yiigtz, wzejrx | |
| pmtssy (18) | |
| zjyhf (56) | |
| kdzuk (78) | |
| mnojup (73) -> sxbko, umnvlw, zvodhi, pfzsu | |
| befeb (96) | |
| tpcir (16) -> jcwdnlr, goeprx, wwskbob, tneetox | |
| xohoejm (72) | |
| qdufkz (94) | |
| ghyii (60) -> esmmub, qjuvyr | |
| zprkrrn (46528) -> ghjcbf, jsrdr, ywyvxv, ujsqcr | |
| yxpavwg (38) | |
| dqwet (6621) -> uibut, bgugou, izmnzef | |
| zqhmft (98) | |
| rttcn (108) -> ylzoeee, ooqsaz | |
| qzjtxi (13) | |
| yssxm (1494) -> yuzamn, hybkngi, jzgxy, umryvx, mykoaba | |
| xbtvul (30) | |
| vgmnvqr (79) | |
| rchso (42) -> viwwie, kppigwv, zesja, azaxxvz | |
| njxkbbs (37) | |
| sambp (84) | |
| ctmyow (14952) -> lwzfwsb, awzbq, dvdbswf | |
| bjenf (94) -> bjxuox, offqpoc | |
| ekhsurt (223) -> skoloe, ijzzl | |
| mhnjio (29) -> whntvd, ujckr, dysfcb, yssxm, cyniz, jnsph, mmlkoh | |
| uycbfkf (9) -> tlwfzzu, mnieqt | |
| rcmcf (86) -> jteda, iydwka | |
| zboinwm (65) | |
| boliuot (31) | |
| udcgj (455) -> ynydd, uxbgd, xogbbc | |
| uozayo (39) | |
| fltthw (117) -> hdpizox, dfqahip | |
| dgrfnj (22) | |
| wyusin (38) | |
| zvbru (96) | |
| owhgyez (37) | |
| dtwdad (81) -> zwxvo, nsldzh | |
| yqmclp (83) | |
| semtwrh (82) | |
| ihteano (97) | |
| mhrno (86) | |
| wwpagi (88) | |
| ngcyru (56) | |
| ngwldiu (55) | |
| virmpl (175) | |
| aakyzvs (367) | |
| vubuie (79) | |
| kpczbnm (26) | |
| jahpohn (51) -> uawat, zenuyzk, pwonvpm, bborg, zjnaor, lniuonj, yxmkycd | |
| jxlzfjd (91) | |
| mgvgcf (30) | |
| xphhbib (83) | |
| vzubyy (84) | |
| spfyg (13) | |
| emaqhkl (49) | |
| bvjds (56) | |
| aqwfxoj (50) -> byytq, qybcrhn | |
| ukysk (234) -> ircvo, oeinoe | |
| lpwze (175) -> ltaujs, hosjc | |
| wikrvq (15) | |
| anuyfh (73) | |
| fgfkrxp (69) | |
| rrtqw (8) | |
| lehgocg (42) -> vpgsx, pydanp, nppyzr, kdgxoi | |
| nzuvke (16) | |
| ehcjup (18) -> kqduo, sambp, rxehio | |
| jjqwgq (34) | |
| jepepf (63) | |
| oikfudn (135) -> ynubz, xqqdtu | |
| maicx (48) | |
| ammwyf (61) | |
| xqkrdp (30) | |
| ylbuzsq (89) | |
| ulrqcxx (17) | |
| bfhjnn (13) | |
| hyhcihf (28) | |
| jqtbsy (32) -> yqzkn, dhiavwc | |
| shelxb (66) | |
| jmfybp (100) -> qzhrv, ckyvnnj, dhoqdtf, hhrqizc | |
| fgscpqx (96) | |
| viohwud (256) -> zwfvctv, rjfktu, gfygwj | |
| erqjppo (97) | |
| gldbbde (24) -> hqxsfn, vwgmnj, rphmi | |
| hvrve (36) | |
| ajsgpnx (75) | |
| oklhlne (12) | |
| radodhv (5) | |
| kycxdgx (29) -> wjfar, pmjvz | |
| mvjppl (83) | |
| brilycx (97) | |
| duklm (47) | |
| hibcfm (87) | |
| yjeavx (53) | |
| vwgmnj (97) | |
| uavna (36) | |
| cujasg (65) -> qqypffg, pgpmlgz | |
| rqura (47) | |
| rfewc (66) | |
| ayklc (595) -> lrwlhbc, ypfxnr, gldbbde | |
| nvldfqt (57) | |
| bzvwi (20) | |
| rcstlvu (10) | |
| fnwiq (63) | |
| twikxu (59) | |
| byytq (60) | |
| mmlcvqo (37) | |
| sqowhp (34) | |
| nwkqcsc (24) | |
| czlcjl (626) -> qmtofe, kefdbed, rnviq | |
| pqavmdg (17) | |
| wfjme (21) | |
| latbj (240) -> vdavxhx, lnvdcr | |
| pthrzgd (38) | |
| ghicha (72) | |
| vlrtfe (114) -> aosrim, pnlmj | |
| izrwts (337) -> amdyzs, epilojy | |
| cjksouo (154) -> oaucz, iwqzx, dlszm, tzccgz | |
| rysbl (21) -> dzmqhbp, rscwd | |
| qilfd (86) | |
| zebcbo (42) | |
| atdfonp (52) | |
| oukcyj (7) | |
| pydanp (65) | |
| bpatyq (32) -> iszhqi, gwnxq | |
| bcuxejj (63) | |
| hdsvjwr (1480) -> stryo, jmtmw, tbdfmz | |
| ywyvxv (3190) -> gydenqe, ydhxt, yiupwfc | |
| xqqdtu (20) | |
| xkqiqns (69) | |
| wcuqhwq (89) | |
| pczqv (88) | |
| yhmbooy (35) | |
| bjxuox (39) | |
| kqduo (84) | |
| qinuxsr (238) -> ajcpmg, mdtuwks, huvag, bxtzi | |
| wjfar (85) | |
| nfmkvob (208) | |
| wlrrckg (697) -> pcxcr, lmyinxy, ekkgfax | |
| plifn (26) | |
| crhrx (89) | |
| zwofqok (54) | |
| afurlcd (63) | |
| tohwd (1394) -> eeikp, wsqspc | |
| ojcbjkx (185) -> mqhuedy, twucd | |
| wbopu (32) | |
| fjixq (29) | |
| mwhef (136) -> zcvqw, tnxhf | |
| jdyblpx (130) -> mmhim, phomdt | |
| nhdfnv (51) -> fltthw, kycxdgx, xilwqcz, prbrv, dzibhav, orxuz, zozpw | |
| ckyvnnj (234) -> pnkce, yzuuvbm | |
| vllgqt (5) | |
| kbrbq (42) | |
| stryo (219) -> idqsz, czala | |
| ksrbxbh (255) | |
| vqrcq (127) -> zcxiup, vvmfk | |
| orxuz (172) -> bfltqak, skogcpe, jxvod | |
| jbxkrhf (71) | |
| egxng (20) | |
| fswhfws (90) -> ocikhq, ayyfw, gwqzfk | |
| gegad (26) | |
| ifvwm (31) | |
| kmqopjq (81) | |
| rdxfau (8) | |
| vvvgmqe (36) | |
| rssmrnc (53) | |
| eofrs (35) | |
| vdarulb (246) -> hzzwzx, oukcyj | |
| rtbjlii (157) -> pcxny, zjzyo | |
| zjnaor (118) -> uuozpc, xycww | |
| zmkyj (65) -> fqffx, ikzsd, qdufkz | |
| bivky (87) | |
| roirllq (75) | |
| osehy (12) | |
| odqfu (37) | |
| rhhdc (3564) -> mhnjio, mzrntf, imgrm, sgamgp | |
| xghyc (35) | |
| umeup (55) | |
| pihhh (859) -> jfpbi, xvsrff, phqjxv | |
| yucyi (35) -> pqavmdg, ulrqcxx, eaemt | |
| kobwl (74) | |
| zudwpn (2104) -> gvfcl, dicxtfr, reslc | |
| acheq (179) | |
| hxxvca (41) | |
| sbvcz (198) -> mveyh, xddngkv | |
| rphmi (97) | |
| kotdcly (26) | |
| rwrmuv (78) | |
| skmum (87) | |
| rngety (42) | |
| lhusw (74) | |
| srrbgff (42) | |
| fvpbw (23) -> vmianfx, ykvww, mwdjsxv | |
| huvag (23) | |
| tokzfq (22) | |
| jylrfoj (72) | |
| cpbfkf (77) -> brilycx, ihteano | |
| fzofpn (75) | |
| xogbbc (32) -> asdevc, shelxb, rurnike, ymmpp | |
| ajihys (56) -> bnggqtn, lhdwm | |
| rhamh (11) | |
| xvsrff (205) -> eoxmesy, nwkqcsc | |
| hbuwd (58) | |
| xjjhicj (28) | |
| iszhqi (27) | |
| qqpvjbu (13) | |
| lmyinxy (287) -> bhysq, rcstlvu | |
| ubdju (438) -> wgqalow, xoknnac | |
| kmhzija (88) | |
| lwzcyq (42) | |
| omwhgx (79) | |
| fvqgb (71) | |
| ufsus (26) | |
| vynaaf (21) | |
| wwdhply (52) -> lldszk, klbkp, vysbz, xgtged, kbdrjwl, hcxrwwv, anqvh | |
| sgamgp (14279) -> czlcjl, wlruzq, koklf | |
| nfiyxwf (46) | |
| smusd (34) | |
| cuuvm (195) | |
| krboup (12) | |
| vysbz (1571) -> jzxcnkv, rfhlu, zaahfws | |
| rojomwr (32) | |
| scrykpr (47) -> dlochnp, kuxdz | |
| zesja (57) -> ltxiy, ngskki, emjhgx, mnojup, ixqqqjj, wnpyrz | |
| skogcpe (9) | |
| brenhzl (119) -> bzvwi, lcvtfz, egxng, hkcobh | |
| rkgwky (75) -> grdpxxr, xflynr, yrixhb, lalemvr | |
| odfgjh (22) | |
| wlruzq (1135) -> rrtqw, jmcafz | |
| torpy (63) | |
| yqzkn (93) | |
| hcfgnt (132) | |
| tvobw (69) | |
| yxmkycd (120) -> afurlcd, qyerfcc | |
| ikzsd (94) | |
| ludhiab (96) | |
| xiayty (80) | |
| jsohd (15) | |
| tqfel (13) | |
| huvrn (86) | |
| wzlrws (26) | |
| ywxjbc (39) | |
| dwdjp (31) | |
| hpfhhg (63) | |
| hybkngi (195) -> wlheoem, oxbfji | |
| wsqspc (24) | |
| eaemt (17) | |
| lkwhxen (85) | |
| wmzmy (59) | |
| yspyrs (147) -> kpczbnm, yhljr | |
| fuwat (65) | |
| alsay (7) -> snloung, djdmsc, sdqll | |
| zxgptth (189) -> fknto, dpfuu | |
| kaihsu (228) -> ggijqt, wfjme | |
| kbkcw (6055) -> swsbeo, pihhh, wlrrckg, fbmhsy | |
| rnatyw (59) | |
| xhvyt (57) -> xlzryhc, zudwpn, swsva, mpthchj, wxtlbn | |
| ywrnqrp (179) | |
| fzvnyc (93) | |
| tantkl (77) | |
| xvtdoyr (45) -> tatvgv, nrvpgth, luugrb, maicx | |
| cpzdjum (55) | |
| blwgxoz (87) -> mzeqa, abghrf | |
| uxbgd (184) -> zbnynh, twrim | |
| dnmrtok (221) -> epzukel, fgtzv | |
| tnxhf (40) | |
| dgihmb (175) -> liglllj, xghyc, eofrs | |
| jmrbakg (86) | |
| rurnike (66) | |
| ceizm (58) -> ebqjlp, xpxwq, vfigul, arqxnjl, xmnts, sdbkh | |
| cmmnbug (77) | |
| sgwxlb (27) | |
| lmbucr (55) | |
| dsxamd (83) | |
| qcgykv (88) | |
| wxtlbn (604) -> lmipr, pxwsb, lufwlhx, mixmiv, ledbvvq | |
| qbwfy (19) | |
| omznvh (320) -> zmemxd, ihjpab | |
| xoldlj (139) -> umeup, ewvfvx | |
| zdxksj (20) | |
| foaqmc (71) -> ctnfhim, zwmbuyl | |
| azaxxvz (1383) -> lrlfs, gqvnw, vqxyr, mlqfisf | |
| hcdyhi (63) | |
| hosjc (52) | |
| sfepx (31) | |
| gzvxqn (12) | |
| maalkoh (41) | |
| qwnexz (8) | |
| guphfh (37) | |
| uuozpc (64) | |
| nrvpgth (48) | |
| aljvja (98) -> arbiru, iumni, lgofh, nkhdzon, yxpkynj, qqqsv, qiduej | |
| pctyehs (304) -> ensgy, bfhjnn | |
| xkzwk (17413) -> tdbcau, rtbjlii, vwuif, hfyaud | |
| izfny (148) -> qgkhdex, qhrmshn, sewsk | |
| dhiavwc (93) | |
| wnpyrz (323) -> shmvzp, nfchsda | |
| cdaue (59) -> odqfu, knqruz | |
| syppxhj (264) -> vllgqt, radodhv, zhuue | |
| yfozx (55) | |
| rrohrwo (58) | |
| cwlvxo (15) | |
| hhukemh (155) -> osehy, lfsqjx | |
| luugrb (48) | |
| ojoes (39) | |
| zjzyo (71) | |
| ngskki (409) | |
| rjfktu (5) | |
| hcxrwwv (2126) -> sxghqf, oikfudn, virmpl | |
| umryvx (96) -> owhgyez, jkorfu, odtzcu | |
| zvdmblb (222) -> hpfhhg, bcuxejj | |
| swspgk (55) | |
| dontia (127) -> ofcfw, zjstwhc | |
| qlxtmmw (12) | |
| ceathvu (22) | |
| llqfm (64) -> omvsg, xiayty | |
| ekxdgkq (83) -> qilfd, huvrn | |
| gwnxq (27) | |
| mveyh (75) | |
| eadxb (167) -> mnqis, fglxnn | |
| bexvpzn (55) | |
| ywquvbe (17) | |
| zvodhi (84) | |
| aleenbl (55) | |
| quqts (63) | |
| kimrt (30) -> qdtel, zznqt, mqdjo | |
| eojaq (73) -> hcdyhi, jqgfz | |
| blhxnrj (55) | |
| rvycq (47) | |
| ycmdmvr (50) | |
| bfltqak (9) | |
| ydhxt (275) -> hqekpst, jpwof, dbuno, jfavd | |
| aeiee (348) | |
| jmcafz (8) | |
| lfsqjx (12) | |
| epzukel (63) | |
| jsqss (19) | |
| qgdeiw (83) | |
| hfyaud (299) | |
| ybtmtno (26) | |
| ridid (16) | |
| uslizt (59) -> xbtvul, mhgzyqt, mgvgcf | |
| vsnpvm (87) | |
| ojaql (157) -> ppudoq, ftsejjt, cjofkgw | |
| wyjbjf (8) | |
| wntacd (31) | |
| ymccua (48) | |
| cgzpd (201) -> vndxvi, uozayo | |
| iumni (192) | |
| ofazxj (93) | |
| uoblmgo (46) | |
| cftahaw (70) | |
| rlsom (66) -> nvldfqt, mdakca | |
| jlgvr (65) | |
| ozbig (98) | |
| qpbebnc (76) | |
| ayyfw (28) | |
| tkqlt (107) -> pmecds, dtivzu | |
| dnlftxp (81) | |
| mqwmam (72) | |
| oxkbg (77) | |
| nbycb (55) | |
| edwlp (83) | |
| nkhdzon (34) -> hjrhs, qzoqo | |
| ekkgfax (70) -> ugxovve, vgmnvqr, wafanbg | |
| hjrhs (79) | |
| zwxvo (58) | |
| oyahwdc (16) -> rwrmuv, lyuznk | |
| uaatgf (11) -> uueqz, atdfonp, elkqdsi | |
| dyjyjd (68) | |
| rxehio (84) | |
| jzxcnkv (202) -> vubuie, omwhgx | |
| hxejeo (91) | |
| zozpw (199) | |
| ptshtrn (526) -> uslizt, pjqtv, bzbdorp, atvkttc | |
| qzltox (97) -> lmbucr, blhxnrj, cpzdjum, swspgk | |
| vywneg (53) | |
| cigzzld (90) | |
| wxqadgl (88) | |
| goeprx (59) | |
| nhcio (88) | |
| jsrdr (2962) -> rezncs, udcgj, cjtrpm | |
| lswgx (75) | |
| czala (27) | |
| jwftyhn (76) | |
| pgpmlgz (67) | |
| abqar (319) -> ooque, nyimka | |
| cuwjy (11) | |
| kltwy (43) | |
| fknto (12) | |
| zvgxbve (37) -> zqhmft, mwfno, mnyblkw, ozbig | |
| xwete (92) -> lezpa, qvhpl | |
| qdhte (168) -> ypysb, nwdzcl, btgbr | |
| nkrsre (18) | |
| hqekpst (68) -> eqakw, gmfzmby | |
| nppyzr (65) | |
| ojmudkf (68) -> rhqmcl, wmlvvzy | |
| ycpgrap (52) | |
| fnwzvf (50) | |
| tfovn (213) | |
| kefdbed (121) -> tuijc, tngvv | |
| idwgpl (11) | |
| qybcrhn (60) | |
| zvfdl (72) | |
| rwxwe (68) | |
| tcugzqe (32) | |
| liglllj (35) | |
| zkbzbn (33) | |
| mbsuxms (28) | |
| ugxovve (79) | |
| udtsgjk (56) -> adklqb, xkzwk, wwdhply, ctmyow | |
| jlvflv (47) | |
| ajcpmg (23) | |
| hmcjz (11191) -> ioxkn, wnkaz, cuuvm | |
| zjstwhc (72) | |
| qxhuuf (15) | |
| unoqw (34) | |
| xmzvsd (55) | |
| rwnnzj (72) | |
| xyhyumy (104) -> vhdyc, vvfukul | |
| ginyxrk (95) | |
| cgzcdzi (70) -> uoagriu, jnfcc | |
| oxbfji (6) | |
| yybuekt (96) | |
| zznqt (83) | |
| yiflicd (97) | |
| hhmwxe (85) | |
| avxapnw (41) | |
| nrozgxx (76) | |
| prbrv (61) -> nfiyxwf, vlhtnof, xhnlro | |
| xwsgv (22) | |
| jmtmw (205) -> sqowhp, qjkqxp | |
| epilojy (28) | |
| qjkqxp (34) | |
| cchmz (69) | |
| kkfcate (114) -> juzzs, xqkrdp | |
| ihkrezl (23) | |
| jkdrr (7) | |
| mqhelgf (31) | |
| fyalh (43) | |
| icdtprw (15) | |
| qfuxpos (94) -> omnflj, ybtmtno, cowhe | |
| vndxvi (39) | |
| sbaswic (34) | |
| rbbkcz (81) | |
| aozcb (35) | |
| tdbcau (109) -> zhfenxn, yareka | |
| jpgbqgr (61) -> fgscpqx, ludhiab | |
| ftcxb (21) | |
| egrtqo (60) -> tigky, mbqfitx, lqplgho, ivkymv, omynf | |
| mnyblkw (98) | |
| ipjaf (32) | |
| mfweuw (96) | |
| kjrup (11) | |
| usdayz (96) | |
| vbfwgo (85) | |
| lwzfwsb (820) -> alsay, sgzxb, cdaue | |
| dzibhav (199) | |
| bxtzi (23) | |
| ihjpab (65) | |
| xtsnf (48) | |
| ofvidy (8) -> zvfdl, zhezjdt, jylrfoj | |
| oehapu (54) | |
| looasd (161) -> ycpgrap, pwsfhgi | |
| mrqug (6751) -> oritewf, nhdfnv, pblscqj, rmknzz | |
| rmknzz (649) -> looasd, qjagx, hkati | |
| ykidq (61) | |
| dlochnp (60) | |
| fglxnn (8) | |
| ooque (55) | |
| mnqis (8) | |
| lspkp (22) | |
| dgpydnw (15) | |
| rezncs (776) -> gjzwa, uovufgc, hdhlyxq | |
| sumnuv (49) | |
| zgpuqmv (52) | |
| wagjjy (91) -> pvkps, jrvumy | |
| wmlvvzy (15) | |
| pnwrdla (91) | |
| cthyoqb (83) | |
| pwonvpm (162) -> srrbgff, kbrbq | |
| smvkv (59) | |
| atvkttc (41) -> msxbv, oehapu | |
| ioaogd (46) -> wzlrws, ufsus | |
| lmpvxf (78) -> ukejvdd, sbaswic, jcbdf | |
| vfigul (1371) -> vlrtfe, upttsy, vclagjf | |
| oeinoe (11) | |
| uoagriu (93) | |
| rkcdg (43) | |
| qycnzr (35) | |
| vhupxjs (157) -> pmtssy, nkrsre, qicxip | |
| msxbv (54) | |
| oifkd (69) | |
| qjhugv (199) | |
| nsfrscb (278) -> oklhlne, mwzana | |
| pmjvz (85) | |
| qmtofe (19) -> kdzuk, raugvuk | |
| fhqqbsx (11) | |
| zukmsws (96) | |
| kuxdz (60) | |
| ofcfw (72) | |
| teewbxk (39) | |
| hsdwgl (90) | |
| offqpoc (39) | |
| akvdjmc (75) | |
| pcxcr (214) -> eqdud, mqhelgf, ceupnk | |
| zhfenxn (95) | |
| eudjgoy (351) -> bnomgct, ojoes | |
| wjgvjlg (48) | |
| bborg (10) -> tarxkki, ejlbps, smvkv, wmzmy | |
| xoknnac (6) | |
| bzbdorp (73) -> pthrzgd, vulklzo | |
| qczjylz (19) | |
| cpncdpn (72) | |
| kjjzdvp (76) | |
| dzmqhbp (81) | |
| xbtcnx (22) | |
| fcwev (20) | |
| vlhtnof (46) | |
| eqdud (31) | |
| ukqofsd (139) -> njxkbbs, mmlcvqo | |
| xxslxbt (92) | |
| jkorfu (37) | |
| nhlbui (348) | |
| pkgri (41) | |
| fsowc (88) | |
| idhdqo (56) | |
| uqmgy (1245) -> ysnvnu, rundk, yzzkb | |
| hqgsj (69) | |
| yrixhb (45) | |
| yqkzm (30) | |
| wdeclb (13) | |
| rxmnfgj (27) -> hqgsj, diizvrq | |
| uawat (230) -> rdxfau, qwnexz | |
| rnzglhk (69) | |
| psldjp (66) | |
| yedhncv (16) | |
| sxaib (279) | |
| gfquwm (13) | |
| jmzwqs (49) | |
| dpfuu (12) | |
| edgsqu (32) | |
| acowb (33) -> cmmnbug, tantkl | |
| fbtqea (49) -> ubdju, omznvh, cjksouo, wwmjf, fdbehfx | |
| xllppou (61) | |
| zqrfz (29) | |
| mdakca (57) | |
| abndmkw (39) | |
| ejtuc (42) | |
| mmhim (47) | |
| dicxtfr (110) -> uanii, xiiamxd | |
| gmlxpn (6182) -> tzdmi, egrtqo, uqmgy | |
| sgzxb (119) -> dniwy, jkdrr | |
| tuzwlaj (90) | |
| gmxbjg (187) | |
| nwooizm (74) | |
| ovzrat (30) | |
| mwfno (98) | |
| mbqfitx (249) -> rbbkcz, dnlftxp | |
| ftsejjt (10) | |
| beopgpz (27) | |
| oqisjkn (672) -> kktfosp, vhupxjs, dpqnim | |
| skjdw (165) -> ridid, yedhncv, nzuvke | |
| jfavd (72) -> nhcio, qcgykv | |
| gydenqe (739) -> fvpbw, badle, fyecx | |
| mhtfkag (83) | |
| tneetox (59) | |
| hkati (58) -> tvobw, xkqiqns, oifkd | |
| qxsie (136) -> bjenf, bxoqjhj, ajihys, ghyii, qfuxpos, gyuiagl | |
| ynydd (220) -> hypma, qbwfy, jsqss, yshpwl | |
| esmmub (56) | |
| ypysb (54) | |
| feizivp (40) -> jmzwqs, zdymtqx, emaqhkl | |
| lalemvr (45) | |
| mxtgoh (132) -> pmpmgak, qczjylz | |
| ujxume (88) -> pkgri, hxxvca | |
| ylzoeee (97) | |
| zhezjdt (72) | |
| ojwezo (35) | |
| cjtrpm (90) -> xmxuqtu, acheq, tkqlt, xwyxvr, hhukemh, eqyac, ywrnqrp | |
| sewsk (41) | |
| lqggzbu (164) -> rojomwr, edgsqu, ifrxho | |
| ppudoq (10) | |
| vydlsvt (176) -> vcsfjyd, ykaodk | |
| uswkbi (13) | |
| cpfswhf (223) -> dgpydnw, wxexs | |
| feyacx (22) | |
| menclt (255) | |
| igkxvqh (54) | |
| cabbpbp (74) | |
| idwncn (157) -> rnatyw, twikxu | |
| iuwokd (89) -> vlsmybk, ggymz | |
| qiduej (90) -> jjqwgq, tsuti, unoqw | |
| imuik (434) -> awdam, baosr, tpcir, pdbruf | |
| jijdq (202) -> dkjcz, zfvweqs | |
| sgbejy (95) | |
| rxwbam (64) | |
| mzeqa (56) | |
| mpbjcj (202) -> dksbpu, hromhg | |
| kdgxoi (65) | |
| tatvgv (48) | |
| lyuznk (78) | |
| vhgimqo (75) | |
| wiyuhex (160) -> gfquwm, qzjtxi, uswkbi | |
| hswecad (79) | |
| qwnxx (353) -> yxpavwg, ayode | |
| qjexd (10) | |
| htvenp (130) -> quqts, ocvjwr | |
| vcpkha (309) -> jlslmo, wdeclb, hkanwp | |
| gyyld (91) | |
| tigky (335) -> wyusin, vdxfff | |
| dysfcb (1833) -> vtnsti, fswhfws, exnlyy, kkfcate | |
| mdtuwks (23) | |
| pbdww (79) | |
| ewvfvx (55) | |
| pxwsb (210) -> isozjve, vzubyy | |
| rscwd (81) | |
| abghrf (56) | |
| ujsqcr (94) -> hdsvjwr, fbtqea, zxvtq | |
| qiyidu (46) | |
| xumyvt (197) -> mbsuxms, uezrt | |
| fdbehfx (86) -> pnwrdla, gyyld, twxghfp, rarvsbv | |
| avwkq (63) | |
| ocikhq (28) | |
| xzmtk (61) | |
| qezss (83) -> vnmhbwf, fvqgb, lvejxwu, orlwcra | |
| jcbdf (34) | |
| rkupoek (83) -> kvolhll, zdtzt | |
| bgugou (39) -> ekhsurt, lpwze, xulggnd, mjckr | |
| ocakmk (115) -> fvypts, rbeigk, jlvflv | |
| yiigtz (43) | |
| rovmviv (164) -> rnzglhk, fgfkrxp | |
| zmemxd (65) | |
| omvsg (80) | |
| ysnvnu (110) -> cigzzld, wvjumh | |
| zrqzw (38) -> upbwakj, psldjp | |
| tbdfmz (79) -> nxvfovk, yiflicd | |
| ydishxc (75) | |
| tqlyzrj (135) -> kotdcly, plifn | |
| lrwlhbc (257) -> wvibg, zqrfz | |
| xwkudo (23) | |
| vjhsczt (77) -> xmzvsd, nbycb | |
| qjfdh (83) | |
| izapo (237) | |
| fipmpb (13) | |
| dsjxy (31) | |
| bclda (68) | |
| zbnynh (56) | |
| hdhlyxq (63) -> hgmzkam, avwkq | |
| ijzzl (28) | |
| gmgwaa (73) -> akcgcxy, plgldf | |
| hyufw (216) | |
| jnfcc (93) | |
| swsva (65) -> atbxzb, zmkyj, elebwva, dnmrtok, gvfmsy, sjsfqhv, rehfw | |
| yriybrc (196) -> qpbebnc, fwmpx | |
| hhrqizc (250) -> aleenbl, yeoeyme | |
| idcowch (55) | |
| nsldzh (58) | |
| ufewl (6) -> uoblmgo, oouozuv | |
| ebqjlp (933) -> btabyp, byoksw, iuwokd, ksrbxbh | |
| hjtmfck (30) | |
| gjzwa (163) -> fipmpb, yroyqeo | |
| usnfnjb (53) | |
| eviqdbq (15) | |
| eqakw (90) | |
| ltaujs (52) | |
| ifrxho (32) | |
| gnqasz (22) | |
| gonru (25) -> mumpgs, ezrpvp | |
| lmipr (195) -> ykidq, xzmtk, xllppou | |
| vvmfk (35) | |
| sdqll (42) | |
| jpwof (178) -> abdnunu, yhmbooy | |
| vfqbff (93) -> ydishxc, vhgimqo, wbjbpjf, roirllq | |
| fwmpx (76) | |
| knqruz (37) | |
| epnsvw (52) | |
| akznnid (69) -> bxgyjw, ebeltx, qedlf | |
| vhdyc (88) | |
| hqxsfn (97) | |
| pgqenlk (143) -> rssmrnc, usnfnjb | |
| jmyovo (68) -> hyurmnj, cftahaw | |
| wvibg (29) | |
| pnlmj (40) | |
| lniuonj (216) -> eviqdbq, wikrvq | |
| gmuco (35) | |
| qqqsv (18) -> vsnpvm, qcblt | |
| igpyz (245) -> hvrve, owlwzwx | |
| kppigwv (1920) -> dtwdad, xhlgx, vqrcq | |
| rvwvokn (218) | |
| ynubz (20) | |
| viwwie (699) -> nsfrscb, mpbjcj, rttcn, latbj, lehgocg, rovmviv | |
| rmyjxl (26) | |
| qyerfcc (63) | |
| dbuno (226) -> kjrup, bruwizl | |
| iydwka (97) | |
| yxpkynj (192) | |
| ibdhatw (75) | |
| umnvlw (84) | |
| dfqahip (41) | |
| pcxny (71) | |
| bseajmt (76) | |
| mqeep (460) -> ehcjup, kaihsu, jijdq, nrlmfax | |
| vuzxyz (6) -> fnwiq, sovwn | |
| qdtel (83) | |
| eqyac (81) -> lyebndp, xnmmdhk | |
| mzrntf (11964) -> pxhqf, tohwd, imuik, aljvja | |
| nqcdwx (31) | |
| sdbkh (303) -> qdhte, qinuxsr, ymjxszk, pctyehs, axondt | |
| gqvnw (282) | |
| eeupi (74) | |
| qhrmshn (41) | |
| hjibwmq (76) | |
| nqmfyxs (22) | |
| grdyhff (69) | |
| twrim (56) | |
| djdmsc (42) | |
| mnieqt (87) | |
| cwwsi (87) | |
| hrbzakg (42) | |
| jxvjp (236) -> mivzz, qjexd | |
| xflynr (45) | |
| hdpizox (41) | |
| vpjiwwm (22) | |
| teqabnc (81) | |
| mjckr (85) -> rioda, erqjppo | |
| wwskbob (59) | |
| wxexs (15) | |
| snloung (42) | |
| mhzwwo (392) -> wyjbjf, nlpdso | |
| phomdt (47) | |
| mfjan (31) | |
| frozh (367) | |
| lcvtfz (20) | |
| emjhgx (189) -> kteflr, ngwldiu, yfozx, bexvpzn | |
| vtnsti (104) -> gmuco, trzae | |
| nmqmbc (88) | |
| dlszm (74) | |
| lrpzf (33) | |
| ibuys (98) -> xjjhicj, hyhcihf | |
| bnomgct (39) | |
| uibut (861) -> ojmudkf, ufewl, ioaogd | |
| byoksw (91) -> semtwrh, ltpjwb | |
| pblscqj (943) -> scrykpr, xuavduh, uaatgf | |
| zsetpb (12) | |
| cowhe (26) | |
| dvdbswf (187) -> ypfss, vjunjns, arlra, ngdhmz | |
| xgtged (77) -> eudjgoy, zvgxbve, plctc, teauca, qwnxx, abqar | |
| pffhee (50) | |
| ahvhqoe (35) | |
| pamyclw (23) | |
| ufwsbx (93) -> ngcyru, zjyhf, cqksxxm, jepix | |
| pmecds (36) | |
| qoqdhpx (846) -> yrsfcq, jmfybp, qfvbg, lezek, mqeep, ayklc | |
| pxhqf (197) -> akznnid, xoldlj, pgqenlk, aozsepf, tmhgfe | |
| wafanbg (79) | |
| nyimka (55) | |
| ynypbb (47) | |
| wwmzjie (15) | |
| tarxkki (59) | |
| rehfw (221) -> lwzcyq, hrbzakg, ejtuc | |
| mykoaba (37) -> vbfwgo, lkwhxen | |
| pzsdbxi (1621) -> jwftyhn, vyqni | |
| kktfosp (160) -> ywquvbe, uralh, ybcta | |
| ahfsddo (35) -> fuwat, acmkv | |
| kteflr (55) | |
| hypma (19) | |
| wbjbpjf (75) | |
| emdaoqf (217) -> ibdhatw, akvdjmc | |
| qiwio (11) -> rvycq, duklm, rqura, ynypbb | |
| vnmhbwf (71) | |
| xiiamxd (10) | |
| uzxjy (37) | |
| ymjxszk (30) -> fzofpn, wjmfbz, pytprd, lswgx | |
| jcwdnlr (59) | |
| vulklzo (38) | |
| ookot (17) | |
| mnenfrc (22) | |
| mixmiv (90) -> mfweuw, befeb, yybuekt | |
| zcvqw (40) | |
| gfygwj (5) | |
| kiqfls (31) | |
| ivkymv (59) -> wxqadgl, fsowc, pczqv, untdlz | |
| meajs (86) | |
| dhcgig (83) | |
| kbbck (87) -> teewbxk, ywxjbc | |
| gvfcl (24) -> vywneg, yjeavx | |
| twxghfp (91) | |
| tngvv (27) | |
| koklf (61) -> jqtbsy, eetpan, vamssbi, rvwvokn, vpjsxth""" | |
| import asciitree | |
| from collections import OrderedDict, defaultdict | |
| class Ring(object): | |
| def __init__(self, name, weight, child_names): | |
| self.name = name | |
| self.weight = weight | |
| self.child_names = child_names | |
| self.parent = None | |
| self._children = {} | |
| self._total_weight = None | |
| def populate_children(self, rings): | |
| for name in self.child_names: | |
| child = rings[name] | |
| self._children[name] = child | |
| child.parent = self | |
| def __str__(self): | |
| return "%s [%s, %s, %s]" % (self.name, self.weight, self.total_weight(), self.is_balanced()) | |
| def children(self): | |
| for name in self.child_names: | |
| yield self._children[name] | |
| def total_weight(self): | |
| if self._total_weight is None: | |
| self._total_weight = self.weight + sum(child.total_weight() for child in self.children()) | |
| return self._total_weight | |
| def is_balanced(self): | |
| weights = set(c.total_weight() for c in self.children()) | |
| return len(weights) < 2 | |
| def get_unbalanced_child(self): | |
| weights = defaultdict(list) | |
| for c in self.children(): | |
| weights[c.total_weight()].append(c) | |
| num_weights = len(weights) | |
| assert(num_weights <= 2), num_weights | |
| node = target = None | |
| if num_weights == 2: | |
| for w, c in weights.items(): | |
| if len(c) == 1: | |
| node = c[0] | |
| else: | |
| target = w | |
| print node, target | |
| return node, target | |
| def as_tree_node(self): | |
| return OrderedDict( | |
| [(str(child), child.as_tree_node()) for child in self.children()] | |
| ) | |
| def parse_input(input): | |
| for line in input.splitlines(): | |
| pieces = line.strip().split(None, 2) | |
| ring_name, weight = pieces[:2] | |
| weight = int(weight[1:-1]) | |
| if pieces[2:]: | |
| holding = pieces[2] | |
| assert(holding.startswith("-> ")), holding | |
| holding = [name.strip() for name in holding[3:].split(",")] | |
| else: | |
| holding = [] | |
| yield Ring(ring_name, weight, holding) | |
| def initialize_rings(input): | |
| rings = {} | |
| for ring in parse_input(input): | |
| rings[ring.name] = ring | |
| for ring in rings.values(): | |
| ring.populate_children(rings) | |
| root = None | |
| for ring in rings.values(): | |
| if ring.parent is None: | |
| root = ring | |
| print asciitree.LeftAligned()({str(root): root.as_tree_node()}) | |
| return rings, root | |
| def run(input): | |
| rings, root = initialize_rings(input) | |
| print "Part 1: ", root.name | |
| node = root | |
| target = None | |
| curr, curr_target = root.get_unbalanced_child() | |
| while curr: | |
| node = curr | |
| target = curr_target | |
| curr, curr_target = curr.get_unbalanced_child() | |
| delta = target - node.total_weight() | |
| print node, delta, node.weight | |
| print "Part 2: ", node.weight + delta | |
| print run(TEST) | |
| print run(INPUT) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment