commit 6b3d21d10f030a72d278a2596d24eff6572a8f59
parent d5b2847f1d70fbc3a24b45604483004c8efc4639
Author: Lukas Henkel <lh@entf.net>
Date: Wed, 21 Dec 2022 07:02:08 +0100
Day 21 task 1
Diffstat:
4 files changed, 1963 insertions(+), 2 deletions(-)
diff --git a/adventofcode2022.asd b/adventofcode2022.asd
@@ -31,7 +31,8 @@
(:file "day17")
(:file "day18")
(:file "day19")
- (:file "day20")))
+ (:file "day20")
+ (:file "day21")))
(defsystem "adventofcode2022/test"
:description "My solutions to the advent of code 2022"
@@ -61,4 +62,5 @@
(:file "day17")
(:file "day18")
(:file "day19")
- (:file "day20")))
+ (:file "day20")
+ (:file "day21")))
diff --git a/input/day21.txt b/input/day21.txt
@@ -0,0 +1,1901 @@
+bwmv: 19
+dbdl: mjtf * zqpw
+bznb: ntgb * rmvp
+mdzc: jhmp / rsml
+fgzd: 2
+fvng: bbmt + zqwq
+pwjm: 2
+nzgc: crnw * vshp
+wrdd: 5
+sdtq: 2
+zfcc: 3
+gzpv: 5
+bhbm: 7
+gcvp: 3
+fvtc: 2
+hzqb: 3
+srsm: djhv + ngdn
+dvsh: cswn + rmgw
+swlq: 5
+sfcf: hsfd * qhrz
+bqpt: mzvw * fhnq
+rjdp: 6
+nzqb: hnsg + ncdj
+njzw: 1
+vrgp: prbv + mjfl
+cjdb: 2
+hbrw: jtpw * nqcp
+czcw: 1
+vwps: hfjl + cjmf
+mpcs: mggp * hvhp
+brtt: 2
+mcfl: pcfp + vsgw
+tnqf: 2
+phnn: gdgz / mqfz
+vzcv: 2
+fzdf: 5
+ldms: hvbd + srpj
+wpwz: 4
+jjrn: 4
+rhqs: 3
+sjhz: 10
+bhmh: 2
+sgwj: zmts - lvhv
+nmvz: 7
+hdnz: 3
+msfd: 5
+zmpc: 4
+zmdd: 8
+jbpn: 3
+qspm: qwpp * jhlw
+mfgh: 4
+hcst: 5
+wqwm: bnrp + lgcm
+nzfw: ntms + smzd
+pwwg: jfpt + zgth
+bnpq: jngz * nsph
+smsl: 3
+hzsg: 2
+ntsw: dhdf * tvvw
+pfgh: 3
+rgcs: ndtg + fclp
+bjmc: vnqb + zjts
+hdsf: pfsv + lrsr
+dwcc: dpqc * fcvr
+lcfl: 2
+cfgh: wphs + grrq
+czgs: 6
+rwcv: shfq + hcsj
+zwdg: fwgm * vmbl
+vpcz: 5
+mjmt: nfdg / ntrt
+dsss: fgzd * pntp
+dtrg: 5
+pnbz: 3
+mjbs: fhlv - fljw
+zhmd: 13
+znsb: bcwv - lftg
+lntf: bmbp * dmsf
+jznq: 2
+zqjm: 2
+mjnf: sbsn - vchq
+hhwc: 2
+shrg: 3
+zljr: wfjm + czcw
+qhfm: nmgr - qshc
+zgtg: wqbz + nfqj
+zpbz: lnpq * ppjh
+rvqh: 1
+vrhq: pgjl + lzbr
+mtth: ghmt * rrrz
+qffq: qwrp + zpnq
+prpq: vljj * wgwl
+mqpl: qssr + wjwv
+spbp: jvhh + ldms
+zhrn: mcnf + swlc
+mjhd: 16
+bpmg: 4
+hzrz: 4
+pntp: 3
+stmj: 2
+rdrs: 14
+ttvr: gfqw * znhz
+gvzf: 4
+mlsp: 4
+mqjv: 4
+rgwv: 2
+sgbz: tvhj * lnwm
+lqgf: 2
+fqws: 5
+ddvn: 5
+vqng: jvlh * ldvf
+tzrc: 11
+cswn: rpjd * gczj
+glgr: 3
+hspq: zlgs - cfgh
+jjtd: 2
+vpgw: 2
+qggg: 5
+vvql: 2
+vcnq: 4
+dznt: 3
+hzjr: 5
+lglh: 1
+gchf: 2
+vzpf: zhdn + rnfb
+nzqh: 5
+tdfl: wjsv * wrpz
+bhpn: 11
+psfv: 2
+tvvw: 10
+glss: 3
+jcvg: 2
+phbr: 7
+bpwd: lggr - mcfl
+pqtc: 5
+fhrj: 3
+mmhr: rplb + rfnv
+lhqj: zrff - dgwl
+vmtw: bdgr * glhq
+wjsv: 3
+msjn: plbv + gsjn
+jbmv: 3
+htfv: 2
+dlpj: 19
+szmf: dqzp + rrlm
+sfmz: 3
+sdqb: hpll * fzwp
+fvql: bfwm / jgnd
+lcmg: dcff * rfdv
+zbtq: svdq + snbf
+sqds: 6
+tcvr: dqfv / szcj
+dnrm: zqcl / bjzz
+whmg: 2
+vfng: 3
+ptmg: cdmz + fqws
+rrwc: 2
+mfnf: brtl * czzg
+jbbn: 2
+ztjp: 15
+jcnm: 2
+bpdt: 9
+gtzt: chfw * pjtf
+jgbq: zchp * rbht
+bnrp: qbrm * wplv
+fdfm: vqng * sfmb
+qtjw: vzmq + qggg
+crlq: nvhn + fqgq
+wpwc: 4
+glsb: gghd + tnwj
+bhzj: 18
+rdjw: dznt * wmpj
+qdbl: qvmt + jtnm
+tndm: bqws + gchf
+gjlz: bvng * rdrg
+jmtc: bslz + fmtr
+pdgw: 3
+pgjl: dpvh * ttff
+fsqh: 2
+tcrj: 5
+brtl: gvls + psnv
+bvsd: 2
+zgqz: 20
+bqqt: 8
+gswt: vtqp * vmtl
+chdn: fzpp - pcfq
+dhjr: nhqs * nzjd
+hhwj: fdbp / prnn
+lznm: 5
+whnz: phnn * jvhv
+nhhd: 3
+vltv: 1
+zlpr: qqrd - ggnr
+dpnr: 4
+jvcz: cfdq + bdsl
+vsnt: mtwc * zfdn
+pzpn: vsmj * wnvf
+hgcc: rhfp * gfvh
+zghb: hcww + njrb
+lgbl: jcmf + fhht
+zfwr: rgjv + spbp
+dlcq: nhbg * wmsh
+szsm: 4
+nthw: 16
+dbzd: 5
+fvhd: lntf + mvgl
+mcds: 11
+qztr: vczb / rmcs
+rvwr: jtwj + mjhd
+fhzn: 2
+pjtf: 19
+qvfm: cqst * qpmw
+ddlj: 11
+qjqf: plhv + tldm
+jfpt: 4
+qmcp: 6
+wgqw: 3
+svgw: 2
+jwsb: fvhw - mvzg
+shfq: gspt * bzrs
+hpbf: 1
+nfcg: bljl + vpfb
+mqgg: lrdg + qvdm
+jnfw: 2
+qjqt: 17
+sbnc: 5
+gnht: 5
+qqbd: 3
+nnsm: 2
+mrhv: fcct + jnmf
+nmbc: hfbt / zcsf
+bjwq: 3
+wrbj: 3
+fzpp: tfjm + wghw
+hldn: wtpp + rnzj
+dfvc: qnqn * dppz
+dzhb: jwjp - cvmg
+mjbh: jgrc * szmf
+vljj: cpft + vftr
+nlvv: vmcn * nqbh
+gzjp: 19
+vcjt: 16
+lqbp: 1
+vvqj: bzjh * fhwl
+zddr: 10
+sqrq: 3
+brwq: fnrs + trwn
+zvbf: 5
+prqd: 4
+gmnb: mtdt * vsgp
+tdcr: 2
+fvpr: jbzq * lbms
+tfpl: 3
+flmh: 2
+fhht: tpvd * dhjh
+dqrf: zhmb * ldlp
+fhcr: hqpg + vztf
+zjbq: 11
+wqct: wszs + lpsp
+dwmn: 4
+sqhc: 6
+zjlw: 2
+lnft: csvn + qzfw
+lrsr: 6
+wbtb: 4
+nqbm: 3
+mvzg: shrg * gsrm
+mrpq: prch * ztsb
+dgwl: cvhz * jcpf
+swtw: 2
+rhgp: nwrg + rrwc
+nhbg: 2
+qqtt: 7
+cpft: 16
+mtjz: 2
+znhp: lnft * vvql
+tlvj: 1
+jhsv: lqcb / lznm
+ggns: hzjr + nchv
+dppz: 2
+jtnm: cflc * czgh
+rfjh: zghb + jmcm
+vfzz: 3
+cjmf: 3
+wzrc: glqg + zcjn
+dpvh: cwtl + fnfj
+vqvh: 2
+lqdl: nzfw + pdlp
+bbsv: lclb * dfvc
+jmtf: chvq + cvfc
+btsq: qtjw * cdnd
+czgh: 2
+zhcn: dsls * jjsd
+hvjt: mwnb + ntzf
+dqtl: 5
+djrh: tsdw * cbrd
+zcsf: 3
+fdls: 13
+tlgd: bbpd * dnzh
+nsdp: 2
+lggr: bpmg * plmh
+trcq: tdbv * ggzp
+vvfl: 3
+qrnp: 2
+rncb: 3
+pbnn: gjzv * fcpl
+zlmn: pwnw * lpvz
+bshs: rrtq * bfhf
+spgv: dlsh - szmq
+blhf: 2
+zjvq: 4
+wvzq: sgbf / jwtb
+pvmj: 2
+gblc: bjzw * jvcz
+hjbq: jznq * vcgh
+qvdm: 19
+pmfp: 2
+zhfh: qvrw * lwqg
+gbdl: 5
+mnct: 2
+wcwl: 2
+llvm: 13
+pbdb: qztr + ttqr
+dhgn: lblh + qfls
+bmnb: 3
+ntgn: 3
+hnfv: stpv + lwmh
+cgmr: chtr + gnht
+wgwl: 4
+qggj: mqjv * lmfc
+djfn: hnfv + wclv
+vczp: 2
+hfbq: 2
+bzrs: 3
+lbtl: 2
+dcvb: 16
+bbmt: hgmr + nvqm
+vfbf: gnfs - mlsp
+wnvf: 5
+rmvp: 18
+ffdl: cblg * nqbm
+szmq: lqbw * zptz
+jwjp: hgrl * zgzg
+dmpc: zgtg + bpvp
+vshp: 11
+qjdm: 4
+rfpz: 9
+lggh: mcln + mcth
+prnn: 2
+vzgb: 2
+tsfr: 16
+vchq: rpgb * vwlf
+mnqn: 7
+pzzz: wczt / vhdw
+sjbm: 14
+qllr: qdjp + zdld
+fdpt: qmcp * gqtl
+bmwl: jppw * ldpd
+znmb: nflm * jwqz
+gcwj: 3
+wcqb: nwgz / smls
+slwd: mdzc - hdng
+rlzb: fvtc * cjtn
+gwmp: 2
+dwzs: 3
+qzrc: 13
+cjsp: 5
+btsr: 13
+dqzp: ffwj * hcst
+fcct: 4
+scsm: rqcr / ddgl
+chtr: 2
+ztcm: 2
+tlvz: jbcs * sbfs
+jvns: 18
+hrjv: dpzp + nsbl
+ctwq: 2
+dvhq: shms / wssb
+zhfm: 4
+bfhf: 4
+ppqf: 5
+bntm: 6
+bmns: mjfg * bgdj
+trzs: 16
+fjjb: chsr * hzmp
+tgwr: 3
+nfqj: 16
+hvhp: 2
+sdpv: cszr * wlss
+hwhr: 2
+ndtg: 4
+gcnf: bqbc * mrfp
+mbnp: hbdc + grgm
+bldr: brwq / psfv
+bjzz: 2
+wqcq: ljqb + mnjp
+gpsj: qmnr / nprh
+hgdr: fgth * crqr
+tnvl: lmlp + sbtn
+dfmj: 20
+bdgr: fjgn + vhlh
+mvll: nhhd * pjqs
+jvlh: 2
+jmsl: zmmz * bdrq
+tczz: 4
+zqpw: 16
+qssr: 1
+phwl: 7
+jmlz: 3
+dtdl: 4
+gnbw: 2
+dmhs: 4
+lpbg: nrwb - zgqz
+qcrq: 5
+hcsj: 2
+root: mrnz + jwrp
+dchh: jzds * zfcc
+vhbw: 2
+jrct: pclc + wwmh
+jrnf: 3
+fswn: 2
+hdhm: znhp - tbqp
+hzps: ttdd * wqsl
+vvrp: 16
+cfdq: 4
+szzs: wvcs * mwjv
+tzjf: 5
+lbmf: 5
+mnjp: jnvp * bmrc
+hnsg: dngc + wsjn
+hngp: lfpw * dfnw
+qmdj: vlhz * vhth
+wvrq: wqct + dsvz
+svfc: 2
+hvmj: wgcs * bpwd
+lzjs: dzhb * ppqf
+prgf: 3
+lqqr: 3
+qcpp: 2
+jwdc: 2
+hsgc: vtrh + pmjn
+tlsc: 5
+mdpl: svqw + pwhl
+bzpt: 5
+fvhw: gchv + rnqz
+mrnz: hncd / phsp
+lnjg: mfqs + zfln
+rthd: cpbd * gwqc
+bzwc: 4
+btcd: bwst + nzmr
+bfsh: 15
+bldp: 10
+vsgw: hldn + rzmp
+tpvd: 4
+gqwv: tmgv / dqqp
+ddtq: 3
+mpbq: 17
+qwqw: pvmj * hfvz
+gfvh: mzrn - vghf
+sjlq: fswn + vggq
+cfgr: rhqs * dgtn
+fszg: chzd + dwcc
+jvhv: 2
+zlcl: glfw * zcnp
+bcwv: gvqz * nzwg
+gglj: 6
+wssb: 2
+dphd: 2
+chrg: thzp * gcwj
+nbjj: 2
+nrlq: prpq - zvjw
+vnqb: pjdf + zmls
+mjrl: wgqw + zhfm
+dzrs: rqts + vwdc
+dnzh: 2
+tdtb: hggc + ztjp
+fpnq: 2
+zqcl: rzpj * dbww
+ftsc: fhzm * bhlz
+rrgr: 3
+rbnj: ttfb * mdjl
+spwn: 18
+zlht: 11
+zgth: swhc + jbbb
+rdnq: hzrz + ngfn
+pldw: rqbp * ftcw
+drbn: 5
+twsw: bsmt * crzb
+qvsj: jvmh * wqwm
+dsfm: wdvv * gpbj
+bprz: nfmb * pgrj
+bfwm: tcjh * bhmh
+wjwv: 12
+dggm: lgtb * mzlv
+wdvz: bfrg + tmwj
+wwmh: cnmc * hhwc
+zqss: 2
+zzwh: zdfp * vjfv
+crff: 3
+ctfz: 4
+jvmz: hpmf / mbbc
+rsnh: 2
+gjzv: gwmp * btgm
+qcqj: mwmw + cmhb
+vvrf: 13
+tffp: pmfp * drhd
+mzvm: 2
+lzsp: 2
+clsq: vqvh * gljs
+qmnb: 5
+qznt: 3
+wdzq: qzhw + bhbm
+mtcv: 8
+hmqd: 5
+plbh: wdlh / svfc
+czmj: 4
+zpnq: 12
+zpcf: pqfm * qwrm
+nflm: wwlm * dsfd
+mcln: dtdl * zmpc
+nstb: zqss * lvdw
+wqpd: msrg * rbgq
+jstq: dgdn + dcvb
+hbvf: 2
+drrb: 1
+pcfq: 7
+smhn: 5
+lfpw: 2
+fnrs: jhgg + zvfs
+fcsr: 1
+lcdv: smwh + vmhf
+vvwt: vmtw / cccp
+hfqr: 2
+jblj: dprq * phrn
+mtmc: 5
+mmwj: tcsn * bwmv
+zqmc: 2
+dsql: vmcf + zpcf
+rfbr: 3
+ncss: 19
+psnv: srfz + pzfs
+lgff: 8
+hwcl: 7
+fqjw: jqwh + mhqw
+jdvg: 3
+qzpg: nhhv * lgjp
+gggc: 2
+nlrs: 3
+vhlh: frph * ddnl
+nwpl: 3
+zdfp: 5
+vpfb: prcl * jcnm
+bljj: 3
+srnq: 2
+qwpp: 7
+ljqb: gswt + rzzt
+lvhv: 1
+brlg: 10
+rlnn: 2
+jhlw: 2
+vzmn: 3
+hbls: hzps / gbhc
+plvb: 11
+nfvl: 4
+sljl: plml + lzjv
+szvf: 17
+rgvt: 4
+chzd: dbgr * mttq
+rjrn: lmnw / ctpd
+bbzc: 4
+cbps: zqfj + gtct
+pcsf: bpnn * nhvj
+cdcr: pbnn / wpwc
+bjzw: 3
+phpl: 2
+dpqc: 3
+vqvq: trcq + vwps
+fcfz: 6
+mpsq: qjqf * lhfm
+vnmj: 3
+rqrd: rthd + gsgd
+fcvr: 5
+lhch: hbjt + ljcq
+hncd: zfgj + brbv
+hvph: 9
+srfz: lhmg * nqsw
+nrzb: qhfm * jnbm
+wdlh: hhwl + rqzm
+mstz: mbds + mmph
+zqwv: 5
+nqsw: 3
+qpzm: dbnf * vqlt
+ggzp: 8
+zfgj: mdmq * mpsq
+qzhw: 1
+rppp: 16
+lhht: 2
+rfvv: 13
+rpsr: 5
+wbwf: 2
+cppz: bwtw * qppz
+bpvp: dlcq * fzng
+rbtw: 3
+wmsh: mpcq - dchh
+lscm: 11
+bhlz: lhch / wdzq
+sbcs: tfns + ddtv
+rgjv: tsfr + qmdj
+zbwg: 9
+pgrh: 15
+lrdg: 6
+dfst: 17
+wmvw: vsqr * hljl
+gtrp: 2
+jlcj: zblj * wglg
+wzrr: 16
+ggnr: 5
+zbfr: gdtz - fdqq
+cnmc: gdwd * zjlw
+tcjv: jjgj + lglh
+rrpb: ltmf + mbfl
+zchq: 5
+crdv: dvhq - lhmc
+sgcm: 2
+dcml: bzwj * tbld
+nrfw: 3
+fnfj: 19
+zgld: 5
+qbrm: 3
+crjf: 3
+dsvz: mmhr + nvqg
+tljb: rfbl * fqjw
+mflf: 4
+mtzf: 2
+zqfj: nbns + btcd
+clrn: 3
+smls: 2
+tvhj: 6
+rvjc: dvsh * gggc
+dzpc: qrnp * sjlq
+wglg: rrpj + gmnz
+thgz: 4
+njhc: dncj * mjnf
+gfqw: 3
+jhjv: hcvc + ghsj
+fzmr: 6
+chlt: nrfw * jzff
+jwqz: rlnn * tcjv
+bzjh: qspm + rncb
+dfnw: 9
+pfnm: cnhz * hdsf
+mzvw: 2
+mzqr: wcsd + jhsv
+wjsh: scsm - rrpb
+jbdr: 2
+vcbr: wdnj + lgbl
+lpvz: qvdg * ljrn
+dcnn: cjsp * lbhs
+wghw: 10
+ndpw: 5
+vmcf: 2
+nzlh: 1
+lbms: qzcj + tzjm
+vdgd: 18
+dnft: qrtv / vzgb
+cccp: 2
+smzd: 7
+jqrr: pcpp * hvph
+mdwj: mjdf * msfd
+dncj: 4
+qfls: fcsr + hngp
+dqdc: 2
+qvdg: 17
+cblg: 3
+ffwj: 13
+bzwj: qpbc * mrlh
+mplz: 5
+vqdq: brlg - zpmq
+ljpl: 7
+mtwc: 3
+qvmt: fqtb * vdlw
+fljw: pggm + mmwj
+ltmf: zjrj * ztjr
+mjdf: 2
+zmmz: gtcd + tzpf
+hhfr: 5
+zlqm: sfcf + frld
+rzhq: 8
+rqts: 2
+jgrc: 13
+nzwg: qffq / qrjh
+fmhf: fwrq * sjbm
+mwwv: vmvq + hgcc
+jqwh: tvvn + nmvz
+snbf: pnqt * fhds
+ljcq: zlmg + lsvh
+qmcm: 2
+gghd: rjcv * hjsj
+bwst: ztgn * bwlf
+mnwp: vzcv + dcnn
+djfq: 3
+rbdd: 20
+wlfb: pwcv * lmpt
+wphb: wbrv + wcsf
+zjrj: zzng * zsvv
+vqsh: gbgn + vvgg
+fjgn: lrcn * vrhq
+sbtn: bqdh * stnp
+njmg: bmns / gchz
+nfft: qtcz + qhdd
+nhjr: dqfp - mfdc
+rbgq: 7
+lgtb: 3
+jzts: sdpv * hbls
+gjqq: znsb * nbhz
+vftr: wzsl + tjhh
+tvtc: 13
+wbfs: pdgz * nfvl
+fhlf: 6
+bswv: 15
+rghj: mrcn + sjsb
+qsln: gzjp * zfwr
+jppw: mtmc * rpsb
+zwvq: 4
+wplf: pldw + tnvl
+lcql: 12
+pncm: bprz / fzqm
+fclr: 2
+szss: 4
+vhmc: 7
+lqww: ggns * wqls
+phsp: 5
+dgdc: 2
+drpc: 20
+hbcz: hwmj * mqpl
+pcfp: hrvz - vsnt
+rgfj: bpls * mrhv
+vmsw: 2
+brbp: qdwn + lscm
+nphl: dcml - mzqr
+dbnf: 3
+phzv: 7
+rtmp: tznf * nrzb
+lsvh: wpzm * qwhb
+wgcs: 2
+nwgz: mhsz + lbqr
+rwgg: 14
+ggch: qvfm + gmnb
+qlgd: nfdf * hddd
+mfhn: fhrj * vqdq
+jnbd: bgds + dghv
+ndfh: rzbf * hfqq
+hfcp: 2
+pwst: vhmc * dgwv
+tzjm: 4
+tjns: 4
+bmbp: 2
+gbhc: 2
+wqsl: lvzs + nhtr
+bpsv: 2
+mzrp: wqvz - vmsw
+lbts: 17
+dbgr: 4
+pwnw: 2
+ftcw: gcvt + lwrb
+tbrf: hdwd / jnnz
+lqcb: sfdn + fwcv
+gsjn: 4
+bgfq: cfgr * glsb
+gchz: 2
+spbt: 2
+qtcz: pjgg * rzhq
+swts: vjhg + dzzz
+tzpg: hzsd * bljj
+bgtc: ghtw * dhjr
+cnpl: vfct + cdfg
+ngcq: 18
+fpmj: qdmg + ttzc
+tbjt: 2
+vztf: fzmm + jmmt
+jjgj: qlgd + rppp
+gtqw: mszj / jpgc
+qcjv: cdcr + vdgd
+vvgv: nzgc * dfst
+wzzp: jcnb * lwrn
+zrff: nhrd * tbzn
+rdrg: 5
+plml: wlfb * bbzc
+dsls: 12
+bpzs: lcmg + gtqw
+zvqr: 3
+tsvw: 4
+jsrw: 4
+ldcs: 3
+tthz: chrg * qqtt
+jdgh: rbjq * hpbs
+zjnj: 2
+mpvz: qsch / bvsd
+bgrw: qlzb + zmmg
+bsvc: jwsb * sqrq
+lwgg: 2
+fgrb: hfqr * wpwz
+vdlw: 5
+zmbv: 3
+htls: 2
+csrv: vqvb * phpl
+thls: ctzp - vfbf
+qlmc: 1
+dfbs: 4
+hggq: vqvq + nhjr
+qpmw: 11
+lrdb: mflv * zfcg
+sqft: rmvc + nvzj
+zfcg: 4
+gbnz: 6
+dsvb: 2
+vpmg: 3
+grhz: 2
+tvjr: mpzw + dgvp
+swhc: 10
+djhv: 19
+gslh: 7
+ngfn: gjfn * cmmm
+cdnd: hlbj / wfjv
+fvjl: bpnw + swnr
+scrq: 19
+ddjd: cjtt * tlvz
+wlgd: 2
+vsgp: pttg * zcgl
+wtqc: jhjv * hwpf
+jhlz: wgdz + rwhs
+mmph: 4
+ctzz: 2
+lnpq: 2
+rwgh: cgvl + hfcp
+tsnd: 3
+vqvb: 3
+plbv: 3
+hvng: 18
+chsr: 2
+ntrt: 2
+qrmg: hdhm / hrrc
+ttqr: ddjd - qzgj
+dmbm: 3
+stpv: 3
+dvvw: ggcz - qlmc
+vwdc: mbws / nnsm
+qlzw: qmzj * tdcr
+nsph: 2
+mrnj: 17
+jlbg: 2
+rtql: 7
+dhdf: 2
+szvm: 5
+pgrj: fmvr * gbtb
+rrrz: mcqq + mdpl
+dvvn: 3
+mhsz: ttpt + czgs
+cwtl: jbzl * tvsh
+bdsl: 3
+rqzm: rwgg + gwmb
+mfqs: wdqs * qggt
+ljjs: 4
+phds: 3
+jbcc: hblr + zbfn
+vhdw: 3
+gbtb: 3
+gqbj: tzrc * jbmv
+qppz: 3
+msmv: 2
+lmqb: ctzz * mpbq
+fgnm: tbtl + rvqh
+dsfd: 7
+jnvp: 10
+cdmz: mmwf * sqsj
+qhnn: 2
+jlnl: ttmb + jjrn
+trrs: rvhr * nrsc
+svqw: 12
+wplv: qjdm + dtrs
+fwcv: twsw * fqwf
+pvgd: 2
+mpcq: pwst * mvqf
+qjjq: 3
+cgvl: 5
+rdtm: 5
+msfl: 2
+ctzp: spwn + drpc
+pzzj: 2
+ggcz: 8
+mhqw: jqbc * vpmg
+vjgh: 5
+vpcm: 2
+hstl: dsfm + vbzn
+shms: svgw * tqbv
+gjfn: zvqr + wttr
+zgpp: lhqj / vpgw
+tvsh: hdnp + wrbj
+rbmm: lmng + fnws
+tcsn: zzww - nqzj
+fhtm: 2
+fqwn: dnrm * fpmj
+ttff: mnwp * zdcg
+rmhb: 2
+jqwc: bfzr + tdnp
+sdgc: 15
+ghtw: dwzs * rnnn
+tldm: 1
+sfmr: 3
+dpnl: zgcn * hwhr
+hgrl: sdqb * bjmc
+vrbp: 4
+mwjj: 11
+hjlf: 2
+jcmf: 5
+mszj: btjn * dphd
+mbds: 3
+lzbr: nzqb * tbnm
+frph: qdbl * dmpc
+jqbc: tzpg + jjtd
+nrwb: bswv * rbld
+tmgv: mjbs + nzgw
+pbvh: 3
+rpgb: vgqm * msfl
+qfjm: jmlz * cdhb
+zhdn: 4
+nctm: 1
+bnfz: 3
+tsdw: 3
+pbnr: 3
+grrq: lscs + njzw
+fnws: pvqs * fmgh
+vlcb: 4
+nrsc: frnh * mzvm
+jvmh: 9
+wnzg: rbdd + lzvf
+bvng: flwg + dpnl
+gtcd: 5
+bpls: 3
+qfcn: 3
+nvqm: zhcn + glqd
+nbhz: 5
+qlzb: bfsh * ljgh
+vlbp: hnjs + rfgp
+ntgj: 20
+fqwf: 10
+jvvf: 1
+rbld: nfcc * qvgq
+tnwj: gtrp * gstw
+hvbd: ppns + lbts
+wpqw: lrdb + lnjg
+gdgz: vcjt * qmcm
+mbpc: twmg * rmhb
+cznr: dbzd * fgzc
+jsvp: nbsl + lpbg
+qbnr: mfdb + zcjz
+lgcm: 2
+pwrd: qnhj - szvf
+mqfz: 2
+wdzc: 2
+fjtd: 2
+qmnr: dsql + hzsg
+nqzj: 2
+jmmt: 3
+dtqn: 8
+swlc: 2
+dhpt: mfnf + pwzf
+wbrf: plbh * vzmn
+jqjn: 7
+lgjp: 3
+brbv: pbdb + lzjs
+mcth: qzrc * gdjw
+nbns: dfbs + mtpc
+fclp: rbnj * tbtr
+gtct: sljl * hdcf
+szqm: nhhh + nhgc
+tbtr: 3
+pwvg: 1
+zcmf: qfjm + whrz
+rnqz: fmhf * rwgh
+zwlj: 3
+ntmg: 5
+tgvv: lqww * wpqw
+twmg: tzjf * jtbf
+lmjv: zphc + llvm
+lrhn: nfft + vrgp
+ctbv: gjlz / szvm
+vdjr: hbdd * smtn
+cvhz: blrn * ntmg
+fqgq: zjbq * fbhf
+zlgs: jbbn + ltmg
+qmzj: fqwn + njmg
+zzng: nnld - vfzv
+lfnw: bdvl + dbqw
+pggm: szsm * hjtg
+wwlm: pnbz * sdtr
+bdvl: 3
+vczb: lfnw * lwdq
+prgs: zbfr + tbrf
+fqtb: 5
+gstw: wcqb + mhfq
+dgdn: 1
+flqb: tdts + thls
+ltjl: btsr * fgrb
+tbqp: fdpt * mfhn
+ngqm: 2
+fgzc: 13
+czcb: tffp + jbcc
+gdvn: ttqq + swts
+hbzz: fdls + qwmm
+lclb: sfmr * nbjj
+prch: 2
+pjhq: 1
+vdch: sgbz + vdgw
+rchm: mplz * dsvb
+ghwr: sqds + hhfr
+fvbt: 8
+wnbl: shcc + ngrj
+czqg: tdjp * phds
+vfzv: 8
+gczj: qznt + rnqv
+mrlh: 2
+jcnb: 9
+plqs: 4
+hwtt: fbbp * vqsh
+fzng: 3
+fmgh: 5
+cqss: 5
+ntms: 1
+vwlf: 7
+hswh: swlq * ndpw
+bthv: pbnr * ffsn
+mvff: pdnh * dnft
+qwvq: sgbq + zwdg
+wfjm: 5
+humn: 959
+nbvp: ffww * ddcf
+wbrv: 3
+psdw: crlq * wlgd
+mggp: njhc - czqg
+grgm: fzmr * spgv
+nlwb: glss * brbp
+zdld: 15
+dnpb: hvjt * htls
+jscw: 2
+zltp: 5
+rdvs: humn - wpmm
+ddfl: mjvw + whwp
+dzrh: 2
+ppns: fvpr + szzs
+pwzf: bmwl + mfbh
+bfbf: sbhh * mbfr
+qrnv: ldbw * dfsp
+tdbv: 5
+jnnw: 2
+tbvd: mpcs + djrh
+jjsd: 11
+vfzd: chpt + ldzl
+rfnv: nhng * nlrs
+lblh: 2
+lwmh: hvdb * ntgn
+dpzp: rpsr + mzsr
+tnzw: jblj - mspv
+tlnn: qgjl * zlwj
+dqfp: cgmr + jtlb
+hlrf: sbfj * jrct
+lhmc: qzwc * wjql
+wsjh: 4
+vvzd: fjjb - jgbq
+jpqt: 17
+bljl: 3
+qdwn: 2
+mdth: jlbg * qrnv
+jvpf: 2
+qggw: btbw + zqwv
+sbfs: jzhg + tlsc
+lwvz: zwlj * zhmd
+pldg: csln / jcvg
+qshc: nhvd * fcfz
+cbhb: 4
+zlvr: mjmt * zmph
+lwqg: znmb + vwrl
+rdhv: smhn * scrc
+bsmp: 11
+qrtv: chlt + cznr
+tdnp: 6
+hpll: rrzp + fmvn
+bwpn: 1
+ffpt: 13
+fbpl: 2
+vjhg: 2
+wrpz: gglj + jfcl
+blbz: wplf * qhnn
+gdwd: 17
+cqst: 3
+jfcl: rqnr + fmnm
+mzlv: vmns + hrrf
+vmvq: qhgr * pwrd
+mspv: jzts + tdfl
+ntgb: 3
+gvls: rfsj + qggw
+fzjn: wqcq * tnqf
+jvhh: 2
+sgbf: ndfh + vvgv
+hbdd: jnfw * scjg
+gttc: 11
+mflv: 3
+fmtr: hhdj + phzv
+tfns: zlpr * bnpq
+dbqw: 9
+jfbb: znmd * ntwd
+dmsf: zpdc * zcgd
+rrlm: 5
+lslm: hdnz * vnmj
+pdps: 3
+sdtm: vvfl * qjns
+hwmj: 2
+rwhs: rdhv + gfhn
+nhvj: 2
+sddb: 5
+zpdc: 7
+hpbs: 3
+gcql: 2
+lbqr: 11
+gplv: 15
+cflc: dvvw + dscv
+jmcm: cfrd * nzqh
+hlcd: 3
+fwgm: 2
+glhq: 2
+wfmj: qwqw * pvgd
+ddnl: mjbh + qvsj
+szcj: 2
+nhqs: bqqt - jlrl
+lnwm: sgvh * rgwv
+tbtl: 18
+mdmq: 3
+rnfb: tvrb * ttsb
+wjld: 5
+tvcq: wzcd - gcvp
+ztjr: 6
+wgmf: 8
+hhwl: 15
+qjns: jtgb * clrn
+pwfw: lqbp + pcjh
+nfmh: zddr * ddvn
+jlzq: 5
+ljgh: 3
+glfw: thgz * vqqm
+lbhs: tcrj + hjlf
+gdjw: ncsb + vltv
+dlsh: zjwm * hspq
+vmcn: phwl * gfrl
+nhtr: qpdl + smjj
+jtwj: 1
+pczh: hvfw * mjqz
+lctm: nlvv - mbfg
+pdlp: ptqt * hqcs
+thzp: prgf * qsrr
+bmzl: 2
+pgzs: hgcd * fbjr
+nqbh: 2
+zjwm: 2
+mwqj: wrnh + jrnf
+tjdc: ljjs + bfqp
+rqlw: blbz - ncpz
+tmwj: qggj + nzlh
+bhwg: hzpl + mztj
+ddgl: 2
+jsfv: ftnb + jqjn
+zlwj: 2
+stbw: 5
+zssm: 19
+fhds: szrz + zzwh
+qvgq: 3
+lhmg: 4
+rjdn: 1
+hbjt: gggn * svzg
+jgnd: 2
+hjtg: 5
+zswz: hstl * scqj
+zcnp: 2
+dhcd: ddlj + zncn
+rmvc: 9
+ldpd: 3
+hgdg: 18
+zzww: wtls / hlsh
+hptd: 2
+hfbt: hzqb * hsgc
+wczt: qdlp * rfbr
+bqwn: 2
+wpmm: jmtf + chdd
+hcvc: 6
+mcqq: ttvr + vvqj
+nhng: gzpv + bqwn
+rfmg: 2
+wzsl: 1
+hcfj: 2
+whwp: tvtc * ttmh
+lpsp: rfvv + wzrr
+fzqm: 4
+lscs: pjhq + zhrn
+ttqq: mtcv + rtmp
+zjts: 5
+rjcv: 3
+qwmm: 4
+fmdn: fvng / dmbm
+mpng: 2
+vmtl: 4
+wdlf: cctn + vqsn
+dhjh: 5
+zsvv: 3
+nmjn: 2
+rfsj: wwvg * brwz
+wzcd: cjtm * szss
+hqpg: 9
+jhgg: 11
+jssr: 2
+zjvm: pfcb + dtrg
+hjsj: gpsj + fftv
+ngdn: mvll * hgdg
+glqg: htfv * zcmf
+gjlr: 3
+fmnm: tstl + pnwl
+ntwd: rvjc - gsfh
+jbcs: 2
+tbnm: 3
+pzfs: nljg + pfvf
+dprq: 6
+cjtm: pdjl * prqd
+bzww: tbvd / mrmv
+vqlt: 8
+jhmp: qlzw - vhnq
+gmnz: 14
+pmjn: wbrf + scfr
+plhv: jssr * rfjh
+mrts: tcnr * hrjv
+cfqr: hwps * chzv
+dtqc: cdsf * njww
+prbv: nthm * dqdc
+tjhh: bwpn + pwfw
+hdnp: 3
+vsmj: lbmf * mslh
+wdvv: 6
+gnwz: bhpn + mtjz
+zgcn: 5
+mdnz: 3
+pcpp: 17
+jtbf: 5
+lmng: wrtv * pctw
+sjrm: 20
+pttg: 13
+rpsb: 5
+bmrc: 9
+scrc: 14
+nhgc: 15
+hddd: grcs + dtrj
+bslz: 15
+rmgw: fbhl + cppz
+rnnn: pbzf + qsln
+zchp: 2
+btbw: 1
+vfnb: phbr + jlnl
+phrn: wvzq + pnjb
+qsrr: 7
+lwrn: 4
+jtgb: 2
+vfzf: zswz + wjsh
+qzfw: mwwv / pzzj
+ctpd: 2
+fhzm: 2
+hlsh: 4
+csln: fpnq * fvql
+lftg: 8
+cftr: 10
+tcjh: pbpt + gclq
+jlrl: 2
+nvqg: 5
+zlmg: 17
+nvrh: jsvp * fqjm
+fmvn: ftrh * wcwl
+mbbc: 2
+wrnh: jjvw * bglg
+pcjh: vsfb * hqph
+zqwq: hlrf + rtql
+jptg: wbtb * zwdj
+ldlp: 4
+mjqz: 2
+pwcv: 3
+rrpj: tfpl * vfzz
+qgjl: zqjm * mwjj
+hcdh: hnws * jnnw
+wwjd: wtbn * jrjn
+rzpj: czhg + dfmj
+qwrm: 4
+pbpt: 1
+btjn: jfdn - hwtt
+mhfq: vlbp / fjtd
+mttq: 2
+qqrd: bbsv / ldcs
+gpbj: 3
+smtn: 2
+zdcg: 2
+hvfw: sdtm + djfq
+vmhf: qpzm / vlcb
+rbht: lctm - wfmj
+hhdj: zfsh + dffw
+vwrl: jmsl + zlnc
+nqsl: 14
+fbhf: 4
+gcvt: bhwg / hgqh
+hlbj: rrvm * dhcd
+qdqg: qfcn * wvvd
+tcvt: jqwc + tjqc
+vcgh: mnql + srcd
+gdbn: 12
+zfln: llst + dvhc
+ldzl: 9
+gsfh: fszg + lgff
+ppjh: dmfp + mdwj
+nfdf: 2
+rrvm: 5
+hgqh: 2
+cvmg: wdlf / rsnh
+pjqs: 3
+mwmw: 6
+hcww: 3
+dzzz: 5
+wqls: 2
+stnp: 2
+hnjs: stbw * bthv
+fzwp: wnps - qwvq
+fwqz: 6
+wszs: vgtg * gjlr
+vggq: 11
+dgwv: 2
+hljl: 2
+nthm: srsm * vvrf
+sdzf: 2
+zchv: whlm / ntld
+wqvz: wtqc + mnqn
+mjfl: tljb * wdzc
+qgzj: 4
+drhd: dzpc + mqgg
+rqbp: 10
+wphs: 4
+nphn: gdvn * bthb
+nfmb: 15
+fbbp: 4
+ncpz: hptd * rgcs
+whrz: mlbv + gslh
+wtpp: rvwr * cbhb
+ngbq: nlwb + rgfj
+pdjl: 2
+nhhh: 10
+ttsb: gnhd + clsq
+lmpt: 5
+wvvd: zbrb / jscw
+chzv: 7
+jbzl: 4
+flwg: 1
+ttzc: rdvs / cbrl
+zhmb: lrnq * sbcs
+mvqf: 2
+lhjq: 15
+vhhm: ltdr + sdjj
+qpdl: mpng * lcql
+zmph: 5
+vsqr: 7
+pjds: nbhq * grhz
+mslh: 5
+plmh: tthz + zgpp
+sjzs: wvrq / sdzf
+tznf: 2
+nvhn: bvfd - vmrb
+lmnw: wtdl * gzmn
+cbrd: mzrp + smsl
+qhrz: jvpf * ttzn
+pmtq: jpqt + gdbn
+pvqs: 19
+vtqp: pjds / pqwz
+sqsj: 3
+tdts: 13
+flnv: zlmn / zgjv
+vhth: 15
+vqqm: 4
+hfqq: 2
+chvq: 20
+fqjm: 2
+nhrd: pfnm + zmfj
+hsfd: wphb + gblc
+rrzp: fscs / hgmm
+ttzn: 3
+jsfw: djcs * bshs
+lhhc: 5
+dnwb: mtth * vvrp
+tbzn: 2
+jtlb: fwqz + mrnj
+gspt: 3
+prcl: 5
+wnps: tqbm + bznb
+rhfp: 3
+znhz: tndm + vdjr
+cdsf: rrgr * dzrh
+mlbv: 7
+crzb: qmnb * zdmv
+cjhp: 2
+ttmh: 4
+mztj: ddfl * zwms
+wvmj: 5
+wbjq: wgfv / bntm
+lrcn: wjst * zlvr
+rsdf: lslm * dzrs
+dqqp: 3
+mfbh: 5
+pdnh: sscc - lgnp
+sdjj: tjns * pldg
+bwtw: cftr + mnbs
+zmfj: slwd / mnct
+mbfg: 3
+vjfv: wphq * trmf
+dscv: 10
+tnnr: 11
+zcjn: 17
+jlss: 2
+dtqh: 3
+lmfc: pzww - rjdn
+wphq: fvjl + ngcq
+dffw: zltp + jvvf
+czhg: 17
+jpgc: 2
+bglg: 2
+vmbl: 5
+jnbm: 2
+fwls: fzdf * wrdd
+mdjl: 3
+gcsd: 13
+cjfg: 3
+bvfd: gqbj * wsjh
+sfdn: 5
+gqtl: 6
+sbsn: mbnp / tbjt
+pfsv: wllz - drrb
+wvcs: bjwq * crff
+ttdd: 2
+frld: rdjw + nthw
+mzsr: wjld * cqss
+sbfj: 2
+mnql: 6
+trwn: rchm + pdgw
+ddtv: jsfw - rghj
+pfdq: 2
+lvdw: zhfh - bgtc
+jzff: 3
+ncmn: sqft * fgnm
+zmts: lhlm * ljpl
+nljg: 4
+rwnb: 2
+gdtz: zgld * wnbl
+cjtn: 17
+nlzc: 2
+jcpf: 2
+bqdh: pcsf + vhhr
+cmhb: 2
+srcd: 17
+pdfg: sddb + dtqn
+qnqn: 7
+zgjv: 2
+cjtt: tlvj + csrv
+svzg: 5
+tjqc: 1
+bpnw: nfcg * hmwb
+btsz: vhhm + hcdh
+zpmq: 3
+ffww: qcrq * rdtm
+rpjd: 2
+tbld: dtqh * fpmv
+trmf: 2
+jtpw: ctfz + bmnb
+pclc: 15
+wwvg: 3
+hqsh: dhpt / jlss
+mtdt: 2
+sjbp: 4
+hrvz: zrfc - rbsd
+smjj: 3
+vzmq: 2
+dqfv: dqrf / gbnz
+nzgw: mrts + qbnr
+jzhg: jfmq * zjnj
+hnws: nmbc + fzjn
+jsdm: 2
+snpw: 2
+rfdv: zchv + lmqb
+gljs: 4
+blrn: djqr + rdrs
+zwdj: 4
+vmrb: gnbw + vzpf
+cbrl: 2
+lmlp: djdl + nphl
+znmd: 3
+vtrh: 10
+hbcr: 4
+cgvb: pczh / wlnp
+zfdn: bldp + hgdr
+qnhj: hbcr * lhjq
+bqbc: zbtq * rdnq
+ttfb: 3
+zlnc: jvmz + vccq
+qcnz: 5
+nqcp: fbpl * wbjq
+jzct: sdgc * hfbq
+ftrh: fwls + hvng
+cctn: dqtl * zlqm
+ghmt: 4
+tqbv: bsmn + cfqr
+frnh: 5
+ddcf: 4
+hggc: ltjl + hqsh
+wsjn: rhps * sgsp
+jnpg: rsdf / hgfq
+jjvw: 7
+zwms: ldlg + pwvg
+tcnr: 2
+bpcc: rhgp * vpcm
+hzpl: bzww - wvgd
+jgcg: jtmz * mwfh
+gfhn: pwwg + nlzc
+zcgd: 2
+qzwc: 4
+bfrg: rmtn * flnv
+zmls: ffpt - ggjl
+ldlg: 6
+mpzw: 6
+dghv: 8
+wlss: 2
+jfdn: bgfq * ptmg
+ctdw: 3
+tfjm: 14
+jzds: 3
+dvhc: 4
+jszb: tscg * hcfj
+nsbl: lcvc + mrpq
+ncdj: pgzs * dhgn
+dmfp: mcds * pbvh
+bnrh: rbmm * whmg
+vgtg: 5
+vccq: pncm * gjqq
+nhhv: 11
+cfbt: bzpt * zchq
+pjdf: 5
+vmns: 12
+lzvf: jszb * bbcc
+tstl: 3
+nmgr: cjdb * zssm
+fzmm: 4
+qhdd: cfbt * hswh
+pdgz: 4
+sdtr: rjrn + fvbt
+hgmm: 2
+htvs: 15
+hqph: 5
+zptz: 3
+vbqb: 6
+tqbm: pmcd * nqsl
+hzmp: bsvc + gqwv
+mfdc: hbvf * dpnr
+gwmb: jvns / lzsp
+cdfg: 3
+smwh: 1
+jngz: 5
+mnbl: zmbv * dvvn
+zcgl: 2
+wpzm: 6
+dbww: 4
+djqr: 3
+nbsl: qllr + bgsh
+ttpt: 5
+jwtb: 5
+gnhd: 3
+scqj: ffdl * mdnz
+fhlv: hggq * htvs
+njww: 2
+ntld: 2
+nbhq: zpvp / lqgf
+rbsd: 8
+rplb: njmf * srnq
+sgsp: lwtd * hlcd
+tscg: 4
+vhhr: 3
+jwrp: bhnt * vfzd
+mjtf: 4
+mbfr: 3
+sdcw: 2
+ddrh: 7
+lpfz: bhzj - zvbf
+ptqt: 3
+wtdl: 2
+nnld: fvhd / ztcm
+dngc: ggch + ngbq
+lslc: 4
+msrg: 3
+prrc: bpsv * gvzf
+jrjn: lbtl + sbnc
+rwcf: wgmf * ctbv
+gclq: 10
+lzgq: 11
+rhps: njgp * msmv
+pzww: 8
+chpt: fsqh * lggh
+zvjw: rwcv * pdps
+trjv: 3
+rrtq: 4
+fgth: 3
+hvdb: ghwr + jsdm
+hbdc: vvzd / vcnq
+hgfq: 2
+lgnp: 5
+rnzj: vfng * bldr
+pdfv: 2
+fhwl: 10
+bthb: nctm + fhlf
+vngb: tgwr * dpbh
+jfmq: 3
+hdcf: 2
+zdmv: 2
+vsfb: 2
+wtls: czcb / qgtp
+gnfs: fmmf + hgtt
+gsrm: 3
+mrcn: 1
+swdz: 5
+ghsj: 1
+qvrw: bpzs * scrq
+rhwr: wcpr + hbzz
+zrnq: qrmg - ncmn
+ltdr: dggm * pgrh
+gsgd: lmjv - wjpz
+brwz: 2
+wtbn: mjrl * jzlt
+sgvh: 3
+jvlw: hbrw + szqm
+ljrn: 2
+tvrb: 3
+csvn: jhlz * nwpl
+czzg: 2
+rfbl: 2
+zblj: 3
+wttr: nmjn * jsrw
+zgzg: vvwt * hwcl
+dtrs: 9
+vghf: nvrh - flqb
+nprh: 2
+wsgm: 3
+crqr: 3
+srpj: ftsc + dbdl
+ztgn: 5
+zrfc: zlht * chdn
+bfzr: 18
+chfw: 3
+hfvz: 4
+bbcc: 12
+qpbc: qjsg / fhtm
+fdqq: wzrc + crdv
+shcc: 2
+dfsp: 2
+wqbz: 7
+lhfm: 2
+zcjz: vngb + hvmj
+swnr: 3
+zmmg: jzct / swtw
+pqfm: 13
+svdq: jdgh * tdtb
+wlnp: 6
+ztsb: 5
+wjql: 2
+qzcj: 2
+jnmf: 7
+pwhl: hjbq * qqbd
+mbws: qcqj * sgwj
+vjhw: 2
+rnqv: 10
+hzsd: 3
+gzmn: gplv - tsvw
+mwnb: vhbw * tvjr
+bsmt: 2
+hbpt: 2
+cdhb: 5
+gchv: 4
+pnqt: ntgj + mpvz
+pfcb: jmtc + rhwr
+btgm: wzzp + hhwj
+qsch: nsdp * tnnr
+lvzs: 4
+wclv: dtqc + dlpj
+djcs: wvmj * vpcz
+zncn: bzwc * lqqr
+lhlm: 2
+fdbp: nrlq + bsmp
+cpbd: sdtq + lhhc
+jppg: zjvm + wnzg
+wcpr: 18
+pfvf: 3
+qdmg: pgwq * nfmh
+ltmg: ncss * lqld
+nhvd: 2
+hfjl: 9
+sbhh: cgvb + qcpp
+pjgg: gtzt + tczz
+nfcc: 2
+nbbp: wqqr + vcbr
+wqqr: 8
+ngrj: qcnz * lpfz
+lrnq: 3
+znnv: mbpc / lcfl
+wmpj: 3
+chdd: tlgd * hbcz
+zbrb: sdcw * msjn
+wgfv: cgcr + mflf
+nfgh: 2
+gvjv: qzpg * sjhz
+bgsh: vtvm + cnpl
+wgdz: mstz * mfgh
+qzgj: mwqj * crjf
+rvhr: 4
+tdjp: djfn * ctwq
+wfjv: 5
+lqbw: 9
+fmmf: 13
+rmtn: 3
+nchv: 2
+qjsg: tvcq + jstq
+bpnn: qjss + ncvv
+qhgr: rfpz + ngqm
+nwrg: 5
+hmch: 2
+cfrd: 2
+cnhz: 13
+pbzf: zjvq * prgs
+hblr: lqdl * dsss
+bbpd: 11
+njrb: 16
+nmch: 3
+grcs: 3
+fwrq: 2
+fcpl: 2
+hztd: 3
+cgcr: znnv * flmh
+dtrj: sjbp * lcdv
+ffsn: 7
+pctw: 10
+rsml: 5
+hwpf: vjgh + fhzn
+dgsp: 2
+rrtg: 10
+pqwz: 2
+wdqs: 4
+mvgl: rwnb * pdfg
+qrjh: 2
+gvqz: 3
+mnbs: 7
+pnjb: fdfm + nphn
+dgvp: jgcg / czmj
+fbhl: 20
+nzmr: jsfv * fclr
+lzjv: pzpn + vbqb
+gggn: 15
+jzlt: zqmc + gbtn
+szrz: 9
+vqsn: gvjv + tnzw
+ftnb: 6
+pgwq: 15
+nzjd: dnwb - lrhn
+vlhz: 3
+fscs: zljr + wbfs
+bgdj: rqrd + tgvv
+jchq: hbpt * pmtq
+ntzf: cjfg * vdch
+tzvl: 2
+vgqm: ntsw + lwvz
+mmwf: 2
+qggt: 4
+jtmz: 4
+bsmn: rqwd * dwmn
+qwrp: nfgh * qjqt
+zfsh: 1
+mrmv: 5
+gfrl: 5
+rzmp: tlnn * mtzf
+mjfg: 2
+lwtd: 8
+bfqp: zbwg + wmvw
+mcnf: 4
+tvvn: lhdf + trrs
+bwlf: 3
+glqd: mdth - jnpg
+vdgw: 5
+hpmf: lwgg * vfzf
+wllz: pdfv * qgzj
+wcsd: trzs + plvb
+pmcd: 3
+lhdf: 3
+vbzn: rjdp * plqs
+tzpf: pwsz * fhcr
+llst: bnfz * rbtw
+wdnj: 4
+wcsf: 5
+hqcs: 3
+hgcd: 2
+wjpz: 15
+jbbb: 15
+vfct: sgcm * vrbp
+sgbq: dgdc + gbdl
+pwsz: wsgm * cjhp
+cvfc: trjv * jdvg
+sscc: vjhw * jnbd
+dgtn: 3
+lqld: 3
+vtvm: 12
+whlm: jbpn * zmdd
+njgp: zwvq + hmch
+lwrb: btsq * stmj
+rqnr: 16
+rbjq: sjzs / pfdq
+hrrf: 1
+vwzp: 3
+ggjl: 4
+dcff: 4
+zpvp: vczp * vfnb
+dpbh: qcjv * pfgh
+zvfs: 2
+qjss: 13
+qgtp: jbdr * nmch
+zphc: sjrm * dgsp
+mwjv: 3
+fftv: 3
+lwdq: rlzb + rgvt
+wvgd: jfbb * spbt
+cszr: 11
+wjst: 2
+jsrh: bqpt + bpcc
+ncsb: snpw * ddtq
+ldbw: wdvz + bgrw
+pnwl: hpbf + qdqg
+bgds: 3
+qdlp: dnpb / lhht
+bqws: swdz + brtt
+zbfn: dmhs * tjdc
+hdng: hztd * jvlw
+mfdb: rrtg * nbvp
+mjvw: tcvt * sfmz
+rfgp: hmqd + gcql
+rqwd: 4
+qwhb: tzvl * gnwz
+cbnf: drbn * jlzq
+rzzt: zpbz / bmzl
+gbgn: jptg * whnz
+fmvr: 4
+ldvf: 8
+fhnq: 10
+wrtv: 2
+rmcs: 2
+jbzq: 3
+fbjr: vwzp * ctdw
+jwgq: jchq * mvff
+hgtt: 1
+lcvc: mnbl * tsnd
+nfdg: rfmg * tcvr
+gbtn: 5
+crnw: 3
+bdrq: jlcj + jsrh
+rzbf: fmdn - wwjd
+ncvv: 1
+qdjp: zlcl + bpdt
+hwps: 3
+scfr: lslc * qjjq
+rqcr: nbbp * bnrh
+fpmv: 3
+sfmb: 9
+mwfh: pqtc + pwjm
+mbfl: cbps + pzzz
+mtpc: 8
+hrrc: 4
+fhgp: 2
+bhnt: gcnf + nstb
+jnnz: 2
+cmmm: 3
+vhnq: jppg * glgr
+njmf: 11
+djdl: jqrr + rwcf
+gwqc: cbnf + sqhc
+vvgg: bfbf * gttc
+mzrn: rqlw / ddrh
+hdwd: prrc * psdw
+hgmr: zrnq * fhgp
+sjsb: wqpd * blhf
+hmwb: 2
+mrfp: btsz + jwgq
+scjg: 13
+ttmb: wbwf * gcsd
+nvzj: jwdc * lzgq
diff --git a/src/day21.lisp b/src/day21.lisp
@@ -0,0 +1,34 @@
+(defpackage #:adventofcode2022/day21
+ (:use #:cl #:adventofcode2022))
+(in-package #:adventofcode2022/day21)
+
+(defun cache-monkey (monkey)
+ (let ((cache))
+ (lambda (monkeys)
+ (if cache
+ cache
+ (setf cache (funcall monkey monkeys))))))
+
+(defun task1 (inputs)
+ (let ((monkeys (make-hash-table :test 'equal)))
+ (loop for (name monkey) in inputs
+ do (setf (gethash name monkeys) (cache-monkey monkey)))
+ (funcall (gethash "root" monkeys) monkeys)))
+
+(define-day 21
+ (:translate-input (lambda (line)
+ (destructuring-bind (name rule)
+ (str:split ": " line)
+ (list name
+ (eval `(lambda (monkeys)
+ ,@(if (str:containsp " " rule)
+ (destructuring-bind (monkey-1 op monkey-2)
+ (str:split " " rule)
+ (list `(,(intern op)
+ (funcall (gethash ,monkey-1 monkeys) monkeys)
+ (funcall (gethash ,monkey-2 monkeys) monkeys))))
+ (list
+ '(declare (ignore monkeys))
+ (parse-integer rule)))))))))
+ #'task1
+ nil)
diff --git a/t/day21.lisp b/t/day21.lisp
@@ -0,0 +1,24 @@
+(in-package #:adventofcode2022/test)
+
+(define-constant +testdata-day21+ "root: pppw + sjmn
+dbpl: 5
+cczh: sllz + lgvd
+zczc: 2
+ptdq: humn - dvpt
+dvpt: 3
+lfqf: 4
+humn: 5
+ljgn: 2
+sjmn: drzm * dbpl
+sllz: 4
+pppw: cczh / lfqf
+lgvd: ljgn * ptdq
+drzm: hmdt - zczc
+hmdt: 32"
+ :test 'equal)
+
+(def-test day21-task1 ()
+ (is-true
+ (= 152
+ (run-task 21 1
+ (make-string-input-stream +testdata-day21+)))))