heh
| -rw-r--r-- | src/inp.txt | 1869 | ||||
| -rw-r--r-- | src/main.rs | 39 | ||||
| -rw-r--r-- | src/util.rs | 35 |
3 files changed, 1921 insertions, 22 deletions
diff --git a/src/inp.txt b/src/inp.txt index d369702..cb138d6 100644 --- a/src/inp.txt +++ b/src/inp.txt @@ -1 +1,1868 @@ -2 8 8 5 4 2 3 1 5 5 1 2 15 13 5 14 +navfz (187) -> jviwcde, wfwor, vpfabxa +adtfnx (74) +endsg (33) +wcswjri (228) -> jcnfvhv, yprbzn +gvfys (83) +vcedn (12462) -> ypmviuh, vobydav, axkokcp, ntgxar, keuxhfl +mmfkf (94) -> mubgcn, zxdcbk +jgmxdc (79) -> zvmzo, wmpeyz +bxyfc (79) +thgwtgt (129) -> zhjvk, ocxox +nrvdexu (48) +lcdnv (246) -> hksnbzc, texmxw +pdiie (77) +eowfj (90) +gzchiz (68) +ulurun (60) +ckavnt (68) -> umheofb, blsyfi, qijkhbz, ithmj +wjbbg (59) +nvwje (98) +rhxhixx (62) +dautk (89) +ovxjjgk (45) +iimosg (6) +dxmqgds (238) -> tbmyzr, itmcnzc +hspiay (42) +qvymrle (166) -> daeabq, eskrg +qrtvd (64) +dhanhrw (82) +zikfenq (10) +ozrban (76) +wjbpo (1502) -> clhgsb, hypdv +utpjye (43) +dkaaia (96) +ddotjil (6045) -> ptagt, ikrdl, swotlas, ajnug, gphzut, xosbped, rtiwxq +vuskd (68) -> vcbywzm, icqjwqy, maxjejh, unminnt, sinsn, tvvqdps, fanqwrt +hlhhfys (84) +bwomuu (65) +qokveql (19) +jbxmsp (20) +xcmjo (87) +pocpbk (13) +ifbpc (165) -> jpfnrj, yioozfb +cqssrlq (30) +qerpj (187) -> ajcozt, bocgrjf +zicqv (35) +cqgumz (47) +rwmqr (385) -> endsg, ivcasrz +sctwm (354) +pmmzezq (32) -> llqdavt, ymyhnhz +dxgmc (8) +szfroua (32) +otdtras (37) +qmnsyex (427) -> ucytsw, fnnxu, ntiulub, dbpvy +qsniae (199) -> uibkcpe, stwgbsz +nrrops (85) +gasjpi (95) +niziq (1492) -> gcbftk, vxzlg, gxrxqy +vpkkrb (155) -> jwfem, rhxhixx +unsfg (97) +qkfeemt (88) +yycjr (265) -> fipbn, vgyzi, btczn +tijgqz (391) +vuujvxl (27) -> dnwlbpp, giwtr +vikokw (77) -> qifoire, djshoi +ltseb (200) -> pqmsk, seciy, ybvbei +khtlck (82) +elgpli (87) +kkyycy (34) -> cncssy, oajts, oufwlo, qxnuybx +hisqsfr (82) +cwstpsc (17) +frmsjzw (35) +pgxppw (58) +vkbeys (82) +wjswjjk (194) +fjxoyo (15) +cqlwmo (98) +tdnsh (350) -> ghfcln, flmfqb +czhcaiz (71) +daeabq (62) +nbxyhp (55) +insxss (60) +epvrmk (21) +tlxbs (13) +izhrthy (59) +kipoq (15) +xuxxxmh (11) +qbnzq (59) +njfrq (220) -> mxjxqd, rdhwksn +mzgecu (170) -> eelypm, grcoom +wzncmog (42) -> eyxcrae, gxvbg, ikzndn, otxum +dkzjztp (47) +wgnjhy (34) +uubtu (164) -> itozwej, vxbgygu +dcsbhra (51) +mfmnp (68) +ppjmufh (20) +rjich (28) +edyopxe (56) +kjqwac (61) -> esnxvu, kzbfyep, ammlo, bedla +fkthtxx (60) +tslgtw (13) +vxbgygu (73) +szkcigt (102) -> lnmixf, zjgflu, bemdu, fmzdg +niubs (52) +clpswz (66) +mngbghh (90) +anongb (158) -> yimofqp, qnqir +pswzpo (88) -> mfbagfq, ncrtwlq, mfoinlm, lrrdrb +rdgfmzc (51) +awquent (203) -> kqnxr, oheqyl +eskrg (62) +hpvubeg (76) -> xkhavpc, ochboo, zwrhhqv, mhvpzbf +upfebsl (76) +bwgyj (114) -> apmbdgn, fgqrqj +tfwgxrq (358) +vlbzvxp (93) +vbnyv (76) +ivztoux (26) +crstch (124) -> fudyri, rkkuowi, jlekzzy +jnhjfg (81) +muhtyvc (145) -> qyfwbx, otdtras +ywnbh (98) -> epufxrr, ehurzzp, ecyhx, zbuzek +gcbftk (315) +bxnmwa (81) -> krcry, kdrfg, ansxn, plygyiz +mhuwxy (40) -> ybuimo, vtuldjj +mgpvr (74) +fnxgxy (89) +fqmyeu (78) +cmdkcy (40) +yxgken (192) -> pivhdjq, gynyaeu, ahlklti, moxkfxc +wvfahid (87) +eelypm (12) +rernf (11) -> okncqru, xtbfzkp, rcgbe, nuwcul +uogjfe (102) -> eiqee, swimi +fwsxuc (147) -> coekrtq, fltcx +eyxcrae (67) +vpfxqm (98) +mopjtoj (99) +vbnbtrd (95) +ztioqqe (83) -> uqbcgt, btnoqzd, kddqe, sgosmil +oqvygul (52) +lqqdqgl (55) +hdbck (101) -> ayiitk, xakrpew +ohdtu (29) +nzcwei (54) -> pgwquco, bebulic +kqkarm (27) +qotrtx (16) +ashso (637) -> hjhcc, xouweh, fwmowjn, vgpxi, sfovf +gfagn (59) +vqrxmf (33) +umlcaag (353) +fxludfk (115) -> eajkem, ettrul +plkvbhb (65) +uwjqmt (40) +izzpwi (37) +thtpl (93) +mohkqjm (6) +kfrwdp (57) +xzghryr (44) +csrpgne (84) +uapxgoj (94) -> jbxmsp, iameqxg, zvihzi +vifsucu (239) -> aveyaj, xsxubhv, zanvcz +jhdhgp (446) -> etfguf, jxdpg +oujsw (38) -> nalao, gzchiz, qtoqshz +dporqyl (237) -> jjkrqj, zdtwo +xdcuy (138) +agczxc (54) +muczne (9) +qcrztf (27) +eajkem (65) +zvofir (68) +rmjchv (45) -> bqlsax, hrjkg, smjdft, rbubdz +auhjkqg (58) +skcvg (287) -> udpkm, bltzxtt, rkjces, fbgohwn +ikmblf (20) +tkdal (46) +hyagspc (82) +kggin (96) +mxbsj (59) +sguuvok (199) -> bbjxvr, drtzf, lyopa, nlewje +uuzaefz (29) +zsxjki (86) -> ygcjbtt, ezghsl, unsfg, npabeh +esikob (281) -> runxvuj, pgjgnaz +ybtkcry (198) -> kmurqns, dzimoh +qsprrb (50) +kcpmu (32) +giwtr (30) +fcicnl (302) -> wpvpo, wtcxhy +olqpfvj (75) +povpspa (32) +bmozv (66) +uifttbe (76) +exgnitf (95) +pifrouj (137) -> solzny, qvzmtfl +acdth (26) +pvbqjz (45) +dgzfep (1135) -> tdjqll, uyowaek, mbkvojh, mbpmp, rlvog +gaiqlzf (106) -> pmbfnsr, insxss +jjwoc (1785) -> vwmgmf, vqenunc, vrbhapd, sraenhx, bwatw +qpdxpob (46) +tyfdd (26) +zslja (85) +vmlltwb (23) -> jrxjdr, xuglsp +pdzqzk (89) +lzrav (78) +abftzdj (72) +kihgxqn (205) -> wxyaro, ivbzfo, hnhcg +qsilzzo (146) -> hjzjhbc, cfbxssz +xvlxy (77) -> jcrly, esikob, cxmrla, pdmci, avefgw +msvagxz (106) -> dngxvvl, fhyaa +bawokn (45) +qryoc (79) +abpnn (85) +pvrff (74) +beocgcy (7) -> dmyoiho, eybms +vrxhty (91) +pqbatbl (279) -> ivztoux, czifkmc, tyfdd, ucchch +cbeoz (44) +fqzleh (88) +uihio (40) +lvblzvy (6) +utgpz (81) -> aqvoo, dtjjjie +gmlbsa (64) -> zslja, zpzfwgd, bmjxtay, pvcbg +ncgmykk (1128) -> nywbm, nzcwei, yhwnho +opbvo (18) -> hppnn, llzhmol, tzhxfhh, svsfd, xjqhzdl, tjcmctp, njfrq +hcpnjd (6) +xddgt (69) +jowbm (53) +ertcv (28) +btrafox (1442) -> hndngj, vjnwg, qcispj +evrgojz (190) -> ljiem, vlbzvxp +xbipb (72) +ecyhx (50) +usrgham (53) +czifkmc (26) +honkhjh (73) +dworlrf (221) -> djswc, qdymjur +mlojggk (95) +mpiiw (186) -> sjkpb, vbihwha, vbcwp, khdjiyr +ajcozt (16) +nqagpl (24) +pmbfnsr (60) +kepyvd (69) +vztbk (76) +tgeefln (30) +opwdy (142) -> rjohk, apkxv +iameqxg (20) +hbozd (83) -> lgkbqm, ranrjjb, vioxr +ozdamth (290) -> qcguyb, zaciz +pqmxcxl (12) -> dgcwsz, omqgks, abbgnrq, kimml +ikrdl (478) -> gkgbww, pjtywfh, orecwx, goyyy +drcwwke (1141) -> tabeoxr, uapxgoj, hyrbb +ddqvjcz (239) +ccjrwmk (56) -> qewogca, qrybtpr +zezfk (231) +mmjuj (8) +dxogq (246) -> lhxrely, iimosg +hnuck (10755) -> bbshy, fffuhf, qnaxzd, kcdvc +btegf (27) +qgbbnl (22) -> ozczna, lyilhws, vzamfb, tehnz +jhrqcd (83) +ttkwrfr (366) -> btegf, afjclgu, uqmjp, jixtgz +tpzzyfa (11614) -> ighxv, drcwwke, rernf +dppsv (179) -> josdymn, nguoj +shryh (98) +voeqqmw (72) +pqmsk (21) +ucchch (26) +ahvumy (62) -> zunvrg, zzsjfh, osqvb, kcqkcz +mtopo (156) -> xiollwu, nznkw +qvujwr (85) +nalao (68) +ccikbql (74) +illptaw (90) +mweaj (75) +vcbywzm (114) -> saalu, ipmtfwk +qifoire (59) +gfhpte (47) -> mcqabbl, vazzmfm, pruiu, rrymbf +adyard (54) +kwetye (65) +btzchz (134) -> rmczuu, fglno, mnqvu +oulrj (17) +wndcqx (72) +khyng (94) +xkmzwq (77) -> qhrye, kdzri, nyyqkh, vumehdr, bqbsz, lcidw, kyubds +wcfykrj (67) +lhgstq (193) -> uxlbo, tsrgg +szzqsmn (147) -> aufrup, burxc +cncssy (48) +dbpvy (6) +iqemusp (314) +ulgox (80) +ffkrppv (187) -> oulrj, cwstpsc +bxcfhgy (28) +zkzcu (55) +kxphfg (70) +yrkcwxr (46) +vgpxi (304) -> ertcv, mzxret +vrvhkwg (75) +gzuvfqc (186) -> kvmhp, niubs, fbnge +mtoet (127) -> uokbqcq, yrkcwxr +wltqbe (19) +ighxv (363) -> prvxtd, iikdtt, wzncmog, gxuohw +gjowlue (588) -> ifwxdp, vxbrvx, tzgilw, brupv +vitgymq (145) -> mqgxx, iqxqmc, wvfdz +sbjuka (89) +dgcwsz (138) -> tybkxd, ppgnqem, kcpmu, zpghac +pnnwkn (19) -> jgcfh, plptt, uxcmj, fiaepdw, ibkwb, lfklsmy, swdcc +vxgexz (128) -> qftvm, tjngq +ezrvccj (52) +praqutu (63) +fuctso (91) -> dphyg, vszgnbj, zfjcea, ukdaa, myecan, hosih, mljbkl +ynleow (72) +cwrmfzk (29) +sruad (66) +ettrul (65) +vvsev (346) -> hwtudr, bptud, qekqaz +eolje (67) +vxwudy (85) +fukzhnf (70) -> tdwgne, xkoyskt +hyzcrj (65) -> fhtkd, ljmmpot +carik (11) +djswc (12) +obohol (57) +solzny (54) +pqkvbwc (39) +phcqjf (90) +btczn (15) +asnxgw (23) +oupnrtc (21) +ylunw (28) +fhyaa (60) +tcyvkaf (144) -> hspiay, tviveza +qtoqshz (68) +pnmirw (51) +mkxgloe (53) +lysjk (373) -> nqagpl, bwuyaa +tujlwef (125) +zfeudr (14) -> uylkjb, jroccc, zzdnotv, palhxo +cxmrla (231) -> enant, gvfys +bbccojb (88) +kpgyfzy (57) +qzgapj (31) -> ppgep, bhmbpei, odpwrq +phawl (82) +etfguf (14) +dapiuh (65) +mhvpzbf (91) +unzfplq (1607) -> ifbpc, vmlltwb, lftee, fklkx, fnvqq, wgrdy +yjbucib (86) +ycjdb (36) +uqbcgt (2192) -> ctaxhl, irgxwel, varne +xauvth (98) +fyijlyp (196) +grcoom (12) +epckorn (10) +roihpx (589) -> qffyap, sabtf, ubsxskk, uehaezr, yuhoog, awquent +kqrpmtu (79) +iljmpy (1152) -> kxezytz, uzylso, pifrouj +btoap (47) -> ctixwt, jhylsh, cyrnme, zezfk +wlnvlvv (14) +rrswfd (62) +kyubds (53) -> juljpnm, dapiuh, tqpoo, kwetye +veeafpm (157) -> nvwje, mfblbq +woujjmo (59) +dtvjbm (324) -> uihio, ybjde +srdaso (45) +dyjywtj (67) +ntogi (230) -> biyngj, lwwuq +vntnpm (99) +eyyypjs (86) +uqmjp (27) +ofnfoy (75) +fhxynme (53) +ppgep (65) +qiwpw (37) -> kfvkh, ahcqquf +sjkpb (31) +hdevhyk (188) -> tzymfw, sscdb +sgosmil (1704) -> ffdwtz, qsniae, vmypqee, vayfab, dxbjv, ffkrppv, gqjmp +kmpxcdm (38) -> vkfupb, lbzwb, bgteja, pgebb, mdipga, bjkfclz, zuypk +nxnvm (162) -> vqrxmf, bgelipj +krommni (51) -> xdffsw, iuthq +wxakfgm (246) -> khlwul, pkmsa +ewflis (66) +josdymn (98) +nlonnkx (255) -> ohdtu, noftq +xboup (12) -> knegpur, khtlck, axees +kpdnx (313) +nlewje (9) +hpygxqx (57) +rtvetjy (124) -> qcrztf, nwemm +rbubdz (77) +maxjejh (208) +nnfwd (268) -> abftzdj, voeqqmw +knegpur (82) +gdhqehb (89) +kasjbl (195) +bbjxvr (9) +fhoohx (76) -> psfmvag, clxelo +xsxubhv (75) +aqiyzjv (20) +myuqc (98) -> ebchb, gzzodai, uqvkdd, orrks +hayenti (46) +udpkm (41) +sysqfo (45) +tzpoh (38) +vfisys (53) +spznevr (80) +jiwmrx (30) +iapwe (64) +phkek (45) +tehnz (89) +vfrbqk (47) +mbuhvxk (104) -> pjdbaq, bmpdcge +priuy (87) +rvtdj (23) +prvxtd (120) -> ziuhn, exgnitf +ffqjbfe (102) -> hbtzel, xjcil +coekrtq (13) +ooike (38) +xosbped (446) -> llpwnd, upzddgb, yvaua, qfpunan +fjtqmt (35) -> dkaaia, tllopby +sraenhx (210) -> sjxpoy, xiriq +wnvqy (15) +zvihzi (20) +tnutmxv (264) -> eewro, gwvwgyr, yntvfk, zvhpm +ahlklti (15) +xixzhx (89) +qabjz (98) -> pzjusto, uwjqmt, ndynhq, jbvxahe +zcruqaw (37) +rsqeoo (30) +pvtbmzi (302) -> ppjmufh, hhxwcq +tabeoxr (154) +xdsctl (7) -> wvfahid, elgpli, oqjdqhz, uwtjv +qftvm (55) +lqgal (317) -> uivra, izzpwi +puhghe (270) -> leokcd, vkbeys +gxuohw (154) -> fqmyeu, ygjlqcg +kimml (54) -> yupgfp, kfrwimb, utcyzg, fhxynme +wvfdz (92) +dxhgr (69) -> hlylkh, higxu +sflycrq (56) +osqvb (62) +fzedbkl (142) -> lncvfka, bcylzy +burml (360) -> gorrq, zbodcwy, eecmcs, ydgsome, pybcu, xdsctl +upzddgb (95) -> jauss, vchbwy +gigmx (12) +mfblbq (98) +fopaifs (89) +jgysg (140) -> jyuiboq, dywaqyt +stwgbsz (11) +ochboo (91) +ginbdt (83) +bdbaph (82) +sxmobi (96) +zqfkx (10) +tkcqnb (59) +yorumsq (181) -> qokveql, clskgfl +rilgrr (75761) -> ztioqqe, trukr, nfxyklo +kaezunt (28) +otfbit (1257) -> aptjv, gpiew, vuxruoi, xjbkl, arxmlc +pyvum (21) +utpfhue (88) +obbwoe (38) +ruxlsl (76) +jlekzzy (24) +dnwlbpp (30) +tibjuc (11) +zgvhx (70) +ehurzzp (50) +fgqrqj (98) +zokot (238) -> rsqeoo, zdrfpo +uxcmj (267) -> utpjye, tacjmyy +sabtf (19) -> vztbk, xjzzeu, skmqfy, uicqk +tviveza (42) +etlozv (76) +znqtjeb (85) +eveeynr (380) -> emknkrh, ztfug +ffdwtz (185) -> dwhpsh, ufjnfv +vzttjf (21) +vkfupb (93) -> adtfnx, aqkshy, dugvl +iecpcid (20) +zanvcz (75) +spiel (126) -> kpxbfji, ynnqnnu +rmczuu (60) +dfqzdr (44) +ppwgp (1776) -> vxgexz, frhpgy, gdjplif +cjhaq (82) +bbelj (48) +kyofjtt (45) +wvpurkk (24) +xhmwo (49) -> hnpbcb, wqvjpwa +qvzmtfl (54) +pdmci (307) -> bawokn, vesets +zvvyl (71) +kflwup (78) +hjhcc (210) -> ofnfoy, icwxs +uxlbo (85) +rskvj (85) +yqznxzs (86) -> tdsaa, sflycrq, khzoaxo, iwhdp +jmxvth (10) +cnmxf (68) +wtcxhy (71) +micap (79) +vdmtlr (332) -> cqssrlq, jiwmrx +horvahx (41) +pksuyfu (57) +sjpywxy (45) +moxkfxc (15) +ppmiyqf (41) +ezaywf (78) +yhwnho (92) -> pngigbs, xewab +uwtjv (87) +gjxrim (34) +ssebu (47) +fiiscny (89) +rktbwod (268) -> wtgjv, rrswfd +oocst (98) +ubiyjs (35) +qcispj (179) -> ktvub, qhduwgb +zxuigx (11) +mcgydbg (25) +ajxbw (12) +omqgks (74) -> gbxvor, uczsgkq, agrscit +hvngmr (49) +jkkmv (36) +nxdselb (47) +lymfce (47) +hrqdm (72) +iodeix (157) -> ikmblf, ichmv, gvqpxq +ixkdgf (49) +kbxmmw (13) +nqtrrnh (235) +meddd (53) +yntvfk (5) +pbizn (36) +ctwtm (48) +otxilwl (74) +aaydbfp (41) +zndohw (286) -> ylrftrl, qpdxpob +wuqyrfk (189) +jndpmw (43) -> yjlat, cumfazk +hkauzoo (122) -> kkvxx, gjxrim, qnmlqy +aqvoo (91) +utmatrv (314) +qhduwgb (44) +sjvozur (45) +bgcudvy (83) +khaofpf (6) +rgnnme (65) -> xrktj, nccozmr +twwimz (164) -> jwdlpw, emjkbw, jmxvth +lnmixf (55) +hhonck (94) -> wstoc, zvvyl, zhkwxu, czhcaiz +zmyeh (54) +odlntvv (1699) -> xvsnmmx, heradq, rmjqnz +fkdnk (24) +ukdaa (162) -> kiadzi, tlxmg, mcqbzy, txvuo +tvvqdps (28) -> oxzwlk, zajkvp +kgarj (44) +qqomkf (84) -> gvuech, ctwqys +belfq (79) -> yknoisw, ezaywf, gyftdi, ssurqjb +ulwtqfp (95) +dmyoiho (91) +jborbj (95) +vtuldjj (47) +utcyzg (53) +sqwjo (60) +tdhba (54) +vayfab (29) -> vqwptq, nwptea +fksbg (80) +zlrfy (70) +sjxpoy (5) +oswlpi (89) +lvrqmv (78) -> ceypzh, geygl +vwzwnip (96) -> hlhvabs, udqaee +njusfd (77) -> ctwtm, ivgdluw, lunozxs +zksrdel (80) +slhqnia (65) +nbguuj (524) -> ccqfrc, xdcuy, oieqvtt, mbuhvxk +ztfug (47) +juljpnm (65) +onjgrby (396) -> mfzhe, kwibs +ptagt (1325) -> vuujvxl, sdskev, snlcnb +kxsxtd (59) +rkyrvy (14) -> mweaj, vrvhkwg, vcjjb +zvrvvky (35) +mmjuyat (69) +xiriq (5) +ryluuhv (72) +tyxuz (45) +dfcpcm (184) -> obbwoe, ixwrmp +rvtwdl (29) -> gttojem, wkvve +aveyaj (75) +ylrftrl (46) +nbuie (31) +xdffsw (99) +kqnxr (60) +wjpdd (73) +bxpmf (94) +rlvog (160) -> gasjpi, dhglkvc +skmqfy (76) +mghjs (188) -> dcsbhra, gohsqql, wirnc, hlseh +wlaym (11043) -> arldq, klvoil, pqmxcxl, kekcm, nbguuj +ajnkrwf (38) -> mlojggk, ianvxjm +qcodb (45) +jacnhvn (16) +ljiem (93) +ymyhnhz (61) +nilfi (10) +frdln (137) -> ryclt, hxfrni, dyjfhnl +tsrgg (85) +esnxvu (98) +mubgcn (42) +fveygo (57) +zuhwge (61) -> gyjui, dhanhrw +lmihhgo (27) +ifyuvj (21) +ahyhpz (82) +ziepacp (94) +nywbm (132) +cesowu (49) +ixwrmp (38) +xknbddc (96) +ozjskhi (54) +twrxos (41) +zjgflu (55) +sgczxs (79) +hyrbb (46) -> kqzmkzh, adyard +lqjqj (7708) -> xemsycy, hybiw, fuctso +ghcuf (68) +fmsede (303) -> iecpcid, aqiyzjv, pcrxyco, htwlpi +lyopa (9) +qsjas (18) +ccqfrc (90) -> jtwsltc, wvpurkk +jyuiboq (7) +lalnt (236) -> fxludfk, osdwa, dlsrkm +jvkuwnl (26) +zzdnotv (82) +qqtlw (290) -> ozidy, gigmx +vipxzk (68) +lhxrely (6) +lcynwc (8) +ghkmngk (33) +bemdu (55) +kqaeih (38) +bsdmjnd (55) +cyrnme (231) +gosft (69) +auqkz (68) +gvuech (88) +irgxwel (81) -> aiqejps, uqkwa, yxhtf, ghcuf +ygjlqcg (78) +vqwptq (96) +dphyg (70) -> bgcudvy, kygfhen, gvgfjab, jhrqcd +rjreuye (76) +lftee (33) -> illptaw, hzzbk +tvvzyrp (96) +txvuo (60) +frrsc (66) +kmurqns (56) +hlylkh (88) +svsfd (142) -> hdrghkp, kdyoc, dulfi +ygcjbtt (97) +ywzrkz (113) -> olqpfvj, hvdxb +axktcjd (69) +eqhyjd (77) -> edyopxe, fhirm +nccozmr (90) +zcmlgn (75203) -> wwtif, spgebj, awkuix +smxutcp (14) +obsmut (76) +buoixml (338) -> yramlb, kipfu, nilfi, efaua +ybxios (28) +rvbxe (120) -> hwcdujm, cdeyze +mreicow (63) +lzfsc (30) +bbsbwso (27) +hosih (206) -> vpfxqm, oocst +nkipd (134) -> tslgtw, tlxbs, pnapirq +seciy (21) +qvzryn (86) +jdhzdw (21) +vesets (45) +hlseh (51) +idhvcw (44) +fdearm (47) +zuypk (123) -> sxmobi, xknbddc +ttqtuts (19) -> aeumjyu, iykzt, qakvmfc +wpuburp (57) +bzlaig (98) +fkchd (164) -> raljfk, povpspa +yhgavb (46) +krcry (85) +inzfb (168) -> xxsterg, wozvywq +yhaja (202) -> zuodo, uuzaefz +abbgnrq (96) -> dnlty, rsjst +eqqouz (64) +nyeqnad (74) +ahyfxpy (76) +dtnwui (72) +hlhvabs (8) +imciq (110) -> frhsix, wgnjhy +antlr (98) +dwhpsh (18) +hypdv (11) +qnaxzd (5) -> ofmsbwz, veeafpm, rmjchv, umlcaag +zkdvejs (284) +vuegi (19) +xkoyskt (68) +jrkye (88) -> ptdmvq, fcfsd +thvqn (34) +fwkpb (151) -> ywuie, pcsvt +apmbdgn (98) +jdfus (94) +cdvkf (100) -> vbanwb, mnpbbxc, jfgsa +crdqz (26) -> hlhhfys, zldlt +vxbrvx (52) -> kribbus, yuuzzx +rkkuowi (24) +dlqfl (24) +ghvxa (76) +bmrwsem (45) +kwhcaz (60) +qcguyb (20) +fxvjlr (65) +sdskev (87) +zvmzo (25) +sdzdcr (82) +kipfu (10) +djshoi (59) +cfjib (23) +gytimq (16) +ithmj (94) +xgnntny (56) +tzgilw (208) -> anvlz, kbxmmw +blovei (81) +bebulic (39) +dywaqyt (7) +erjhzv (42) +cytbrv (25) +vjnwg (267) +fzclaow (61) -> hnuck, hmsstu, lqjqj, wlaym, usetp, tpzzyfa, vjkbx +vgyzi (15) +ewxyrkx (76) -> cnnrve, buoixml, zndohw, qgbbnl, sljqbjl, dezecjo, hhonck +ydilofh (25) +leblg (53) +rfqpc (60) +qmpvl (77) +dpyamhy (13) +pjtywfh (99) -> fopaifs, zczzj +hmocs (44) +mracmcq (28) +hpqjl (69) +acxsu (35) +gyhnr (92) +ppqjh (89) +ofmsbwz (247) -> yzglw, foqcvf +nyeck (696) -> fjtqmt, tpgwqt, kzqki +kcqkcz (62) +ofhps (38) +vfjnsd (4402) -> quempkz, xvlxy, tulwp +itjoisx (14) +ogomr (198) -> wlnvlvv, wccui +sovii (90) +vmypqee (165) -> dtdrq, rjich +ppmjtea (58) -> dnnzhd, lecjqrc, zvofir, ajytayr +swtjb (10) +jxlak (16) +ybvbei (21) +lyilhws (89) +aufrup (42) +xiollwu (24) +jomewfa (79) +yhchshd (286) -> sjvozur, sysqfo +lheawf (77) +hmsstu (91) -> xgpkw, oebbzys, vmfodw, ewxyrkx, qaspfj, jpeea +nxkawc (9) +tilip (789) -> hewqufa, crstch, taron +zajkvp (90) +nyyqkh (217) -> lbkxp, ubxusjq +swdcc (293) -> lzfsc, tgeefln +xjbkl (11) -> isxnnce, wufzoga, wxtzk +kvdvsr (137) +qucgz (87) +cfneir (69) +zbodcwy (99) -> qwthf, acufa, mqwnw, qrtvd +flxmb (16) +vwmgmf (46) -> iwmeu, qrrfj, byfcat +nuwcul (46) -> dhdeayl, bbccojb, qkfeemt, bjifxso +gwvwgyr (5) +kdrfg (85) +sdcdu (9) +tllopby (96) +ghyax (30) +newnawd (256) -> jmeken, hjcphe +ggqro (146) -> blwjcp, ynleow +fhbbe (47) -> tdqaege, phkek +kzbfyep (98) +zvskx (111) -> rfqpc, kmfvh +wnmje (35) +dwpmy (133) -> pcduo, cexino +aeumjyu (97) +jjkrqj (6) +gkmkjyr (66) +ivobx (45) +ytnhd (112) -> jdhzdw, pyvum, qxiutp, yjcytj +tzylg (69) +khlwul (48) +cycimm (37) +vowidrd (45) +rxvyryq (63) +postmlp (4609) -> bkesn, ljfdk, uugdix, txvil +ianvxjm (95) +rpbmn (57) -> igbewg, blovei +iuthq (99) +azegzz (63) +pwvvaw (245) +uehaezr (189) -> lzrcpf, dyjywtj +pvcbg (85) +sdehr (7) +ikntvuy (79) +hgwrue (39) +heioj (51) +lrrdrb (94) +wqiene (79) -> thtpl, juoxs, bivbw, pfiwzws +jfgsa (55) +xmvipsu (69) +yimofqp (50) +pvwsgxh (9001) -> vtpiz, dzaxux, trvqvb, tswygt +secjdhk (29) -> fyzkj, zayadh +jiufw (41) +sompy (19) +kvgtcm (112) +jcfix (55) -> onjgrby, tseejl, pbmrflr, jhnoba, fuxuvbn, nnfwd +bajeppo (21) +uqkwa (68) +iwmuonh (296) -> omowchx, qnzwa +dyyzr (80) +klaqwj (67) -> qmpvl, cwexwaz +jjeyyc (40) -> gblchqc, hpygxqx +gzpma (111) -> amuyprv, dorcc +vlajq (157) -> aosedtz, vescu +mjfsqls (63) +nqhah (42) +xrktj (90) +wscmp (42) -> eyyypjs, opxtj +ivotjym (72) +dwzeri (122) -> vkpdskd, sdehr +zgqnd (36) +zqparby (962) -> hkauzoo, phtiu, qtgmnht +dnlty (85) +fffuhf (647) -> jjeyyc, ccjrwmk, jrilj, jgysg, pmmzezq +bvurv (227) -> muczne, yrobppu +oxzwlk (90) +gyjyiu (47) +ewlkda (68) -> ivotjym, qhqhx +cxbcib (219) +yprbzn (25) +qijkhbz (94) +runxvuj (58) +tybkxd (32) +iyqsn (11) +vszgnbj (402) +ichekvx (2035) -> yfccf, mhuwxy, rvbxe +xqnwm (90) -> rjreuye, weqoyg +btpwtub (31) +mcqbzy (60) +bbgkrav (43) +inrkd (57) +wuxqatm (67) +pkmsa (48) +ktlgsn (585) -> kpdnx, nlonnkx, ujryrca +dxclu (45) +trjqu (63) +mfoinlm (94) +xkhavpc (91) +qwthf (64) +gpesq (244) -> spznevr, cuaou +geuog (46) +onqfc (14) -> kqfwwv, gfagn, woujjmo, tkcqnb +tlxmg (60) +tjngq (55) +wccui (14) +zxdcbk (42) +sbuzab (28) +ppiyhx (25) +frxenhe (91) +zpghac (32) +gdjplif (60) -> dautk, azbhibc +ncrtwlq (94) +avlbm (85) -> neixysk, clpia +mxjxqd (24) +bqlsax (77) +afqujq (219) +fipbn (15) +bmjxtay (85) +emcour (54) -> nhobovg, wcfykrj, wuxqatm, hcnzejq +cifgld (124) -> rveuds, dqpng, thvqn +qaktp (72) +mzfnhhp (208) -> uefgi, ydilofh +cnnrve (186) -> yufzzgy, tvvzyrp +tdjqll (95) -> khmkmb, qnjlq, znqtjeb +vbcwp (31) +qrybtpr (49) +vjkbx (7351) -> nidfyzu, mtzdbty, pszgrn, xkmzwq +xjqhzdl (194) -> zcruqaw, cycimm +eewro (5) +jcyvs (189) -> oupnrtc, ifyuvj +cumfazk (41) +gkgbww (235) -> epvrmk, bajeppo +hzdjjg (79) +jpfnrj (24) +juoxs (93) +kfahk (302) -> gkmkjyr, mxibrwp +vaxyae (216) -> ssebu, vjiprx +ubsxskk (323) +pszgrn (672) -> kclwabx, fkchd, nxnvm, hdevhyk, jkoeof, tcyvkaf, ajnkrwf +btfdruj (87) +higxu (88) +rtiwxq (154) -> gpxam, yauum, dszjuo, tfwgxrq +ptdmvq (95) +nudeuz (406) -> cwrmfzk, jqtws +clxelo (60) +gwbssq (27) +kfcucr (82) +zayadh (83) +fklkx (191) -> xuxxxmh, tibjuc +llqdavt (61) +abrvrcv (44) +vxnrpq (94) -> hkxsh, jomewfa +pnxeoq (69) -> sbuzab, ylunw +yzglw (53) +ymetywq (35) +khmkmb (85) +nfxyklo (10174) -> btoap, gfhpte, lalnt +kzqki (227) +hyqxc (33) +rvntovh (87) +isxnnce (81) +krunds (173) +iwmeu (58) +oxtumtn (87) +hppnn (232) -> pjymo, qsjas +drtzf (9) +jgcfh (269) -> ffbhje, ewfigm +qwhzogh (65) +hxzlw (11) +aepgud (54) -> mkqze, qryoc +zegoehg (93) +qxvnf (724) -> uchwojr, jxknrj, kasjbl, hyzcrj, secjdhk, vikokw +osovcq (72) +dxddyhh (5) +vrbhapd (80) -> zgvhx, lytxt +rrymbf (231) +ebchb (84) +irqxygl (1812) -> agmtzo, jwhcs +vchbwy (95) +svyuvhk (137) -> iapwe, evvgx +hnpbcb (88) +swotlas (869) -> vlajq, rkyrvy, ddqvjcz +aptjv (142) -> preebof, xgnntny +lbzwb (197) -> zprutpl, wjbbg +seack (32) +uzybpoz (68) +gxgrdez (31) +dngxvvl (60) +vuxruoi (226) -> gqdxofo, nfbyk +lcidw (97) -> xbipb, wndcqx, ryluuhv +kfrwimb (53) +vkubjgp (80) +zldlt (84) +gpxam (256) -> krythkn, pnmirw +pzjusto (40) +neixysk (68) +gyftdi (78) +uciitam (247) -> mfmnp, uzybpoz +zijpzl (55) +ddkvjl (23) +qekqaz (35) +vkwfac (51) +ndnhrj (45) +vqenunc (56) -> hisqsfr, hyagspc +txvil (2316) -> vwzwnip, wxtvn, kvgtcm +apkxv (6) +mjkcz (65) +uwklen (64) +nmxpqnh (59) +piqus (65) +jxuncn (73) +ffbhje (42) +bptud (35) +ezghsl (97) +qhblzff (14830) -> rvtwdl, jgmxdc, zjwxdsl +lunozxs (48) +jwdlpw (10) +lgzam (78) +tdwgne (68) +xjcil (88) +vlzaeq (102) -> kqaeih, ofhps +dyjfhnl (12) +wufzoga (81) +cqurt (119) -> sdigrgk, qsdfdw, inrkd +xemsycy (973) -> szkcigt, navfz, mtpqiok, bilbbf, ecviwn, emcour +xklheqv (44) +nfbyk (14) +nehjwq (45) +ejggu (155) -> cqgumz, nxdselb +bltzxtt (41) +fudyri (24) +bwuyaa (24) +pbinkz (58) +psfmvag (60) +xaycoki (82) +kcdvc (1299) -> kxsxtd, nmxpqnh +dulfi (42) +uczsgkq (64) +jxdpg (14) +jroccc (82) +pjymo (18) +bgnlm (98) +oasfpl (59) +fhlzh (72) +ntiulub (6) +gynyaeu (15) +trukr (5539) -> rssegj, csfac, ymobi, iljmpy +ldxjzcc (69) -> bgnlm, bzlaig +otxfx (65) +gttojem (50) +tarlgrd (65) +mqiyn (66) +kygfhen (83) +dutiad (403) -> yugdmgx, cytbrv +dcwngp (13) +ijzvrcj (8) +hgbhi (90) +lrewm (10) +ktvub (44) +ozidy (12) +fyzkj (83) +ufjnfv (18) +okcbif (35) +aqkshy (74) +blfqvmp (41) -> wbyfgrk, zzgtrsz, gunqzbu, xydbtk, mybfzn, tpfcenm +wstoc (71) +mqlgugi (21) +wqussp (59) +kpcwye (7) +pimwe (404) +gxvbg (67) +lnpdxkz (19) -> kfahk, myuqc, puhghe, ocboj, nqhyusz, unegqpm +zuodo (29) +dqtranb (21) +rveiwr (23) +wdbub (57) +vcjjb (75) +ihbwov (95) +ipmtfwk (47) +khzoaxo (56) +axwrsy (80) +axees (82) +nznkw (24) +ibkwb (13) -> rskvj, tnncdvi, vxwudy, euukxkh +qazahe (95) +pivhdjq (15) +cfbxssz (53) +swscx (31) +uggosj (51) +fuxuvbn (396) -> lcynwc, mmjuj +gphzut (38) -> epxnk, dxogq, vtryv, ibphxp, qabjz, kiocz +hmlcfic (1148) -> qerpj, yorumsq, mtoet, qiwpw, afqujq +wwtif (15) -> irqxygl, xsgud, qxvnf, riimx, kbpdvgx, hmuvntc, opbvo +yramlb (10) +kdzri (313) +cnblm (60) +uicqk (76) +kjmxrt (42) +jauss (95) +vazzmfm (155) -> vuegi, ztoof, sompy, wltqbe +laxzy (66) +eklij (89) +pnapirq (13) +nidfyzu (1617) -> iodeix, fvyqhob, qyywjjj +aejjn (152) -> jnhjfg, xtpqgw +jrilj (142) -> kewvll, khaofpf +euukxkh (85) +etxasz (459) -> kihgxqn, phjdo, kmvyfai, ghsmpke, nqtrrnh +dugvl (74) +lsbzyx (226) +czrjoz (27) +ydgsome (91) -> clpswz, mqiyn, fzadipq, qkwni +dlolw (77) +qsdfdw (57) +geygl (63) +hcjslif (30) +mfbagfq (94) +wbqsg (47) +tpgwqt (37) -> ulwtqfp, wupujt +qquge (212) +ppfgq (71) -> fdnlfw, nehjwq +ivgdluw (48) +ghsmpke (175) -> bioprb, ewtsnjb +noftq (29) +rcgbe (322) -> tzpoh, txyftk +oyabiot (41) +fhtkd (65) +owqobwu (142) -> xnbut, qsprrb +bqbsz (209) -> ezrvccj, neiawsy +clhgsb (11) +fggqv (90) +wozvywq (87) +blwjcp (72) +wmpeyz (25) +mtzdbty (1200) -> rtvetjy, mmfkf, vlzaeq, imciq, rvlna, ymmoez +jmeken (27) +qxiutp (21) +bcsmd (250) -> jgmxxac, atdbx +yufzzgy (96) +sudojso (34) -> pqbatbl, fmsede, ijqfwj, jhwxxmc, uciitam +dnzxj (13016) -> nyeck, tilip, djdztah +jwhcs (41) +lwjexjg (75) +uivra (37) +cjexce (89) +xnbut (50) +ytfqdj (31) +kxezytz (163) -> jiufw, oyabiot +hhxwcq (20) +vmfodw (1946) -> mzgecu, wjswjjk, crdqz, twwimz +mdvfsjt (65) +lncvfka (35) +anvlz (13) +iprdoum (30) +trvqvb (134) -> zkdvejs, bcsmd, htbso, scmer, tnutmxv +icwxs (75) +bwszv (347) -> pmmwcg, jowbm +hrjkg (77) +aiqejps (68) +nzokis (33) +tpfcenm (240) -> jxuncn, bhvpcqs +vdbds (51) +djvzshb (98) -> xgmcuzc, xauvth, antlr +kqzmkzh (54) +msdkszz (51) +yedeqj (1867) -> wuqyrfk, beocgcy, gzpma, eqhyjd +uibkcpe (11) +zfzybq (55) -> pdfnqi, dlolw, pdiie, lheawf +tbmyzr (30) +zqljt (55) +heradq (132) -> dtnwui, fhlzh +txyftk (38) +komast (245) +wufaj (174) -> kjmxrt, nqhah +woizpm (82) -> axwrsy, dyyzr +hphlcxp (97) -> rtlcg, vrxhty +afjclgu (27) +qrxvqe (238) -> gxgrdez, xhwkcn +gblchqc (57) +qnqir (50) +preebof (56) +zwysutd (23) -> cfneir, mssvilz +rjohk (6) +mcqabbl (51) -> aizvg, ivobx, gbvowdh, tyxuz +iqxqmc (92) +hazyvie (132) -> ekcrfnr, excsvdc +qaspfj (1106) -> gmlbsa, gpesq, dtvjbm, pimwe +dmdxjmt (51) +mzxret (28) +fbnge (52) +xgmcuzc (98) +yauum (46) -> llzboz, lzrav, mwofrtn, kflwup +dezecjo (230) -> ccikbql, otxilwl +jqtws (29) +wauprfk (131) -> laxzy, ewflis +iikdtt (184) -> jnlnp, praqutu +qxnuybx (48) +yuhoog (38) -> vbnbtrd, lmdzx, jborbj +zvledr (129) -> jacnhvn, flxmb +pngigbs (20) +vqpkcu (860) -> ndiyxee, lhgstq, zfzybq +zfjcea (308) -> gyjyiu, vfrbqk +ansxn (85) +kekcm (836) -> ulurun, fmijcj, kwhcaz, cnblm +vxqdrzk (33) +sinsn (13) -> mjkcz, bwomuu, iyjjp +wnlma (51) +excsvdc (59) +yyimzla (94) +zhjvk (60) +hwcdujm (7) +usetp (5755) -> zqztqd, ktlgsn, ncgmykk, gjowlue, wjbpo, vuskd, abqsqsw +lbkxp (48) +hcnzejq (67) +yuuzzx (91) +orecwx (142) -> pvbqjz, dxclu, puozu +dnpap (51) +jvtkvxk (281) -> fdearm, lymfce +rgqohx (45) +orrks (84) +ziuhn (95) +fdnlfw (45) +qkwni (66) +hewqufa (196) +acufa (64) +ijqfwj (247) -> auqkz, cnmxf +qewogca (49) +bhvpcqs (73) +lugeqg (2180) -> oxhuvih, yaucaw, sguuvok +mnpbbxc (55) +kdyoc (42) +epbewj (58) +vxzlg (69) -> phawl, xjqlt, iyqvz +lntlxre (71) +ujryrca (76) -> sgczxs, ikntvuy, micap +hdrghkp (42) +qfpunan (189) -> bbelj, nrvdexu +hkxsh (79) +wfwor (45) +ivbzfo (10) +veowdxy (133) -> zkzcu, zqljt, pqwtmk +spriicr (63) +rraaooy (1643) -> jlnxmnt, klaqwj, avlbm, njusfd +rrcgjc (16) +lzsnst (222) -> zqfkx, zikfenq +bgelipj (33) +quempkz (1225) -> ndait, vpkkrb, hphlcxp +mljbkl (10) -> shryh, glyfb, cqlwmo, ixiugzp +ljihyoy (85) +vqdbb (60) +htbso (96) -> jdfus, bxpmf +cdeyze (7) +dsknoh (4511) -> btrafox, dhsku, sjzvkno, hmlcfic, evemn, ainak, kmpxcdm +iyqvz (82) +jpeea (2545) -> mxbsj, izhrthy, oasfpl +hvdxb (75) +bivbw (93) +uhteq (12) +ndait (181) -> qfkpanu, wlgsuj +yjcytj (21) +fmzdg (55) +zwwlue (47) +xsgud (904) -> ppmjtea, spyosq, ozdamth +ryclt (12) +azbhibc (89) +mzmwtg (110) -> bbgkrav, yzcgrkk +bfhgdou (155) -> ndnhrj, gwowni +blsyfi (94) +nwptea (96) +exwagrs (25) +nngqjua (15) +zwrhhqv (91) +wqgfmh (57) +opxtj (86) +gohsqql (51) +hxfrni (12) +hbtzel (88) +eylhve (8) -> mwmpp, joduj, ygsse, gyhnr +sdigrgk (57) +ltnxno (118) -> kxphfg, phkrmkb +aewpztq (36) +clpia (68) +spyjrzi (355) -> dqnif, tfjeo +ixiugzp (98) +fanqwrt (44) -> bdbaph, wpbwt +igbewg (81) +ujruya (89) +iykzt (97) +sujgkaw (40) +ypmviuh (60) -> dxmqgds, veowdxy, ywnbh, zokot, bfwovd +ybjde (40) +nemqds (77) -> uesje, khyng +onqtz (68) +qyywjjj (75) -> rqqcyu, lntlxre +ranrjjb (69) +taron (86) -> xsehs, nbxyhp +kxudhlx (66) -> eqqouz, uwklen, uopfe +ykbmqm (28) +dtjjjie (91) +wupujt (95) +plptt (179) -> rvntovh, dzvnjwy +djwzsa (34) +zjtchm (227) -> npkafp, ffjip, ayyaq +frebmn (65) -> iqycdt, vkftq, ginbdt +phjdo (105) -> qwhzogh, plkvbhb +zvhpm (5) +suyuh (44) +xehzoaw (16) +scppxlw (93) +npkafp (71) +vtryv (210) -> fkdnk, dlqfl +jxknrj (195) +agmtzo (41) +pdfnqi (77) +kpxbfji (14) +pybcu (267) -> abrvrcv, kgarj +zzgtrsz (326) -> laktqu, hcjslif +qakvmfc (97) +xqcvk (23) +kppjorc (105) -> heioj, jdoysh, vdbds +epxnk (98) -> fksbg, zksrdel +lldbah (14) -> kzdewu, qazahe +amuyprv (39) +ynaeh (11) +mrkxs (67) +xhwkcn (31) +ehzqs (5) +rhtltex (85) -> bdfblio, ypahi +cuaou (80) +bjifxso (88) +fmijcj (60) +xtbfzkp (250) -> axhcob, pvrff +pybtxv (65) +bioprb (30) +nqhyusz (336) -> kjgwca, ixkdgf +efaua (10) +mfzhe (8) +isdwz (43) -> hmfozm, zfeudr, inzfb, pvtbmzi, gzuvfqc, aahwvmb, wxakfgm +tqpoo (65) +pqwtmk (55) +uxwov (27) +qnzwa (7) +sbwadli (15) +cexino (49) +liqfvgz (47) +yqywtzl (55) +mnetsv (260) -> zwwlue, wbqsg +ymmoez (106) -> ycjdb, aewpztq +hmuvntc (1165) -> xanuprn, hyyczqe, oniakw +gqjmp (221) +yvhgo (80) +fzadipq (66) +ewtsnjb (30) +qhinsi (24) -> ziepacp, yyimzla +hvlpcew (45) +xydbtk (386) +dzvnjwy (87) +jkoeof (68) -> lifhy, svlhbcy +tjcmctp (258) -> ehzqs, psmylp +myecan (402) +fwxdhe (13) +hxnxq (9) +laktqu (30) +vkftq (83) +mchmeiz (303) -> dfqzdr, nngnivo +uaeeza (80) +wtgjv (62) +nguoj (98) +fltcx (13) +xuxkwp (36) +liprz (837) -> uogjfe, jrkye, wcswjri, ffqjbfe +bnkcs (172) -> uxwov, cdhfwg +aahwvmb (226) -> auhjkqg, pgxppw +kclwabx (94) -> zucwwm, eolje +ksxpomr (18) -> qbnzq, otity +vkpdskd (7) +gvamy (66) +khdjiyr (31) +jcrly (81) -> kqrpmtu, bxyfc, hzdjjg, evapx +sqybc (81) -> gotjxc, yedhrqg, ppmiyqf, mudpzad +rvlna (73) -> wdrjftp, frmsjzw, wnmje +wlgsuj (49) +yzcgrkk (43) +mssvilz (69) +jhnoba (380) -> xehzoaw, lxuwkr +gzzodai (84) +gbxvor (64) +otxum (67) +tacjmyy (43) +hmfozm (266) -> hwwea, ooike +mudpzad (41) +zkkwvo (140) -> kpcwye, tefvwb +bcylzy (35) +uefgi (25) +jgmxxac (17) +mnqvu (60) +wxtzk (81) +sljqbjl (240) -> hpqjl, tzylg +ujudwk (270) -> qvujwr, nrrops +uugdix (1614) -> fwsxuc, frdln, nkipd, gvytaes, fyudu, krunds +lifhy (80) +ibphxp (150) -> agczxc, ylxvd +yjlat (41) +ffjip (71) +puozu (45) +jtwsltc (24) +ctvjzip (45) +wvstx (178) -> uhteq, rzeyzb, ajxbw +ujaxyn (54) +vtpiz (426) -> evrgojz, eylhve, yhchshd +osdwa (85) -> yvhgo, ulgox +wpbwt (82) +xjqlt (82) +bedla (98) +xakrpew (72) +upsrogz (21) +zqijwcd (55) +dzaxux (84) -> bvurv, pwvvaw, sqybc, rgnnme, gxjbow, komast +tuvdk (192) -> zxuigx, iyqsn, carik +omowchx (7) +bmpdcge (17) +aknsq (161) -> djwzsa, ihciz, gmvxx +rsjst (85) +weqoyg (76) +mybfzn (234) -> elndeja, vbnyv +dppmh (67) +zdrfpo (30) +wqvjpwa (88) +vjiprx (47) +ghfcln (62) +lzfgxlb (46434) -> ipnia, qmjdqb, dnzxj, ddotjil +xewab (20) +ceypzh (63) +ammlo (98) +gorrq (299) -> ybxios, kaezunt +hwwea (38) +ocxox (60) +dlsrkm (245) +inswkfm (105) -> hrqdm, osovcq +awkuix (12629) -> zwysutd, ppfgq, ftbil, zvledr +tseejl (56) -> pdzqzk, eklij, ppqjh, sbkfcbh +zdtwo (6) +kmfvh (60) +alhox (33) +fvyqhob (67) -> lwjexjg, niexrb +qhrye (287) -> fwxdhe, dcwngp +ddzbs (28) +texmxw (99) +phkrmkb (70) +hwtudr (35) +yaucaw (37) -> vntnpm, mopjtoj +aizvg (45) +dxbjv (69) -> ahyfxpy, uifttbe +pdbejtw (80) +epufxrr (50) +spyosq (300) -> wnvqy, fjxoyo +ghnbgge (82) +fwmowjn (338) -> ynaeh, hxzlw +oxvjudn (76) -> frxenhe, wxrqjvy +xtpqgw (81) +clskgfl (19) +dnnzhd (68) +eecmcs (229) -> mreicow, mjfsqls +oameej (25) +yslnjr (82) +emxlqwq (18) -> wqussp, trunx +ritcku (120) -> liqfvgz, dkzjztp +mwofrtn (78) +gmvxx (34) +foqcvf (53) +wbyfgrk (320) -> vxqdrzk, alhox +phtiu (84) -> ubiyjs, zicqv, ymetywq, zvrvvky +burxc (42) +hnhcg (10) +icqjwqy (162) -> ddkvjl, muwgzs +zucwwm (67) +ijfjve (72) +fvpns (45) +ocboj (266) -> csrpgne, zzsbho +cithkzk (88) +vioxr (69) +myqrqql (2330) -> sdcdu, hxnxq, nxkawc +axhcob (74) +pgebb (315) +vzamfb (89) +pmmwcg (53) +agrscit (64) +bfvvrgi (193) +yioozfb (24) +ichmv (20) +jxvcmyb (137) +vescu (41) +ajnug (944) -> wvstx, wscmp, ritcku +muvax (202) -> rxvyryq, spriicr, akhsran +gyjui (82) +zzsjfh (62) +htwlpi (20) +pnlrs (33) +ifwxdp (195) -> rbmfs, pocpbk, dpyamhy +pgwquco (39) +ctixwt (201) -> sbwadli, hdnppxz +ynnqnnu (14) +kiocz (78) -> phcqjf, gncec +rzeyzb (12) +flgkko (69) +jcnfvhv (25) +spgebj (5477) -> liprz, sudojso, vqpkcu, qntfrg +kjgwca (49) +ppgnqem (32) +zzsbho (84) +tzhxfhh (186) -> nbcqjke, aaydbfp +fbgohwn (41) +zedtoui (1932) -> ggjiddn, smfpql, tmmdx +gncec (90) +emjkbw (10) +hndngj (63) -> rdgfmzc, dnpap, wnlma, uggosj +ljmmpot (65) +leokcd (82) +fszox (254) -> asnxgw, rvtdj +biyngj (30) +cffyru (239) -> onqtz, vipxzk +dzimoh (56) +ggvhbb (378) -> djcakxm, ghkmngk +jkzcn (37) -> muvax, gjfhtl, tijgqz, lqgal, mchmeiz, belfq +bpvhwhh (60) -> lzfgxlb, fzclaow, kfdxxb, xnmjpa, rilgrr, fvrrpo, zcmlgn +khyucl (27) +xnfpxnd (114) -> xvguvgw, qaktp +unminnt (38) -> abpnn, ljihyoy +psasli (42) +pheetb (863) -> hpvubeg, zjtchm, ujudwk, xzkon +ecviwn (268) -> kqkarm, zcqth +axkokcp (287) -> lysjk, bxnmwa, vitgymq +ghexz (2135) -> powvo, onqfc, hazyvie +trunx (59) +otity (59) +wqvnr (78) -> mgpvr, nyeqnad +agzekk (1759) -> ogomr, kkyycy, wqvnr +jlnxmnt (197) -> xszevpx, ijzvrcj, dxgmc +gvqpxq (20) +dstuo (103) -> alvjlwt, qucgz, oxtumtn, wffkz +fvrrpo (34174) -> vcedn, nfuatoz, dsknoh, jexxxx +zhkwxu (71) +ndiyxee (96) -> cjexce, xixzhx, gdhqehb +wxrqjvy (91) +owbuww (222) -> dmdxjmt, vkwfac, msdkszz +enant (83) +aosedtz (41) +rssegj (27) -> mpiiw, yqznxzs, ahvumy, yycjr, iwmuonh, newnawd +xanuprn (197) -> rveiwr, xqcvk +fhirm (56) +gxrxqy (227) -> cbeoz, xzghryr +xjzzeu (76) +gunqzbu (34) -> fqzleh, utpfhue, zzxdzzl, cithkzk +krythkn (51) +kbpdvgx (1828) -> nzokis, trdrc +snlcnb (45) -> smxutcp, cdyfyx, itjoisx +dszjuo (302) -> bxcfhgy, mracmcq +rbmfs (13) +dewked (96) +lwwuq (30) +yupgfp (53) +mtpqiok (190) -> bmozv, frrsc +zcqth (27) +glyfb (98) +djcakxm (33) +kvmhp (52) +swimi (88) +dcmlo (50) -> obsmut, upfebsl, atart, etlozv +yrobppu (9) +itteaa (22) -> fveygo, wqgfmh, pksuyfu +gotjxc (41) +bvfbjdr (19) -> kyofjtt, bmrwsem, rgqohx +zaciz (20) +xouweh (148) -> vfisys, leblg, usrgham, mkxgloe +xzkon (410) -> kipoq, nngqjua +qnjlq (85) +pgjgnaz (58) +muwgzs (23) +jskhzl (19) -> yhwsnv, oswlpi, ujruya, sbjuka +qazjql (1323) -> ldxjzcc, svyuvhk, nemqds, cdvkf +quyin (80) +cdhfwg (27) +mwmpp (92) +jixtgz (27) +gbfjjv (240) -> lvblzvy, hcpnjd, mohkqjm +uyowaek (288) -> swscx, ytfqdj +ekcrfnr (59) +mdipga (185) -> otxfx, pybtxv +flmfqb (62) +xuglsp (95) +datcnu (95) +yhwsnv (89) +ivcasrz (33) +lgkbqm (69) +nfuatoz (17) -> dgzfep, dfulw, jjwoc, pxqtr, unzfplq, lugeqg, ghexz +vbanwb (55) +oufwlo (48) +ljfdk (1260) -> nudeuz, pswzpo, vifsucu +ovggdf (80) +fbhwev (2044) -> bfvvrgi, itteaa, yhpdlh +yedhrqg (41) +mqwnw (64) +wseqnk (72) +ozczna (89) +neoaym (175) -> suyuh, xklheqv +vbihwha (31) +itmcnzc (30) +sjzvkno (1469) -> xboup, mzfnhhp, ltnxno +mxibrwp (66) +ucytsw (6) +abupobw (131) -> sruad, gvamy +goyyy (169) -> zmyeh, tdhba +jdoysh (51) +llzhmol (84) -> hayenti, geuog, yhgavb, tkdal +yvfltrt (686) -> abupobw, ltseb, ywzrkz, neoaym, aknsq, utgpz, wauprfk +shmuahd (221) -> dxddyhh, recfc +arldq (96) -> bfhgdou, hdbck, dworlrf, dxhgr +wxyaro (10) +udqaee (8) +wpvpo (71) +lytxt (70) +vlcttf (375) +ztoof (19) +pjdbaq (17) +hrkgae (15) -> datcnu, ihbwov, xjrgo +qyfwbx (37) +powvo (186) -> szfroua, seack +ikzndn (67) +wkvve (50) +byfcat (58) +psmylp (5) +dqpng (34) +ndynhq (40) +dhsku (1631) -> lvrqmv, mtopo, lldbah +mbpmp (350) +tswygt (1382) -> aatuy, krcvxrb +oqjdqhz (87) +ywuie (49) +xgpkw (762) -> mghjs, ekegoaj, rktbwod, vdmtlr, djvzshb +varne (281) -> pbizn, zgqnd +jwfem (62) +bfwovd (118) -> mngbghh, eowfj +gwowni (45) +uchwojr (55) -> trsoxa, zlrfy +sfovf (99) -> xcmjo, btfdruj, priuy +dhdeayl (88) +lfklsmy (275) -> pqkvbwc, hgwrue +uyqbwe (54) +fglno (60) +klvoil (986) -> fvpns, srdaso +sscdb (20) +iqycdt (83) +zqztqd (744) -> yhaja, qqomkf, dfcpcm +uopfe (64) +wxtvn (112) +dlbtrjb (78) +evapx (79) +zpzfwgd (85) +tzymfw (20) +frhpgy (115) -> hqqjy, twrxos, horvahx +kzdewu (95) +vpfabxa (45) +plygyiz (85) +svlhbcy (80) +icicush (57) +bwatw (104) -> epbewj, pbinkz +uesje (94) +jnlnp (63) +joduj (92) +gxjbow (161) -> erjhzv, psasli +tdsaa (56) +pcsvt (49) +wdrjftp (35) +abqsqsw (1116) -> ksxpomr, emxlqwq, dwzeri +lzrcpf (67) +qlrshn (52) -> bnkcs, abxqias, msvagxz, gaiqlzf, cifgld, lsbzyx, qzgapj +palhxo (82) +itozwej (73) +recfc (5) +fnvqq (181) -> jxlak, qotrtx +dqnif (48) +saalu (47) +xjrgo (95) +atart (76) +unegqpm (164) -> sovii, fggqv, hgbhi +ayiitk (72) +evvgx (64) +pzzmg (69) +raljfk (32) +neiawsy (52) +kkvxx (34) +xvsnmmx (48) -> wdbub, kpgyfzy, kfrwdp, wpuburp +btnoqzd (94) -> spyjrzi, rwmqr, vvsev, dstuo, wqiene, qmnsyex, skcvg +ssurqjb (78) +oxhuvih (75) -> quyin, pdbejtw +csfac (144) -> fwkpb, thgwtgt, yuqdsv, ejggu, dporqyl, krommni, inswkfm +zprutpl (59) +pcduo (49) +ahcqquf (91) +vumehdr (283) -> lrewm, swtjb, epckorn +dfulw (41) -> tdnsh, jhdhgp, iiogzk, zsxjki, ttkwrfr, eveeynr +zjwxdsl (48) -> lmihhgo, czrjoz, bbsbwso +brupv (74) -> vgerts, uaeeza +zzxdzzl (88) +kxrel (628) -> zedtoui, pnnwkn, ppwgp, burml +pxqtr (2267) -> zrebihv, fukzhnf, reffy +mgvnybx (96) -> yedeqj, lnpdxkz, pheetb, fbhwev +llzboz (78) +yknoisw (78) +nbcqjke (41) +ewfigm (42) +nwfivan (1663) -> ljgrn, kxudhlx, kppjorc +kfdxxb (54154) -> qhblzff, pvwsgxh, postmlp, grvzg +oniakw (97) -> wjpdd, honkhjh +ygsse (92) +pcrxyco (20) +ubxusjq (48) +fiaepdw (307) -> hclfihb, cfjib +qfkpanu (49) +rkjces (41) +ftbil (161) +dhglkvc (95) +qffyap (251) -> xuxkwp, jkkmv +dygbnr (154) -> lkeaso, oqvygul +vgerts (80) +xsehs (55) +uepkk (1821) -> spiel, zkkwvo, opwdy, bvfbjdr +npabeh (97) +fyudu (11) -> ozjskhi, ujaxyn, uyqbwe +trsoxa (70) +dtdrq (28) +mbkvojh (260) -> qcodb, sjpywxy +iwhdp (56) +kqfwwv (59) +qrrfj (58) +yfccf (64) -> acxsu, okcbif +gpiew (204) -> evfti, mcgydbg +njlbp (269) -> meddd, ajebiy +kwibs (8) +gbvowdh (45) +akhsran (63) +wffkz (87) +hyyczqe (163) -> sujgkaw, cmdkcy +llpwnd (155) -> slhqnia, mdvfsjt +zkdsnb (133) -> hvngmr, cesowu +rmjqnz (276) +tfjeo (48) +lkeaso (52) +tpqkb (184) -> ggqro, qvymrle, cqurt, ntogi, hbozd +iiogzk (390) -> mqlgugi, upsrogz, dqtranb, vzttjf +fnnxu (6) +gvytaes (63) -> lqqdqgl, zqijwcd +hqqjy (41) +wgrdy (33) -> ctvjzip, ovxjjgk, vowidrd, hvlpcew +ayyaq (71) +jhwxxmc (79) -> ruxlsl, ghvxa, hlukdep, ozrban +oieqvtt (63) -> oameej, ppiyhx, exwagrs +keuxhfl (340) -> woizpm, owqobwu, lzsnst, xqnwm, oujsw +uinbm (237) -> ejxrqp, axktcjd, xmvipsu +aatuy (86) +atdbx (17) +bjkfclz (249) -> pnlrs, hyqxc +pbmrflr (350) -> nbuie, btpwtub +qdymjur (12) +ajytayr (68) +hclfihb (23) +nhobovg (67) +xnmjpa (72670) -> kxrel, vfjnsd, bjmzvm, mgvnybx +ainak (1568) -> zuhwge, xhmwo, tuvdk +kfvkh (91) +jviwcde (45) +tmmdx (48) -> gosft, mmjuyat +alvjlwt (87) +bdfblio (73) +ekegoaj (64) -> sdzdcr, cjhaq, yslnjr, ahyhpz +ctaxhl (25) -> tupxl, kfcucr, ghnbgge, xaycoki +bilbbf (127) -> fxvjlr, tarlgrd, piqus +yhpdlh (137) -> ddzbs, ykbmqm +rveuds (34) +scmer (5) -> scppxlw, zegoehg, grrjci +uqvkdd (84) +ybuimo (47) +oajts (48) +yxhtf (68) +bhmbpei (65) +cwexwaz (77) +riimx (277) -> zkdsnb, rhtltex, jcyvs, dwpmy, shmuahd, zvskx, szzqsmn +hdnppxz (15) +pfiwzws (93) +hksnbzc (99) +ylxvd (54) +eiqee (88) +djdztah (18) -> kjqwac, bwszv, dutiad +bkesn (27) -> cffyru, jvtkvxk, owbuww, njlbp, vlcttf, dppsv, jskhzl +sbkfcbh (89) +rdhwksn (24) +jhylsh (51) -> fkthtxx, vqdbb, sqwjo +tdqaege (45) +vobydav (1139) -> kvdvsr, jxvcmyb, fhbbe +nngnivo (44) +lmdzx (95) +xvguvgw (72) +tgshzb (1457) -> fszox, qrxvqe, hrkgae +rtlcg (91) +eybms (91) +xxsterg (87) +jrxjdr (95) +qdvmv (30) +bbshy (355) -> dcmlo, mnetsv, sctwm +bjmzvm (3517) -> blfqvmp, myqrqql, tgshzb +evfti (25) +hlukdep (76) +yklbe (1599) -> fyijlyp, fhoohx, ytnhd, mzmwtg +umheofb (94) +ihciz (34) +cdyfyx (14) +zrebihv (62) -> ijfjve, wseqnk +kmvyfai (79) -> lgzam, dlbtrjb +bocgrjf (16) +uzylso (85) -> vkubjgp, ovggdf +tupxl (82) +ntgxar (490) -> fzedbkl, qhinsi, ewlkda, qquge, aepgud +yugdmgx (25) +trdrc (33) +lecjqrc (68) +krcvxrb (86) +ejxrqp (69) +qtgmnht (136) -> hmocs, idhvcw +iyjjp (65) +grrjci (93) +abxqias (226) +wirnc (51) +smjdft (77) +gjfhtl (115) -> pzzmg, flgkko, xddgt, kepyvd +kewvll (6) +kribbus (91) +okncqru (206) -> dewked, kggin +ggjiddn (96) -> iprdoum, ghyax, qdvmv +gvgfjab (83) +oheqyl (60) +ajebiy (53) +pruiu (105) -> azegzz, trjqu +qnmlqy (34) +gqdxofo (14) +ctwqys (88) +mkqze (79) +arxmlc (89) -> yqywtzl, zijpzl, bsdmjnd +kddqe (1367) -> iqemusp, utmatrv, btzchz, frebmn, aejjn, qqtlw +hjcphe (27) +qusruqc (67) +odpwrq (65) +evemn (693) -> ttqtuts, ybtkcry, bwgyj, uubtu, vaxyae +kiadzi (60) +hzzbk (90) +uylkjb (82) +ypahi (73) +smfpql (132) -> gwbssq, khyucl +elndeja (76) +reffy (174) -> rrcgjc, gytimq +tnncdvi (85) +yvaua (107) -> fnxgxy, fiiscny +uokbqcq (46) +yuqdsv (135) -> icicush, obohol +tefvwb (7) +qhqhx (72) +ipnia (88) -> ichekvx, uepkk, agzekk, isdwz, nwfivan, ashso, niziq +rqqcyu (71) +oebbzys (2065) -> cxbcib, rpbmn, muhtyvc +mqgxx (92) +ljgrn (206) -> jvkuwnl, acdth +hjzjhbc (53) +jexxxx (13676) -> qlrshn, zqparby, etxasz, tpqkb +zunvrg (62) +hybiw (685) -> ggvhbb, fcicnl, uinbm, ckavnt, lcdnv +zbuzek (50) +jbvxahe (40) +ymobi (1131) -> qsilzzo, vxnrpq, yxgken +grvzg (55) -> roihpx, yvfltrt, odlntvv, rraaooy, otfbit, jcfix +oxcetg (86) -> qvzryn, yjbucib +emknkrh (47) +dorcc (39) +niexrb (75) +nwemm (27) +qntfrg (1574) -> jndpmw, pnxeoq, tujlwef +fcfsd (95) +bgteja (315) +qmjdqb (9998) -> qazjql, yklbe, jkzcn +avefgw (196) -> mrkxs, dppmh, qusruqc +frhsix (34) +tulwp (264) -> dygbnr, wufaj, oxcetg, gbfjjv, xnfpxnd, oxvjudn, anongb +lxuwkr (16) +zczzj (89) +xszevpx (8) diff --git a/src/main.rs b/src/main.rs index 1f3ae32..bdaa38f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,6 +12,7 @@ redundant_semicolons )] #![feature( + type_alias_impl_trait, iter_from_coroutine, iterator_try_reduce, step_trait, @@ -72,28 +73,26 @@ type u32x3 = Simd<u32, 3>; #[unsafe(no_mangle)] #[implicit_fn::implicit_fn] pub unsafe fn p1(x: &'static [u8; ISIZE]) -> impl Debug { - const N: usize = 16; - #[implicit_fn::implicit_fn] - fn redistribute(mut v: [i64; N]) -> [i64; N] { - let (p, &n) = v.iter().enumerate().rev().max_by_key(_.1).unwrap(); - v[p] = 0; - (0..N) - .cycle() - .skip(p) - .skip(1) - .take(n.nat()) - .for_each(|i| v[i] += 1); - v - } - let mut v = util::ints(x).carr::<N>(); - let mut s = HashMap::default(); - for n in 1.. { - v = redistribute(v); - if let Some(s) = s.insert(v, n) { - return (n, n - s); + let map = util::parse_digraph(x, |n| n.μ(' ').mr(|x| (&x[1..x.len() - 1]).λ::<u64>())); + fn disk(map: &HashMap<&[u8], (u64, Option<Vec<&[u8]>>)>, node: &[u8]) -> u64 { + let (w, Some(n)) = map[node].clone() else { + unreachable!() + }; + let v = n + .iter() + .map(|x| { + let (c, children) = map[x].clone(); + children.map(|_| disk(map, x)).unwrap_or(c) + }) + .collect::<Vec<_>>(); + if !v.iter().all_equal() { + let x = n.iter().map(map[_].0).collect::<Vec<_>>(); + // pure programmers hate this one simple trick + panic!("{v:?} @ {} ({x:?})", node.p()); } + w + v.iter().sum::<u64>() } - panic!() + disk(&map, &b"bpvhwhh"[..]); } const ISIZE: usize = include_bytes!("inp.txt").len(); fn main() { diff --git a/src/util.rs b/src/util.rs index f04587b..cb31223 100644 --- a/src/util.rs +++ b/src/util.rs @@ -23,7 +23,7 @@ pub mod prelude { pub use super::{ AndF, BoolTools, DigiCount, Dir, FilterBy, FilterBy3, GreekTools, GridFind, IntoCombinations, IntoLines, IterͶ, MapWith, NumTupleIterTools, ParseIter, PartitionByKey, - Printable, Skip, SplitU8, Str, TakeLine, TupleIterTools2, TupleIterTools2R, + Printable, Skip, Splib, SplitU8, Str, TakeLine, TupleIterTools2, TupleIterTools2R, TupleIterTools3, TupleUtils, TwoWayMapCollect, UnifiedTupleUtils, UnsoundUtilities, Widen, countmap, even, gcd, gt, infinite_successors, l, lcm, lt, nail, pa, r, rand, reading, reading::Ext, sort, spiral, twice, Ͷ, Α, Ι, Κ, Λ, Μ, @@ -2079,3 +2079,36 @@ impl<T> AndF for T { self } } + +pub trait Splib { + fn splib<'a>(&'a self, seq: &'static [u8]) -> impl Iterator<Item = &[u8]> + 'a; +} +impl Splib for [u8] { + fn splib<'a>(&'a self, seq: &'static [u8]) -> impl Iterator<Item = &[u8]> + 'a { + self.str().split(seq.str()).map(str::as_bytes) + } +} + +pub fn parse_digraph<'a, N: Hash + Ord, D>( + x: &'a [u8], + mut f: impl FnMut(&'a [u8]) -> (N, D), +) -> HashMap<N, (D, Option<Vec<&'a [u8]>>)> { + let mut map = HashMap::default(); + x.行().for_each(|x| { + let (node, connections) = match memchr::memmem::find(x, b"->") { + Some(index) => ( + &x[..index - 1], + Some( + x[index + 3..] + .μₙ(b',') + .map(<[u8]>::trim_ascii) + .collect::<Vec<_>>(), + ), + ), + None => (x, None), + }; + let (k, d) = f(node); + map.insert(k, (d, connections)); + }); + map +} |