-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathday21.clj
76 lines (66 loc) · 31.2 KB
/
day21.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
(ns aoc.day21
[:require [clojure.string :as str]])
(def input "dvlj: 6\nwwth: vvpf + hwcp\nmnzt: zgrl * tpbs\nllmq: smwg * nbrl\nsjgr: vsfh + lsdf\nzsjj: 12\nmctz: 4\nfrnf: wwnw + vjrn\nnzgv: 2\ncpfs: 6\nfsfn: zznl * bgnb\nnhrh: dphm * lrhl\nhcrw: wvjr * hbzc\nnbvf: 2\ndbwl: 2\npvmn: 2\ngzpd: 3\nvpmt: wcpl - mnnl\nfrqd: 16\nzrgr: 10\nqcws: cnqp * shhw\nfjwd: 4\nnlsd: 2\nfgnb: 5\npjsn: pljb + wbbj\njwrd: 2\nhrpb: blgd * wrnv\nlwvh: rfpp * wnlb\npwcr: 2\nldjv: trpl + mjts\nznmt: 6\ngmmg: 17\nrrcd: tpfj * grgl\nnfnf: bspf * qvsf\npswv: ngwc * zhzd\nmllb: rdfg + jpjv\nhmwt: lvdt * nzjn\nshff: dfwr + pzgq\nnsdn: pznn * vbwf\ndfsw: 2\nhhsz: vbcm + lgvq\nfdwm: 11\nhrgv: jsfg * zzrp\nrjbw: fbqp * qrgc\njsbm: hgmj + wfvt\nngcp: mvhv + gsns\nsmwg: 2\njqts: 3\nvrbc: jvhw + qlfg\nlqpq: 5\nntht: jwsf * cvhj\nhqtl: 2\nmhcj: hrpb - qcbj\nldwg: phtb + jpnw\nbwcr: 2\nvbbd: bnvf + hcrw\nzbdm: jmwd / vqqg\nlpvl: 5\nwvmm: mnfb / spbl\ncghh: mflz + ghms\njgbw: 10\njffg: sjjm + qwfw\ncdrn: 3\nvrff: dzpd * pmnh\ntdwf: 3\ndvsf: zbzz * zpls\nfnbm: 2\npspv: shsc + bzcz\ndhbp: lblw + wzhg\nrhdp: gznd + dpwq\nrhnd: 19\nwngh: trvs * jrdg\nrvvz: mwnj * lpvl\nmrlb: crdg + sddw\nzwfw: 7\npzcw: ttvj * bfcb\nrvnw: 9\nchnv: 5\nwpvd: hvmp + bbsr\nvwvg: lrdm / tmdp\nhfnb: vjdv + vnwb\njpjv: vgzz * tfll\ntrnp: 11\ntrwd: dzzd + ldsc\nmpzm: rwvt * scpz\nrzqz: 3\nlcjl: lgmh * frbs\nsbdp: bhmd * zdcc\nlrhl: wwnt + zcwc\nqlwp: 5\nqmsb: ffzn * fjht\nplwb: mwsz + fwbl\nqcbh: 1\nnnwb: vvql - zgdj\ndndb: 4\nmphm: mnds + rlqv\nvfdf: 11\nngcm: smvz * ngcp\nfrbb: fgqw / dvmv\nmtgr: 11\nsdqr: 3\nfnvn: nmhl * rjbv\nmpsc: 3\njsss: 7\njcql: bphz + fmrc\ncvdq: 15\nwwnw: 15\njwnq: thgt * wfff\nzvjv: czcv + ngcm\ntttp: 2\nwwwt: 3\npzwl: lfmf / pfst\nngrt: 5\nbhgg: 3\nbvwm: mhnq + scsq\nwptn: pbcs * pdvz\nwnln: sntz * rqpr\nvwrp: 3\nqzcg: 4\nwnvr: 3\nhntj: 10\nbfjq: mdhf + ghsj\njgcc: gths * mjmn\nfcsb: gcst + dhqt\nfplt: 3\nqbrj: frbb - zdzg\nroot: tcmj + qggp\nmbpv: 3\nmlsg: 10\nlpzh: mgjl * rvfz\nscrp: sdzp / lltz\nmlss: 2\nhvvp: fgff * gzcd\nhzfp: 5\nwzhg: bppd * ffzv\nlprr: 2\nnjtp: svpr / cjcp\nqjmj: lzvn * nhzm\nflvr: spdh + pdsn\nhtlr: qnwh * nbgq\ndvmv: 3\ncvhv: 11\npvfg: mqfv / nlsd\ntwpr: 2\nbphz: zltg + wcmd\nmmln: hqcf / dpgs\nvwmp: wjnt * lqbw\nvgfb: 5\nshbh: hnfr + bggl\nmlhm: mzjl + lmdc\nzhzd: 8\nszng: mvmd - pdld\nfdgr: 2\nqmcs: jsjm + fzvq\nlvds: ttcv * wphv\nbmsg: 3\nnpvv: njfn * ptzb\nbtnj: 9\nrgrj: rtln * phlt\ndphm: 4\ntrvs: 3\ngsdt: 3\nmcpd: nvhz + dljs\npljb: 19\nddtw: 5\ngpbn: slvh * mnsw\nndfn: 2\nlrgp: dftn * mslz\nhqsf: 5\nhzsb: vdnq + dqfq\nrjwr: prqf * pqsl\nfqgz: 4\nzzcn: 3\njvcn: 7\nnlnz: pfcb * zzcn\nlsbp: djcl * hsmw\nfbsf: 3\nhmlr: 5\nvwhb: jplb * zqqp\ndrzq: 2\nbwfq: zrtw * dlwf\npwvl: 6\nhwjh: cqnc * fmng\ncnhp: wqpv * ctfs\nqnwh: 3\njlqg: pjnv + bjmr\ndblj: 4\nqmnr: 4\nrqnb: pjlw * rbgq\nqnjz: 2\ncmnr: vwrp * djzm\nvmsd: 3\nblfj: brzt + lbsm\nsgjp: tjfz * fhvg\nprvc: 3\npwjv: 2\ndhmm: 2\ngcnf: sfwz + vhvb\ncjpr: mvtj * vgqm\ngnqj: wbgm * fglb\ntqsj: 7\nmnbr: 5\njfcj: dfsw * pqgv\nmmcp: 9\nmfmr: 2\nllzt: 2\nvstj: 3\nqngv: dttb * rwwh\ndwzz: 4\nzssp: 2\ngrwr: wrcg / pcnv\nphss: cwfd + lflg\ndqfq: nwqp + qjmj\nvsfh: zrvl * mhrc\nhdwf: zqsj - qjvn\nbgsg: zpnz + qlnh\nfjrc: jjws * wpdr\nrftn: qlpg + gmnj\nlplp: qwdh + ttdl\nlvlz: mbqm + hhsl\ngvdm: pfsq + shqj\nztsb: jgbz * sgml\ngths: 3\nwbdj: gnfs * dpdc\nmcsm: 2\nrgsp: 2\nsgpp: 4\ncrpd: gdnh * cltv\nfmlm: 7\nrdcv: 7\nmcsl: 19\nnjfn: 9\nhprw: dnnz + lnpb\ndzdq: 6\nrvfz: mnzd + jtzq\nsqtr: flvr + wfqq\nhsmw: jdsv * drlv\npzmc: ltph * qtmd\nlzvn: qzdn / vgqj\nhtnr: 2\nclzg: wvjt + mcph\nqrgc: 4\nbhmd: 2\ncwsw: 3\npltr: 4\ncggm: jjmv * vndp\ntrld: lvpb + lmpz\nhwcp: jpbn + vcdj\nmwnj: ntlv + rvzq\nqtgm: lzrl - jllf\nnrpl: nsdn * bbwp\nsmsc: wnln * ndqd\nscwm: 2\ngpzf: 2\nzrdv: 2\ndvsj: lgsm * tdwf\nmbqm: pgff * vjcs\nwrnv: rhrf * fmhq\nqwlz: 3\nvvgt: qwhv + tbdq\nwfqq: zddq - rftn\nrsww: 2\nbqdr: dgmb * qnvl\nmflz: ncml * rhzg\ntvgw: dtlt + mjql\nfgdd: jqts * brgv\ntbdq: psjz + tqss\nvvpf: rfjd * vzhw\ntcrs: dhbp + lmjq\nbftd: 2\nqqhw: 14\ntlsq: jrtv * qsps\nlbsm: hqsf + bpps\nrbcw: 8\nwndr: bhpl * ctvb\ncjrl: wvjv * gnjj\nqzpd: dvsj / btmr\nvfmh: 4\njdgm: 2\ngzcd: fzzl - sqzr\nbfhv: psng * llsq\ncrdg: bcvq * nbrz\nbpps: 3\nnqhd: 2\nvmzh: 3\nrdfg: 2\ngbbr: mlsg + qwsj\nqrwq: 5\nlhzp: 4\njlgm: 15\nshws: 3\nsszv: 2\nqsps: btsd / zbdn\ngdtb: srwm * zdpw\ntjvq: 7\nscnz: ztcr * fsvn\nmdfb: 17\nvstc: rvvc * cgbr\nmmqs: cvgc + prlm\nhbmr: 4\nmtzz: 2\njjfj: 4\nzndf: rjwg * nclb\nvpqn: 2\ndblq: tmlh * chhj\nrbnj: 2\ntmhp: plgj / fbvq\nrsrp: 2\nzcdh: cfns + btfh\nmvlr: 2\nqmwz: gbmm * fhvc\nqbqq: qmwz + cgcl\nvwns: 2\nspdh: lhsj * mjgh\nnmdm: 2\ndrwj: 17\nlfsc: 4\nswlb: 6\nzcqw: drzq * jzrr\nlggh: mfmd * mmnc\nhcct: lgvw - hgtg\ngcst: zptm * cspt\nfwgl: mbpv * hdwf\nzptd: 2\nlmbc: tdtf / bspl\nmvmd: cpwl * vpmt\nfqdf: chvt - ppww\nnjww: mqlf * fjps\nghms: qzhb - dqdj\nqqwf: cmqs - wzrl\nwsmr: dggb + pcrt\nfmws: 5\nhzfl: rtdw + lddd\npgsq: 3\npccw: 5\nwbgm: 13\npjsm: 2\njmbb: 3\nbzzq: pmlb * cgrj\nfqfs: 4\ndplg: 5\nnpgm: nmvh - cllb\nfpgb: 3\ndjbc: 6\njjns: vfbw + jffg\nrztj: tcgf * fgbv\nvcrc: 4\nbpbt: nlnz * hzzt\nlvww: ggwb * btnm\ndncr: 5\ntfpp: 2\nqvcg: 18\nsjwc: zjcq + thbs\nnggs: 3\nczwp: 2\nhrvc: 4\nwvqz: snds * lzpp\nhtfv: pfqb * wnpp\nbqfs: hcjs + ndff\ncrgt: 5\nhpqw: 4\nzcfc: rlrl * zdrw\nthzv: mhms + vcms\nrwvt: njww - nzcs\ngzqj: bqdr - ssrh\nlnpb: dqpz + fzlr\npcqw: 4\njmvl: plgt * vwss\nbccs: nfnf / lcpv\nfjfn: mhss + hqhs\ndtlt: mwfz * wdwh\nbbwp: 12\nclrl: 5\ndtcv: 5\nhcbb: 2\ndttb: 5\ntpzl: 3\ndmcg: 10\ncbwh: 3\nlbqb: 5\njdqb: tmlq * djml\nfnql: 3\nmhms: 9\nrlvm: 4\nftcz: 2\nqlpg: 1\nvjbm: mrlb * lwzs\nphtb: 3\ncqcl: 2\nlzpp: 5\nbpth: msbt * hlrm\nwzgm: 2\nftlw: 4\nprpg: lmbc + tlsq\nhgmp: vvgt + qvcg\nfnwz: bzww * gwlh\nfndz: 4\njdsv: qmmb * nbjm\nvhtg: qgwc * phcw\nbbgz: hmlr * mfpp\nthbs: 2\ndmhf: 3\nccnl: ccwf * nrwl\nmdbn: 4\nthzr: 5\nrmhb: 2\npfqb: bbcp + szpd\nzvbd: 2\ncqnc: 7\nbgnf: phss + rztj\nrjln: dpft + tjjz\nmfjd: ldwg + dbvz\nbdvs: rqmc + wjhm\nqszs: lqsz * ztlf\nprfp: 3\npmgq: drrw * wjww\nphjf: 4\nchvt: 8\nvctd: vzwr * jnrh\ntqqd: fmtw * hpqw\ngvnc: zbwh / hgjg\nfwbl: hsst + jwjv\nvbdp: 3\nnhzm: 2\nvjdv: gbgh + lvmh\ntfbn: fgpw + wfrj\nwsjc: jdvp + zwfw\ngznd: qmsb / vjbl\nfbrq: fslz * tbpl\nnfqd: 5\nbrwv: 5\nhvdl: sllr * bhcj\npbbg: qdvm + prqv\nhqtp: 2\nvbbw: 14\nmbnn: ltdc + scwm\nqvfr: bvwm * vjtt\nlhrn: 2\ndcjh: 6\nltcz: 2\nvcns: hssw * czvn\nqhfn: 11\ncgbb: hstf * bwcr\ndfjj: pcfd * bqpg\nffsd: wdsv + hdzt\nlddd: 1\nmmrq: bdrd + rmnc\nndmz: qqmc + qmcs\nbmgl: 4\ndlwf: dvtb * ffdz\nbptw: 4\ntlzv: dmfb + fphz\nfnrf: dhdf * plwb\nvtgz: 16\nqlfg: cghh * lmjf\nzdpw: pvrc + tthw\npnqr: rgcl + gjnh\nvtfq: 16\ndnlz: gbfr + zfhb\nshsc: rpbf * tmzz\nwvjt: 3\nlsdf: dncr * mrfd\ngqgw: cjgl + szvv\nqfmz: twmh * qntf\ncfns: fhhh + vrff\nzhqr: 2\nzddc: 2\nslsh: 9\nllsq: 2\nbfrd: 3\ntnjc: hdrs * cgpz\njmwd: zndf - mqzd\ncdwm: 10\nctvb: 3\nsbds: 14\nnbtz: 2\ngqnj: vhtg + bcmb\nzpfd: 2\nfrdq: 19\nwvhb: 3\nptzb: 3\nqjrt: 5\npdsn: qvcz / rsrp\npbcp: qwzn + vfdf\ngdfr: 2\ndbnf: spdl * qtmn\nvvql: 8\ndndf: 7\nrggm: 4\nvljr: dhbz * hbqp\nrgcl: 3\ndrsz: 2\ndpwq: 10\nqzjm: ltgt + dgzg\nqsmr: 5\ngzcl: rgrj / qvgf\njrnj: 2\nltbd: 4\nnwzv: gvnc * cbjz\njrnr: vqdf + lzrs\ngjnh: 4\nbnvf: npnz - rmpq\nrwhv: cgbb + svrh\njlnl: 3\nndlv: 4\nsclj: hzfh + whpc\nprqv: 5\nsnds: svjs * fphb\nlwzs: 2\nzwlf: 3\npfsq: pmgq + tzmv\njswl: lphp + jbvn\ntwgg: 9\nwhpc: 5\nmhsc: fnlj * vjts\nmrwh: 2\npmnh: lclr + wljl\njlrh: jtjp / hqtp\njrvh: 2\nllpw: 2\nqzqh: htrd - pvfg\ngclb: 2\nrwwh: 11\ngbfr: htnr * gbfp\nhmhf: gmvr * lhrn\nflwb: 4\ndnnz: 2\nqgwc: qcrq * mjsq\ngmtf: 12\njcbj: npvv + gbbt\npcnv: 7\njnrh: 10\nsdsj: 2\njzgv: fbpw / zptd\njbrj: 4\nbzww: pwjz / bpbl\ngghf: gpbn * ngrt\nbwhq: rbpv + chqt\nwsrl: 7\nbtfb: 1\ntvvz: vnpw * ztlj\ntzmv: trls * btld\ntngq: cwsm * mbnn\ngcnj: 2\nzfnp: 10\nmzdh: nswn * pbcc\nbpbl: 4\nqnlz: gbzg / pvmn\nptgr: 2\njsjm: 6\nwnlb: 2\nscjm: zbdz * vsfj\nrjbv: 4\nmfnd: ldjp + sbsd\ndrjn: 3\nmfws: 3\nptjb: 3\nldnf: jrnr * bmgl\nwncv: 3\nwsqc: hvvp / gbtv\nzhmg: 18\nmzrn: 3\njcvs: 3\nhsgw: 2\nhbzc: 3\nscmv: dsfh * zfpz\nsmvz: 5\nzhcb: 2\nlphp: wpvw * dsdz\ndjzm: rvnw + jfcj\nfbpn: 2\nmjql: vmsd * hzsb\ntgqq: rdvs * nrjs\nbhsc: 3\nmsbt: 2\nrpts: 3\nmdpw: jtsl / qrss\ndsrf: 4\nqgjm: 2\nwdsv: rlcv - wndr\nmqrz: dwzz + lhrj\nnclb: dhvt + pvvb\ngdqr: 3\nllqp: ltbd * dsrf\nqrfz: 2\nzghv: mwdw * mdfc\nlqbs: gsdq + wjqb\nhlfr: 4\nbhzz: 15\npnsg: vmgv * bzsv\ntzgg: 4\nnbmt: 2\npgmt: vstc + htfv\ngwjz: 2\ngbmm: 2\ngbbt: pbtd * nnlw\njtsl: pmbg * vgdg\nfslz: 5\nhqqr: hmqq + gfqw\ngltf: qrwq + zjqg\njdbc: 1\nmcwh: 4\nnzsm: znmp / pwvl\nccwf: 2\ngswq: 5\nlbsq: 2\nnbjm: 2\njpgs: 3\nmggd: qdmz * fmlm\nphbj: pvmh * wqnd\nbbnd: 2\nvrsf: 2\nmsps: 9\npvvb: hbfw * gdqg\nnbrl: dqrf + brfl\nntlv: wwsp + mphm\nzbhh: 5\nvtfn: hmpb + jjns\nrcmg: tqsj * fnfr\nnmlf: 7\nlnzv: ddbq + fnvn\nfnbw: nssj * lqsp\nllpg: 4\nlhwh: 2\nzzhc: wrbg - qclr\nqcbn: qzgt * bmrl\nqnlc: dwff + gzvl\nqmpb: fdpv / vswv\npqgv: zqzl + tsmj\nlgmh: dtng * hhpp\ncpwl: 3\nwjww: 3\ntgjn: vbbw + whlg\nbdqb: pbcp + humn\ncllb: 4\nfdpv: mvcl * zghv\nwwfl: wfjw + rpjv\nzrgn: 4\ndwgv: 4\nnppp: 12\nmpvd: sbdp * bfqs\nwwnt: wzzz * rqqp\nqggp: vcns * dzcq\nmnrm: hwcl * sszv\ntsmj: zclr + pswv\nphvs: 2\nrdwq: 3\nstvg: 5\nvgdg: wnvr * rndh\nthgt: 3\nbttn: brwv * mcmg\nnbdg: lzsn * qqbn\ngwjm: 4\nmvlc: 2\nhhhg: jlgm * spcp\nbhgf: vbnh * twgg\nhnfr: tnhc / qfsn\nppbl: fjwd * rrbl\nnzvh: sdrl - rvrf\nmvjb: 7\ndhbq: sdzv * clvs\ncwsm: 3\nbwqz: 6\nnzsc: 2\nfrzf: 2\ngdjg: qtbp + qhfn\nqgdn: 5\njmsz: bmfv * fqgz\nnmpb: 3\ndhpt: 2\nmjsq: 4\nlcpv: 2\npbsn: qwlz + zshr\nzlcw: mnrm - rpsw\nhdbv: hmps + fwgr\njlhj: qrff * rdng\ntrnt: 7\nztlj: 4\nlwpf: 1\ncbpv: zmdn + gdtr\nzgsf: gcnj * vnss\nvjts: 2\nssrh: vphp * ccvz\nnvhz: wvrh * qcmq\nvpzn: 4\ngmlz: 2\ngmdz: rrms + qcnz\nnrhw: 12\nltgt: zfsv * rthf\nwpcv: 1\nbzwg: vddb + svjq\nmnjn: gsdt * pdtw\ngfpr: cbpv + hnbd\nlrjr: qnlc * pgnc\nlsnz: 4\nzjlv: twwt * prfp\ndggb: gmlz * vrbc\nfnfr: 9\nczrj: hqrh * gwjm\nvjcs: 3\ntpzq: 6\nmsbc: gmjc * rzqz\npfcb: 3\nvfdg: mqbm + hhsz\nplgj: znhn * dvlj\nfpfv: cgbs * rlfp\nfmnc: 2\ndrrf: 3\nspdl: 11\nlghs: lchp + qszs\nshfj: mzzq + chnv\nmhbf: ndmz + fpfv\ncwrd: 4\nfpbr: ztsb / tttp\nmwhz: vqmq + wvts\nmhrn: 2\nfgff: 2\nnwqp: gbtq * dlmq\nrbbv: 3\nrvgp: jmrd * lhwh\nlrvl: 3\ntdbt: 1\ncgbs: 2\nqgvl: tdnf * pbsn\nplrv: 6\nbbsr: zsjj * rcjm\nqwdh: vcnz * brwq\nbrqt: 8\nszvv: brnz + mrsr\nrtln: 2\nfngh: wsjc + jzpz\nnvgv: pjdc + vjvp\nlrvz: 4\nlsnf: 10\nndwr: hrgv - wtdc\ntmdd: 2\nlhjv: nggs * rggm\ngdnh: hhjq - rpts\nwhpp: pspv * gwjz\nlzrs: 18\nffwr: mdfb * pwcr\ndpdc: qcbn * jlvt\nhwjm: jsbm + wqvs\nvfqn: 17\ndtfw: 9\ngbbf: 2\nnqmm: dhpt * dbpj\ndgzj: bzlc + qspm\nvbdw: 2\ntlrd: gzcn * qsmr\nrfpp: 6\njdvp: 6\nnhfp: qqhw / ztql\ntcfd: jgbw + zcqw\ncldq: zgct * ftcz\nlfmf: dqrr * bbvr\nfwnb: rzsc * gccv\nrttz: tsfs * frfr\ndvww: hzdf * cqrn\nnzts: 3\njtzq: 4\nghsb: 2\nvqnh: 2\npqtr: 2\nbggl: lbmr + vsjt\ndrlv: 2\nddds: wvhb + hcbj\npnlq: 2\nzlqh: bwfq + fbrq\nhssw: ftff * jwqc\nppww: 1\nzdjs: 2\nwzrl: gzsw * sgjp\nvmgv: llww + vtfq\npbmh: bpbz + lsnz\nprws: htbf + sbds\nlmpz: 5\njsnb: 12\nnvdh: 4\nzjzh: cjrv * pzmc\nqghp: 3\npdwm: 3\nzfhb: 5\nwcmd: wngh * btnj\nlsmr: 2\nhtmq: mmjw + jcvc\nwsmv: 5\ntqss: 20\nrlrl: 2\nmdwm: 15\nbhfn: 2\nsvhg: 5\npsdc: 14\nvrpg: 9\npcrt: nzvh * nrfn\nssjf: pshr * tzbg\nfbqp: 13\ntwtr: jwbt + dblr\nfndb: dpgc * bszp\ncndc: 7\nqwnt: ffvb + vzgs\nbgjh: 4\ngccv: tbzq + mpwp\ncgbr: bvfv + dfjj\nmpwp: bfjq - gdpf\nbpbz: tmdd * hgdj\nwcnt: 2\nlblw: 1\nwvjr: 13\ndbtv: frsm - fnbw\njcfw: 5\nrwjl: 3\nwrbg: hrlj * tvgw\nhrlj: dndf * ljcm\nlbhp: qfcz + qdrg\nfzvq: 1\nhbgl: 17\ngbtq: 3\npgnh: mwwr + hqqr\njfdn: 3\nvbnh: 11\nwjts: ddjb + smph\nwfff: crnb + bccs\ntrpl: ffsd + tfbn\nzphp: nhrh / vcrc\nnsfl: 3\ngclr: chws + hprw\nzfsv: lcrh + tpzq\njlvt: 2\nhdrs: 2\nqjvn: 1\nwqgv: ghlg * wmlg\ndzfw: 3\nvbcm: tcrs * scjm\nvbwf: 5\nfmrc: cpmd * nwjg\nlgsm: jczn / zbwm\nvqzh: gvms * gqch\nrcfv: 2\nbzmg: 5\ntchl: 15\ngqqw: 1\npdnz: fmws + lfnv\nwnpp: bfvq * dqrs\nprtt: mcsl * vhwj\ncvhj: 4\nzsts: 5\nqvsf: scmv + ddqs\njmcv: vfpm + lwvh\njqpb: tzhb * rvrw\nsgdj: 3\nmnsw: 2\nvzgm: qgdn + pjsn\nphlt: vtwm - mmjj\nhstf: 20\ntzhb: 15\njnng: 3\nmtmr: 3\nlldp: hbgl * dzgh\nlqbw: 11\ndgzg: 18\nvnpw: 7\nlptp: scnz - tfbl\nlzfw: 11\ntfln: plpf * stvg\nwfjw: dtsf * gqsw\nrjwg: 2\nzsjg: 2\nftjl: rhnd + hrvc\ncwsp: gfrz * pgcm\ngzcn: 11\nbspl: ccnl + qcbh\nbwvt: hpgp * pldl\nqrff: pfrb + hpbd\nvddb: 5\nrcdb: gltf * sltl\nwhvn: 3\njzrr: 3\nztth: jvtp - ghrb\nmvtj: 3\nbclq: 3\nmjts: wwfl - nnms\nltzq: jntf * rttz\nwqdv: gsrq + lnqv\njzhp: shff - qbrj\ntmwn: lpzh - tnjc\njpsq: 13\nmrjs: 3\nfzgh: 4\nmnfb: zbdm - whpp\nrvzq: qftv + jpwc\nmppj: 6\njbfc: szng + blfj\ntmzz: tlrd / thzr\nmmmz: mcpd + qngv\nbzlc: lqvg * fzgh\njsjp: bwqz + dfvh\nttrc: 2\nsltl: 5\nmzjl: gggh * hsgm\nbbbq: mpsc * ghsb\ncrnb: snwl * wsqc\nggwb: zmdj * lwbf\nrnnr: wpvd + qqwf\ndjcl: 2\nghhs: smgf + jbfg\nwjff: pdnz + llrp\ngfml: zphp * rdnd\nngfm: vlvr * ppml\nhfqj: hpsj + fgnb\ntgfh: 16\nbblb: jzhp * nzsc\nnzjn: jmcv + bdql\nlqvg: 3\nzgct: rcnz / jssb\njwbt: vfmh * dtfw\nzqqp: 5\nmzjr: 19\ncwpz: crnt * whvn\npbcc: 2\nrmnc: nmgq / bdvs\nrvzm: wnnc / rdhb\ndzsz: 4\nscsq: wwjq + jmvl\nwcjj: scrp - cjcd\npzgq: trtr / wprb\nrnjm: 3\nmqld: 17\nzqbc: 2\nssdv: nllb + pmnq\ntpwj: htvc * rbws\ndvtb: 2\nbpdf: wdwr * jnsr\nptsp: mzjr * gdfr\nlrdm: gwqg * blrj\nhbww: 2\ncqrn: 3\nvqdf: 1\njvhw: swqj / fndz\nsdzv: 5\nbvnf: 10\nnlcp: pjsm * vqzh\nmcmj: glvr * pdhz\nrpbf: 5\nzgvp: 3\nvcdj: vctd / htlr\nqbgr: 6\ntwnc: zplv + fffw\nwphv: 4\nfzdr: wlvh + pmpc\nffzv: 4\nprlf: tljf - tprs\nbqdj: 3\nqdrg: dbwl * gbbr\nqzdn: mhbf - snwt\ndpgs: 2\nbzcz: wwth - cwsp\nwhlg: 4\nwlgw: 16\nnlpd: hbww * bbqm\nrnps: 16\ntpgd: jnqh + vvcv\nrlqv: 18\ndqrr: 3\nwljl: 4\nsdrl: bdqb / jfdn\nhvbj: 2\njplb: 3\nvbsr: tdlt * nlfb\nvnbj: 2\nvcms: bvnf * vzgm\nzwcj: fgdd + jsss\nplpf: 8\nsslb: 10\ndblr: chst + vnmz\nqmmb: 7\nvfpm: hlfr * vdvw\ntldh: 17\npqsl: gsvr - wbdj\nzgdj: 1\nmgql: 3\nfhvg: 3\nqcnz: 4\nrrms: 5\nzmgz: wsmr / gbbf\ndsdz: 7\nwqvs: 8\nzcwc: 7\njfsd: 16\npwfc: 7\ngsvr: jrhz * cvzp\nldsc: zqvc * bwhq\nmjmn: psrf / dbrq\nrzsc: 2\nhcbj: 4\ndbrq: 5\npcsw: 7\nmwdw: 5\nsbpv: 2\nlhrj: gzcl * rfdl\nmfnb: lncl * dgcm\nctfs: fcsb + jdbc\npdld: 9\nwhqj: fnbm * cslt\nzltg: rsrs + tgsg\nqdmz: wtgw + rwjl\nspbl: 5\njbfg: tprn * prlf\ncrwb: 2\nhtrd: fzdw * mhsc\nwbpr: bmvq * mhmn\nqcrq: 2\ntwwt: dtgs * rgbz\nfnfb: nmlf * vwns\njcwv: 2\nzgrj: fgfm * hfqj\njwjv: jfsd + gcgv\nvrgh: hztf * tqcc\nhnhl: 3\nzjtr: 5\nwfpl: rvrm * mnsr\nlflg: nqwn * jwcb\nnltv: rbnj * zsts\npgwj: dnrb * hdbv\nnmjg: flwb + qbht\nfzzl: vqll - phnr\nttvj: 5\nrnqn: 2\nvzhw: bbnd * svhg\ngwgq: 4\nrbdz: 8\nlclr: 7\nvsfj: 2\nwpvw: bzzq + lvhw\npldl: mnjn + gjwr\nlqmm: bhzz + ltzq\nmzzq: 8\njdlr: gbnn * wghw\nshfh: 3\nprmq: 8\nwfgb: ctgr * sbsc\nrmhg: lplp + fzdr\ndfwr: bnwm * stbr\nthlc: rnqn + zmnn\ntprn: lmfr * hfwj\nhnbd: 15\nlvqr: 2\nrqzl: tchl * zqbc\nzbwh: rjhn * bdjs\nsbmj: bdws * lbvm\nwdbw: jnng * mhdq\nfgbv: 12\nblgz: 3\nmdhf: zwhb + zjlv\njntf: 4\ncjcp: 4\nfhvc: 5\nnssj: 3\npcrp: prtt - gmsl\nqdvm: jrvh * rbcw\nngwc: 2\ntpbs: dhcp + crpd\nnqjz: 4\nndcp: nqmm + rlpp\nqcbj: shbh * zstc\nnfsr: pvrh + ttbm\nbhcj: fcmm + hjdm\njjcm: 3\nnnlt: pgsq * mgql\nnjvr: zdhd * mppj\nvjbl: 2\nqbqz: 5\npdhz: dnvl * rnjm\njpfj: 6\ngsdq: 7\ngbtv: 2\nppml: 2\nbmvq: qbgr + rdqq\nmjpp: 3\nrbws: 3\nhzzt: 3\nchqt: 7\nfgqw: hwjh * vbhb\ngqvt: 5\nfclm: qlvr * fwmq\nvrtw: 2\ncncw: 2\ngbfp: ndlv + nmdm\nrgsm: 4\nhsbl: jfhp + mpvd\ndthg: qsfv / stpw\nfzlr: 4\nmnbp: 8\nrlcv: hsgq * wzrn\ncgcl: 1\nsmph: wfhr * zsfn\ngwqj: 3\nzrvl: 4\nnfrb: 2\ngcbd: mtmr * bfrd\nvlnz: rwrz * jgcc\nhgcb: qnjz * gqvt\nznsh: 3\npjdc: 5\nmwwr: 9\npmcc: htmq * znsh\nstbr: 5\ndqrs: qlwp * qrnb\njzpz: gfbm * bzml\ngppr: jcbj * hmhf\ngsns: pnsg / wvzv\nnrjs: 5\nwhvl: vwvg * vwvd\nrhzg: 2\npvmh: dvsf + jlrh\nlgvw: tfpp * sfrd\nlhzg: 12\ncslt: cggm - hqpc\npgcm: gqqw + nnqn\npvqc: 2\nqqgw: 2\nhsgq: 2\nvjtt: 2\nmcmg: 8\ngbjd: 2\ntthw: mffh * fzmg\nnrjj: 3\nljgd: 5\nqmpz: 3\nwvcs: 2\nwwjq: lfhd * wtdw\ncltv: 3\nqstr: mqld + gclr\nrqqp: 2\nnllb: sqts + qvfr\ndgpw: 6\npsng: zzjt * zrgn\ndvtt: 12\njvhf: zjlg * nbmt\nfgfm: 2\nnswn: mglh + tlzv\nddjb: tsbf * sgdj\npwbq: 14\nblgd: twss * wpnr\ndwsz: 4\nrjtt: 7\nsnwt: bhgg * vfcw\ndmhl: wvrb - gdmm\njqvm: 4\nftff: 3\nbzsv: 2\njwcb: 3\nlvmh: gdtb / mzrn\ndzpd: 2\nvwfh: lnzv - mhrn\nvndp: mljg + hwjm\nzlbg: ffmg * fnql\nzgrl: 3\ngdqg: 2\nptvm: wrzq * qzcg\nbfbb: 4\nzclr: 7\nbtfh: 3\nfrbs: 5\nfrsr: 6\nntcg: 2\nwtdc: mdwm + hnbl\nqrzz: pmfw * cbrg\npsrf: gdzq + bwvt\nsmlz: 2\ntwss: vqpz - cwrd\ntmlq: phvs * mjnz\ntcmj: fjcf / fjvm\nmhmn: 2\njtjp: hqhp * mdbn\nhhsl: 1\nbrnz: 1\nmhrc: dvww + gbjd\nlnqv: 3\ntmrv: 2\nvgqj: 2\nggqd: dtzf + prvc\nqgph: 13\ncrpt: ljgd + vtvg\nzddt: jfzt + dcjh\nqwsj: shfh * zwlf\nlhsj: sbmw - trnt\nshrd: 2\nncjj: wsrl + lhjd\nghsj: hzgj * nfqd\ngnfs: 4\nbqpg: vtgz + jjcm\nlchd: pdsj * dmhl\nzdcs: 2\ncwmb: 1\nvdjb: jvcn * fnfb\ntdjh: 1\npdvz: 2\nhlsc: htms + tsgd\nrvrf: jwnq / tmfc\npdsj: 3\nqwzn: bmgw * msps\nnlfb: lgjs - fdwm\nwgbg: zlcw / cjrl\nlcrh: 5\nwmhr: vgfb + pwbq\nmqbm: whfr * crwb\nwjqb: 1\nmjgh: mrjs * mjjf\ngnjj: 2\nbdjs: 17\nbmgw: 14\nslhz: 3\njpnw: qrjz * bqrr\nlzzg: tgjq / ccfn\nvvcv: rtjh * rmhg\nnlln: 2\nzghj: 4\npmpc: hmqj + bqqw\nrwhz: 3\nfjhh: 12\nfwwc: 1\njnsr: dgpw + zlbg\nchws: scgv + jdlr\njbsh: 5\nffzn: rhsr + tsjw\njssb: 4\nzjcq: 5\npmlb: bpth + czqq\njrhz: nwrw - gppr\ndwlh: 7\nsvbs: 10\nwzvq: bclq * bjcv\nzzjt: thds + lhhc\nfctb: 5\nczqq: 8\nrmvr: 7\nwrcg: qtgm * sclj\nqclr: pgmt * bjpj\nsplw: mjpp * ppbl\nflsr: mvjb * wvcs\ntjrl: 5\nhvmp: lrgp * llpg\nspwh: 3\njslv: hgmp * rbwf\nqqhp: 2\nfwgr: 5\ngqcj: 2\nqspm: 1\nrvrm: 7\npmvr: qqgw * rwhv\njsbl: 9\nbrzt: zpqs + vlvf\nzpnz: zhqr * clrl\ndpgc: ldsl * bdrh\nztcr: 2\nrqmc: 2\nqnvl: jgvj + mggd\nmnzd: jsnb + nbfd\njtdm: 2\nlvdt: 13\nzqvc: rhph + fplt\ngbgh: vgpz + gnqj\nmlbh: trwd + fnrf\ndrrw: 13\nlzmd: 5\nvzgs: blrb / zdjs\njnqh: jjfj * vrgh\nbtsd: vbbd * cqbc\nvnwb: bhgf - vbfg\nsqpl: 3\ncghr: tjvq * cndc\nrwtg: 2\nmnnl: 6\nnqmf: 2\nnlrl: lvww + gfml\npltv: 11\ndlwz: 19\ntljf: clwd / wvjq\ngfqw: 2\ncnsg: 2\njwsf: 2\nqngq: zjzh / fmnc\nhphl: 2\nszcq: jftb + pnlq\nscpz: hsgw * pcnh\ndtsf: dhbq + bgcv\ntgsg: vfdg + smsc\nhtbf: mzdh / nbtz\nmncz: 12\nsnhf: blgz * pnmh\npnmh: 3\nwlvh: qbqz * fqdw\ncjrv: 13\nrggq: mzgw - bqfs\nfjps: 3\nczcv: vqqb - rvvz\nqfsn: 4\ndqdj: 7\nctlw: rqzl * zpbm\nwhds: 3\nqtbp: ptgr * tgqq\nqlvr: 3\npmnq: zvjv / nncw\nhbqp: lhzp + rbdz\ntlzq: bhfn * qzjm\ngjwr: 19\nwqnd: 2\njbrf: 7\nfwmq: zrtl * gwqj\nmfmd: 5\nbbcp: bblb - zhmb\nrhph: vcsz * cdwm\ncrnt: 5\nttcv: 3\nbdql: mrwh * slhz\ndgcm: dbtv + lvld\nhtcl: rhdp * tplc\nfswh: 2\nqcmq: 6\nqgzj: fjfn + bttn\nmmjj: 6\nrpsw: fwqz * gpzf\ndhvt: qgcp / dzsz\nbjts: 2\nvswv: 2\nzsfn: 6\nwzzz: 3\nmffh: 3\nzvwf: 3\nqfcz: rbdj * jmbb\nnwjg: 11\nvnmz: hqtl + rbst\nqsfv: ndcp * glfb\nfwqz: fndb + tlzq\npsjz: 11\nffdz: lbqb + ntht\nlltz: 2\ntmwm: lqpz * shfj\nsmgf: mmqs * vnbj\nvqmq: hfnz * ptlm\nmdfc: 2\nhrjg: 13\nncbn: 7\nqqcj: smbz + hmwt\nlqsz: 3\nlncl: 2\nghlg: 3\ndhbz: 2\nfrsm: gcbd + dblq\nfffw: ngmv + lfqf\ntqmz: 12\nqlnh: 1\nwfvt: 5\ntbzq: cmnr * qrcr\nhjdm: tlft + wrjq\nbjcv: dndb + frdq\nfmzq: 4\npshr: 13\nhhgs: tvvz * zhcb\nvphp: glmz + qmbs\nmnsr: nqjz * smsz\nljtl: 2\nhfns: vpbs * hqfh\nhzlp: 2\ngmtm: 5\nlvhw: lllb / vrsf\nhcph: zvwf * rjtt\ntplc: jsdv * mdpw\ndbvz: cndw / zddc\ntnhc: llmq - mpzm\ntpfj: 2\nzznl: 4\nnwrw: prpg / jjjr\nrmpq: 2\nzrtl: 7\nfsvn: dzpc + jslv\nqrqh: rvgp + btfb\nllww: nltv + drrf\nwrzq: 2\nbvfv: lptp - zvpb\nsdzj: qwqz * pcqw\ntdlt: 2\njpwc: hwnz * hzfp\ndbpj: 13\nfcgc: 13\ntbpl: 5\nzqdq: bgnf * nqhd\nspcp: 2\nbmrl: 4\nlhhc: 19\nctlf: 5\nsvpr: slqd + jdqb\njdcs: 10\nzbwm: 5\nhfnz: 2\nvwss: 2\nqrnb: 5\ngmjc: sjwc + mrwq\nbcvq: 8\nbhpl: 7\nlvld: 3\nnnms: dtcv * qgzj\njjmv: 19\ndvbv: gghf - mmcp\nmwsz: 6\nlzsn: 5\nmjnz: rtql + dvtt\nhqcf: mmrq / cfsl\nncrt: tsvp - ndwr\nrcpv: wlgw - dcjg\nvpbs: pbbg + lwpf\nnstv: nclh + wvmm\ncngh: cgps + qngq\nsllr: 3\nqvsw: dtfz + dvjh\nthsd: 4\nhcjs: 11\npvrc: nvgv * btnn\nhzgj: 7\nzqzl: rnps / qhqj\ntdnf: 5\nrbpp: nrjj * jsjp\nqpqz: 3\nbjmr: 1\nfbpw: phbj - nthd\nvjvp: 6\nzqmj: 5\nqhqj: 2\npdsq: qtrn / wsmv\nfrlb: 4\njbvn: vwmp * cfth\npgff: 2\nhgjg: 5\nlgdl: ddnw + sslb\nszbv: 5\nhtms: lfsc * mmwv\nrrhp: 3\ncpmd: njtp / gzpd\nfzdw: ffvt * nnjp\nbtnm: hcbb * qfwm\nrmtj: rjwr + hvdl\nzhlp: gclb * pdwm\nnbfd: 1\nwtgw: 4\nhumn: 3640\nswqj: tzrs + htcl\nzgqq: drbh + lzmd\nglvr: 2\nhpbd: gjmw / lvds\nwljt: wtlb * sgpp\ndtfz: rnnr / fqdf\nvqgl: 3\nzbdz: 4\nvsjt: zvzs - scds\ntrnz: 15\nzvpb: dlwz * srnw\nmrwq: 4\nwghw: 11\ndcjg: 5\nltph: 2\nqrcr: 10\nlwbf: 11\nzcbm: tjrl * dhrv\nqgpj: lrvl * nnlt\nqzgt: 4\nljbp: 20\njgrp: vvqr * ngfm\nldjp: 1\nmvhv: cnhp * rgsp\nsqzr: 2\nlchp: 2\ncslb: 4\nclvs: 5\nqwfw: qgpj + lgdl\nhmqj: cpfs * ctlf\nsvrh: 7\nwnnc: zvbd * ltrc\nfmng: 3\nrcnz: jpsq * blwg\nmzgw: jvhf * vqvw\nznmp: fjns * nlpd\nrndh: ncbn + wbdm\nzzrt: 2\ntfbl: pcrp * gdqr\nttdl: mfnb * llpw\ncfth: jrrv + lbhp\nqwtg: ghhs + qfmz\nswqb: 17\nnngb: 3\nzglv: bmsg * thzv\nwpnp: 5\nnjgp: nlrl * vstj\nppqs: lrgg - tdbt\nvgpz: vpvr * bbbq\nzbzz: pmcc + mrrh\nddbq: 15\nrhsr: 3\nvqqg: 3\nsdzp: nbdg - nppp\nphcw: 5\nbpng: mwhz * mllb\nlfqf: 8\nrjfd: 9\nmrrh: ncrt / ntdn\nzvbt: cqcl * mfnd\nbbqm: 3\nzmnn: 6\nzplv: 1\ncspt: 2\nrvvc: mtnh + dvbv\njfnw: 17\nfrfr: 3\nwzrq: 3\nwdwr: 2\ngjmw: rmtj + hlsc\ndzcq: rrgf + tngq\nfhhh: 1\nbmfv: 8\ndljw: 17\nslvh: 5\nwjhm: 4\nrbdj: lqpq + drsz\nfmhq: 4\nbzml: 5\nfhfj: hhhg + bgsg\nzpdh: 3\nmrhf: 5\nsvjs: 2\ntjjz: cjfs * qmpz\nbwtn: ssjf + dmhf\nhgtg: hvbj + nljv\njwqc: njgp + zcbm\nqrjz: 2\ncbjz: 2\ntjfz: szwd + zrss\nshtz: fnwz + qdhm\nbcmb: qrqh * lrvz\nwpnr: nbvt * jcql\nlllb: gvdm * tqnh\ngvms: zvbt + zqmj\nsrnw: 4\ndhdf: ztmg - prdq\ncfsl: 6\ngwlh: 5\nfwvt: 4\npmbg: 2\nsnwl: pmvr / mfmr\nbpdn: mcmj + lcjl\nprdq: 2\ngbnn: 4\nzdzg: 1\ntmfc: vrtw + thsd\nwjnt: 3\nshhw: 3\nljsw: wcjj * pltv\nhqrh: 4\nnpnz: lwzp - nqdt\nzlfm: rdwq * jbrj\ndtzf: 4\nbppd: 3\ndtvd: 3\nvcnz: rcdb + fzdf\nqtrn: jlrt * lqbs\nppzw: trnp * zssp\nbdnp: 3\nzdrw: 3\nbrwq: 3\ntpjj: drbq + swlb\nwdmv: 3\nzmdn: 3\nttbm: 5\nbfjs: 2\npfdm: 5\nvpvr: vbdp * ndfn\ngzsw: qpqz * nzgv\nmfpp: 5\nqnlh: bwtn - qmbm\nfnlj: rmhb * cngh\nmmhf: jgrp / mvbd\nmdqw: 4\ndhcp: zrgr + frqd\nrcjm: pprt * ddds\nwrjq: vbdw * cldq\nbdws: 5\ntgjq: jrnj * bbgz\nbtld: 5\nrbst: 6\nswqf: 2\nmvql: 2\nzpls: 4\nrdhb: 2\nwcvl: 3\nzddq: pfdm * frsr\nvvqr: 4\nhbns: 5\nmmnc: 2\nqprl: wpnp * wwwt\nbrjz: 13\ngqsw: 10\ncvzp: ljbp + swdz\nwvrh: 14\nrthf: 5\njjjr: nzts * mvql\nwmlg: thlc * rwtg\njrdg: dbnf + btmz\nmlrp: hrjg * sdsj\ncjgl: gfpr - zbhh\ncgtp: ldnf + wmzl\nvtvg: qdpz * nfsr\nhmps: zpdh * wncv\nwvzv: 2\nrtql: 1\npjlj: ddtw * lhlc\nshbp: 7\nnbvt: 5\nvtwm: 19\nllrm: 5\nngmv: shbp * whds\nwtdw: 11\nccvz: 11\nwtlb: dzfw * bmvr\nnclh: smwf * zqdq\nsfqw: 4\nzpqs: 5\nddbs: 12\ndpft: flsr / mcsm\njrtv: lzfw + vpqn\ndzcl: vqgl * wcnt\nncml: 5\nzvmw: frzf * vtfn\nqftv: ptvm * rlvm\nwnjg: zfqf * vpzn\nqvcz: cjzc * gmtf\njfzt: 1\nmjjf: 2\nhsst: wdmv * vjmz\nljcm: 4\nrgbz: 2\nlmft: 9\nqtmn: 2\nwsdr: lhcs + mmmz\nplgt: tldh + lchd\nwvjv: 3\ndljs: 11\nnljv: wpcv + nsmd\npgnc: swqf * fpbr\nzjqg: fctb + bzmg\nvdnq: tmwd + ppdm\nlhjd: 4\njsdv: 2\nvqll: pzcw * bjts\nhztf: 2\nmqlf: 5\nmrsr: szbv + zcdh\ndnrb: ptjb + tgjn\nfjcf: shtz + mhcj\nnhcp: 8\ncjfs: 12\nwdwh: hrqt * prws\nmglh: 17\nthds: gjwj * tmrv\nscgv: nhfp * hzfl\nmhdq: 2\nndqd: cvdq + wcrb\nqfwm: zgsf / llzt\nvqpz: lsmr * qwnt\ngsrq: fcgc * bwwv\ngmvr: 12\nhgdj: brjz + tmhp\nqqmc: qnlz * vqnh\npprt: 2\nzwhb: nbvf * vbsr\nszwd: qgjm * ggqd\ndtng: 9\nnmvh: 17\nnthd: wsdr * jcwv\nlmjq: 6\nnrfn: bpbt * jpgs\nhlrm: 7\nrlfp: zgrj + jcvs\npmll: 3\njrrv: wbpr + ppqs\nplfc: 13\njqfl: 2\nztql: 2\nbfvq: lhjv / jwrd\ngqch: 2\nsbsd: rtjv * nngb\ncgps: jdgm * dnlz\ndqqh: phjf * tpjj\ncbrg: 2\ngdtr: qmnr * fqfs\nzvzs: 16\ngndt: 3\nzbdn: 2\nvbhb: 2\nswdz: qjrt * zghj\nrfjd: 5\ndsjh: gqnj * clzg\ncjcd: nfrb + gwgq\nmtnh: mqcw * nwzv\ncgrj: 13\nfgpw: nrhw + wzvq\nchst: svbs + cbqw\nfglb: 5\nprqf: 2\nrrbl: 2\nhbfw: dsjh - bpdf\nfvcb: vlgh * qvsw\njgvj: ttrc * jmsz\nsbmw: rbmp * twpr\nqgcp: jlhj - gzqj\nztmg: gswq + trld\nnmhl: hnhl + dfmf\nppdm: pdsq * wnjg\nhqpc: qhtc / pqtr\njfhp: hqfz * nmpb\njpbn: rbpp - llqp\nqdpz: 2\nvzwr: 12\ngbzg: 14\nlqpz: 2\nwfrj: cnzt * tmwn\ntsvp: ssdv * cvhv\nvjnj: 1\ntprs: 5\nbjpj: 3\nwfhr: 5\ntsbf: 7\ndqpz: qzpd + lsgd\nsmwf: 14\nvnss: hzlp * wrsd\nsrwm: 3\nqgrp: 5\nlwzp: nhcp * jqvm\nchfh: tpgd * wqdv\nbrgv: 3\nztlf: 7\nvbfg: tgfh * nlln\nbqqz: ncjj * fwvt\nhpsj: 2\ngcgv: 9\ndmfb: drjn + lsbp\njllf: 18\nzqsj: mfws * bgjh\nvlvf: dmcg * wdgd\nndff: 4\npbtd: 2\ntmlh: 2\nbbvr: ppzw + cwpz\nsjtg: znmt + lvlz\ntmwd: fwnb - zvmw\nwqpv: 2\nzrss: 9\ntwmh: 2\nptlm: jbsh * zgqq\nsqts: 3\nzzrp: 3\nbmvr: 9\nfphz: 13\nvnmb: 3\nzntd: jzgv - lrjr\nrdvs: 2\nzrtw: 3\nvhwj: 3\nqrss: 2\njsfg: wljt - tmwm\nqqbn: 14\nffmg: 7\nzfqf: lprr + gmtm\ndrbq: 5\nsmsz: 2\nfjvm: jsbl + fswh\nctgr: 3\nqwhv: lfnh * mtzz\nzptm: 3\nsddw: ljsw + ljgj\njlrj: qgvl + mnbp\ndmjl: 5\nbgnb: 2\nrdng: 9\nblwg: 4\ndzpc: zjtr * gmmg\ngmnj: 6\nsfrd: vfqn + pvqb\nlbmr: rmvr * szcq\ngdmm: 2\ndwff: 3\nsbsc: 6\njjws: 2\nfzmg: 6\nhpgp: 2\ngjwj: 5\nhqhp: mmln + ztth\npcnh: 13\nblrb: zpfd * pjlj\nwrsd: wptn / lvqr\nlfnv: 5\nlhrh: zglv / wzrq\nspvn: 12\nmhnq: fngh * jlnl\npcfd: 2\nlsgd: hphl * sqpl\nfqdw: 5\ncbqw: 19\nnqdt: 2\nrhrf: zzhc + chfh\nsgml: tfln + spwh\ntsgd: npgm * plfc\nvdfg: zmgz - vlnz\nrmbh: 2\nnqwn: 2\nzjlg: 11\nhmqq: mlss * lsnf\nnnlw: 5\nwhhp: hfns + dwlh\nrbgq: ddbs + qbqq\nczvn: 3\nqmbm: cwmb + fjrc\nhqfz: 19\ntmdp: 2\nsmbz: qwtg + lghs\nlhcs: wmhr * dgzj\ndrbh: 18\nsppw: mvlr * vsss\nprlm: rrcd + bqqz\nwhfr: rcpv + qmpb\npdtw: 4\nhrqt: hcph / bdnp\nlgjs: ltcz * jlqg\nrpjv: zhmg * mfjd\nlgvq: pbmh + rtqj\ndjml: lhzg * lbsq\nmnds: ftjl + plrv\nrgmd: 6\nmqcw: czwp * jcsp\nvwvd: lcbb + vjnj\nqtmd: 3\nwwsp: zwcj + wjff\njvtg: pmll * dtvd\nhwcl: fvcb + hcct\nznhn: 6\ntqnh: 2\nbtmr: 3\nbpbh: 12\ntcgf: 2\nlzrl: qgph * nnwb\nqbht: nsfl * cwsw\nhzdf: 2\nbbjz: wfpl * twtr\nbqrr: 13\nqhtc: dzdq * jdcs\ncndw: wjts * nvdh\ndtgs: pprm + pccw\nnnqn: bfjs * qghp\nnsmd: jtdm * pwfc\nvlvr: gdjg - vdwb\nrqpr: 5\nhqhs: cncw * jcfw\nhqfh: 3\nbtnn: qnlh / ljtl\nrbpv: 16\nrsrs: bbjz + bpdn\ngdzq: drwj * snhf\njmrd: 3\nchhj: 17\nbrfl: nstv * qprl\ntlft: pcsw * czrj\nshqj: sjgr * zgvp\nbspf: 2\nqntf: twnc + frnf\nfcmm: 9\npjnv: bptw * sfqw\npwjz: dblj * whhp\njcpv: prmq * dwgv\nclwd: ftlw * frfp\ngfrz: 3\nvsss: 19\npfrb: rjfd * mtgr\ntdtf: rscv + rvzm\nmmjw: tnjz + mnzt\nlvpb: 3\nwcrb: shps * rmbh\ncqbc: 2\nbfcb: 3\nlfnh: mlrp + sbmj\ndgmb: pltr + bqdj\npfst: 3\npprm: rrhp * nqmf\nzhmb: dthg / mcwh\nvqqb: bftd * vdfg\nnnjp: mbrh + qdnr\nlcdv: sqtr * tsvl\nnrwl: 3\nptnt: 3\ntrls: 17\nzdhd: tpzl * zdcs\nlmjf: 3\ncmmc: bhsc * fhfj\ngwqg: 2\nrbmp: 17\nnbrz: 3\ncnzt: 14\nmmwv: bzwg + nrpl\nhnbl: 16\nmslz: 5\ndqrf: cqsh + rcmg\nvfcw: 3\ntsvl: pvqc + hbns\njczn: dplg * nzsm\nrrgf: rggq * nlcp\njvtp: sjtg * jbrf\ntfll: dwsz + sdqr\nmvcl: zhlp * ntcg\nwmzl: zntd * gqcj\nddnw: sdzj * dhmm\nqdhm: pgwj - lzzg\nvhvb: 5\nphnr: 9\nzshr: psdc * cnsg\nstpw: 5\nszpd: jbfc + rgmd\nlbvm: 3\nswzw: rwhz * crpt\nffvb: zrdv * wdbw\nltdc: pzwl * cbwh\nzmdj: qrfz * msbc\nhzfh: 2\ndfmf: 4\nqdnr: 6\nrlpp: gndt * rsww\nrtdw: gmdz - wcvl\nhmpb: hntj * jvtg\ngzvl: 4\ngfbm: 2\nsntz: 5\nqwqz: 3\nrwrz: 3\nmqfv: whqj * mmhf\nltrc: cmmc + wvqz\njftb: 9\nbfqs: tqqd + lmft\nlcbb: 6\nwvjq: 2\nndsw: 14\nnbgq: 2\nblrj: hhgs / brqt\nhhjq: rcfv * djbc\nrtqj: ffwr + fclm\nwbbj: dzbt + zcfc\nrscv: bblp * fpgb\nfphb: 5\ndhrv: mlhm * frlb\nccfn: 2\nvgzz: 5\ncqsh: rqnb + zpfc\ngdpf: 12\nrvrw: 2\nfmtw: hbmr + ptnt\nbdrh: 3\npvqb: mctz * fsfn\nlrgg: 9\ncnqp: vnmb * fbpn\ntvsv: zfnp + cdrn\nqzhb: nmjg * jqfl\ntzbg: 2\nwpdr: 3\ngmsl: 6\ngrgl: jcpv - jpfj\nwvts: splw + vrpg\nwdgd: 4\npvrh: 8\nvlgh: 5\ndlmq: bfhv + lldp\ntsjw: 4\nhfwj: 4\nddqs: mdqw * mrhf\nwbdm: 2\nrtjv: 2\nmwfz: qrzz + jqpb\nvcsz: 2\nbblp: wgbg - qqcj\njlrt: mnbr * vmzh\nrdqq: 1\nzlgb: 18\ndzgh: 5\nslqd: gqgw * fjhh\nlmdc: mlbh * grwr\nmrfd: spvn + fwwc\nmhss: lqmm + njvr\nrdnd: jswl + bpng\ndvjh: hfnb * zzrt\npbcs: lcdv / zddt\nntdn: 4\nnvjn: dmjl * qgrp\ntzrs: shrd * vwfh\nzdcc: 4\ndzzd: ldjv - vjbm\ntrtr: dljw * zlgb\nbtmz: cghr - bpbh\nbqqw: ptsp + zlqh\nbgcv: dqqh / smlz\nlfhd: 2\nmgjl: 5\nllrp: lggh + fwgl\nzfpz: 7\nhtvc: 2\nfjht: 2\nlqsp: 3\nsjjm: tvsv * sbpv\nsfwz: 12\nmtsj: slsh - pwjv\nnzcs: 2\nhdzt: pgnh * tqmz\nlhlc: 5\nwvrb: 9\nbnwm: 3\nnmgq: lhrh * cjpr\nwprb: 6\nqmbs: 4\ndfvh: zlfm + swqb\nzpbm: hgcb + mqrz\nffvt: 5\nfrfp: 8\nljgj: dzcl * whvl\nnncw: 8\ndnvl: ndsw + gcnf\ngggh: 2\nglmz: 15\ndhqt: 4\nrtjh: wfgb + qstr\njgbz: 2\nldsl: fbsf * shws\nvfbw: llrm * sppw\npmfw: wqgv + nvjn\nwcpl: 19\nvdwb: bfbb * fdgr\ncwfd: 1\nrbwf: 2\nsvjq: 8\ndzbt: 7\nvgqm: 14\nhwnz: 5\nvdvw: 3\nvqvw: 5\nlmfr: 2\nqvgf: 2\nmljg: 3\nhhpp: 3\ncmqs: cgtp / wzgm\njwmp: rbbv * tzgg\ncjzc: rdcv * zsjg\nfbvq: 2\nvjmz: 4\nbwwv: 3\ncvgc: 1\nrfdl: 3\nmvbd: 8\npjlw: 3\nbszp: 5\nscds: 5\njcsp: 4\nmcph: 4\nwzrn: rjbw + jwmp\npznn: 3\nghrb: trnz + fmzq\nbdrd: pnqr * hsbl\nzstc: 3\nmbrh: vwhb - rgsm\nfjns: tdjh + mncz\nvjrn: cslb + qcws\nshps: 11\nglfb: 20\ncgpz: 7\ndftn: 5\nrjhn: 5\ntnjz: jfnw * mvlc\ndsfh: 3\ntsfs: 3\nzpfc: tcfd * vljr\njcvc: rjln * qqhp\nhgmj: 3\ntqcc: ctlw - jlrj\nmqzd: swzw + vdjb\nfzdf: tpwj * mtsj\nhsgm: crgt * qzqh\n")
(defn parse-input [input]
(let [parse-op {"+" :+, "-" :-, "*" :*, "/" :/}
monkeys (->> (str/split-lines input)
(map #(re-seq #"\d+|[a-z]+|[+\-*/]" %))
(map #(case (count %)
2 (let [[monkey number] %]
{:monkey (keyword monkey)
:number (parse-long number)})
4 (let [[monkey lmonkey op rmonkey] %]
{:monkey (keyword monkey)
:op (parse-op op)
:lmonkey (keyword lmonkey)
:rmonkey (keyword rmonkey)}))))]
(zipmap (map :monkey monkeys) (map #(dissoc % :monkey) monkeys))))
(defn ->ast
([monkeys]
(->ast monkeys :root))
([monkeys monkey]
(let [m (get monkeys monkey)]
(if (contains? m :op)
{:op (:op m)
:lhs (->ast monkeys (:lmonkey m))
:rhs (->ast monkeys (:rmonkey m))}
(if (= monkey :humn)
{:number (:number m), :human? true}
{:number (:number m)})))))
(defn eval' [expr]
(cond
(contains? expr :number) (:number expr)
(contains? expr :op) (let [op ({:+ +, :- -, :* *, :/ /} (:op expr))]
(op (eval' (:lhs expr)) (eval' (:rhs expr))))))
(defn part1 []
(let [ast (->ast (parse-input input))]
(eval' ast)))
(defn contains-human? [expr]
(cond
(contains? expr :human?) true
(contains? expr :op)
(or (contains-human? (:lhs expr))
(contains-human? (:rhs expr)))
:else false))
(defn solve [expr target]
(cond
(contains? expr :human?) target
(and (contains? expr :op) (contains-human? (:lhs expr)))
(let [rhs (eval' (:rhs expr))]
(case (:op expr)
:+ (solve (:lhs expr) (- target rhs))
:- (solve (:lhs expr) (+ target rhs))
:* (solve (:lhs expr) (/ target rhs))
:/ (solve (:lhs expr) (* target rhs))))
(and (contains? expr :op) (contains-human? (:rhs expr)))
(let [lhs (eval' (:lhs expr))]
(case (:op expr)
:+ (solve (:rhs expr) (- target lhs))
:- (solve (:rhs expr) (- lhs target))
:* (solve (:rhs expr) (/ target lhs))
:/ (solve (:rhs expr) (* target lhs))))))
(defn part2 []
(let [ast (->ast (parse-input input))]
(cond
(contains-human? (:lhs ast)) (solve (:lhs ast) (eval' (:rhs ast)))
(contains-human? (:rhs ast)) (solve (:rhs ast) (eval' (:lhs ast))))))