adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
c056f4c1ed14a1751e8021a6e8cfd7a14af92c94
parent
716016d1ee8a2e937fe7bdc70f4fa013e10235e1
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2022-12-22 07:59
2022-12-21

Diffstat

A 2022/21/input.txt 1897 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2022/21/solution.rs 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2022/21/test.txt 15 +++++++++++++++

3 files changed, 2091 insertions, 0 deletions


diff --git a/2022/21/input.txt b/2022/21/input.txt

@@ -0,0 +1,1897 @@
   -1     1 vgmc: vvwl * snqc
   -1     2 tbfj: 5
   -1     3 svsf: fgcj + tgzh
   -1     4 blzm: tffz * wfct
   -1     5 cgbg: 3
   -1     6 nzgg: blcv + whnm
   -1     7 rpdc: 8
   -1     8 hvpf: tdmn + qtqw
   -1     9 svtv: 2
   -1    10 jjbl: bbjp + djjz
   -1    11 bgqn: btjr * lgnw
   -1    12 pjgv: 3
   -1    13 pcfq: 8
   -1    14 pmqd: 7
   -1    15 lflj: gsjg * bqcr
   -1    16 zltm: 1
   -1    17 gqrj: 2
   -1    18 dvsf: blrt * qcgw
   -1    19 hwsl: 3
   -1    20 rbzb: fbtr / hrpw
   -1    21 mwql: nmnt + lbbq
   -1    22 fnwt: 2
   -1    23 wjvt: dhnj / hjbh
   -1    24 csjn: 2
   -1    25 vzph: 6
   -1    26 vttn: 3
   -1    27 dtzq: 3
   -1    28 csqw: dsfr + crqs
   -1    29 bbjr: 3
   -1    30 cvbt: 2
   -1    31 jntd: hzvb + jvpw
   -1    32 rlrl: lcgp * gfgz
   -1    33 szlq: 3
   -1    34 mpsv: rjjc * tffm
   -1    35 rfbj: pwhl + bqdc
   -1    36 mzdc: 5
   -1    37 fqgt: 5
   -1    38 dffb: 16
   -1    39 gtfl: nncb / lvtt
   -1    40 drpb: ffsf + lqgf
   -1    41 chdn: 2
   -1    42 nhpd: 3
   -1    43 tntq: qcwm + lvhd
   -1    44 qtcp: 8
   -1    45 stqg: crwf + rjwn
   -1    46 jhbz: 5
   -1    47 tqzg: spzp * nwnm
   -1    48 zvlq: 3
   -1    49 qztm: 2
   -1    50 bhvv: hzlz + blsf
   -1    51 pzsf: qlpb * tbld
   -1    52 rllq: jmgp + fcbd
   -1    53 vnrd: fnhf * lwfg
   -1    54 wvbj: bgvw * lzjd
   -1    55 stdg: tpsg + bzlc
   -1    56 rzfg: jhhl * clhq
   -1    57 hshw: rcpq + jjcv
   -1    58 cljz: ljzq * zwds
   -1    59 vjnc: qcwp / bmpt
   -1    60 mnqt: fjch * mrmw
   -1    61 rbft: mrqd + lbfw
   -1    62 hrrz: wvlf - wpgm
   -1    63 gcsg: 2
   -1    64 tzjd: dcgh + hrdt
   -1    65 wclq: sgzq + fmzs
   -1    66 rpft: hplb + htmr
   -1    67 plbb: 2
   -1    68 gzbs: 2
   -1    69 mfzt: glsl - qtfz
   -1    70 cclq: wlqz + mbhp
   -1    71 dljw: tzts + frlv
   -1    72 jrdt: 2
   -1    73 rglh: 13
   -1    74 sjzg: 9
   -1    75 ggsq: vgqt + bwgr
   -1    76 rcqp: 2
   -1    77 ppfn: djmf * gnwg
   -1    78 mglr: 3
   -1    79 mqtz: wmcl * sfhh
   -1    80 fhdg: zgdt * jtbb
   -1    81 vpbf: tpcs - ncvc
   -1    82 cbpz: wjvt - thdz
   -1    83 vmfc: 10
   -1    84 lqwp: 7
   -1    85 jdlq: mftb * tdtw
   -1    86 cmnq: 4
   -1    87 mhhv: 2
   -1    88 lhvd: 3
   -1    89 lpzd: 2
   -1    90 dfmf: qwws / lthv
   -1    91 ffrj: mcmc * wrqn
   -1    92 fbfn: fgdc - zrlp
   -1    93 shlb: fhqf * mdqj
   -1    94 wtnl: 3
   -1    95 qnhs: dbrp / qfgw
   -1    96 gbpl: 4
   -1    97 vghh: zvlw + wvzf
   -1    98 rgts: pvfl * lsmj
   -1    99 wjqh: 17
   -1   100 dbfz: zsmv * qhjp
   -1   101 ntbt: 4
   -1   102 dmlp: 16
   -1   103 gpwh: chdn + dbws
   -1   104 wgpd: 4
   -1   105 bgvd: 12
   -1   106 vhzg: 3
   -1   107 qdts: bhsf + fqjm
   -1   108 wdbn: 3
   -1   109 sggv: 15
   -1   110 wldz: lgnc * qfmb
   -1   111 lmgq: 7
   -1   112 vpth: 4
   -1   113 crfw: 5
   -1   114 vrcf: 3
   -1   115 qcwp: dfbv * pwcq
   -1   116 vtrd: 2
   -1   117 gczn: dsdh + vfds
   -1   118 wcfl: lbtn + stgz
   -1   119 fpmb: hwgt * hcjc
   -1   120 jtqg: hwqh * brwq
   -1   121 bchf: 4
   -1   122 tblh: 2
   -1   123 zchv: 2
   -1   124 mfvb: 4
   -1   125 mrqd: wcfl * bwtd
   -1   126 rmgn: 3
   -1   127 fwsh: nfch - mtbf
   -1   128 lvtt: nlfc + pccv
   -1   129 qscb: 7
   -1   130 mdds: bvbh - qqpg
   -1   131 drzq: wtlh * ntgs
   -1   132 gnwg: 3
   -1   133 wsrr: drcd - jpfv
   -1   134 gmrv: qnvv + qmbv
   -1   135 dbrp: gvhw * rjsc
   -1   136 fvpg: 3
   -1   137 tlmm: dppd / cdjz
   -1   138 thrv: 4
   -1   139 vlth: ppbm * sfbv
   -1   140 pfjz: 3
   -1   141 cqfb: qgrr + rljc
   -1   142 mmwr: vmnh * lbhp
   -1   143 zmwm: njsb * mjjb
   -1   144 vrpl: csjn + hrrz
   -1   145 tmff: 1
   -1   146 tnvm: zwnb * lhsp
   -1   147 pwcq: 3
   -1   148 wppw: 8
   -1   149 pvnw: gbrj + hptp
   -1   150 rmbj: wbvh + sggv
   -1   151 fjtj: lnhw + nhms
   -1   152 pnsb: fqww + lpcl
   -1   153 ffqp: 2
   -1   154 pglh: rgtm / wpjb
   -1   155 dwbc: 2
   -1   156 twcj: vlrr * swch
   -1   157 wlnp: 4
   -1   158 ntqw: jntd + mpsv
   -1   159 prpc: mhjv * dljw
   -1   160 dbhs: mvfz + rlrz
   -1   161 fmgp: fwsh * wcqd
   -1   162 pltm: 3
   -1   163 wlqz: 5
   -1   164 gnzt: tpcn + cqfn
   -1   165 qqmt: 2
   -1   166 dmfq: rbtr * rhnb
   -1   167 nwzp: 2
   -1   168 sjth: psbp + humn
   -1   169 lzdc: 4
   -1   170 pflw: crbm * dzvf
   -1   171 tgcj: 6
   -1   172 lsmf: tbhl * svtv
   -1   173 vbzg: lmnn + bjqz
   -1   174 bhsf: 11
   -1   175 bchh: 4
   -1   176 brhd: hgmq * pmqh
   -1   177 tpzr: rbcr / svzn
   -1   178 nmbm: 2
   -1   179 ggpj: qhnt * glmb
   -1   180 nfgs: ppph + psrn
   -1   181 dsfs: 5
   -1   182 mftb: flsv + jmtg
   -1   183 vltz: nzvz * rwlz
   -1   184 lvhd: czrq * fzrw
   -1   185 cspg: wpmg - tzln
   -1   186 fgvp: 3
   -1   187 jbjv: 7
   -1   188 wqln: mhbq - tfgm
   -1   189 rtjp: 8
   -1   190 wdhr: 2
   -1   191 qtsv: 13
   -1   192 qchl: cdjp * mbzc
   -1   193 lnsr: tlrt + dpdg
   -1   194 jbnb: 2
   -1   195 csbd: rwls * fwgr
   -1   196 ftrp: rlwt * bqqf
   -1   197 rtwh: dnvr + rzcg
   -1   198 fvzl: zmch * fwnz
   -1   199 btwf: 16
   -1   200 nnqs: dltm + fpvv
   -1   201 chdb: mwvj * qlqz
   -1   202 ffzz: vgpj * bzbh
   -1   203 hjfw: plgj * fzvs
   -1   204 rdcg: tzsb + jqvb
   -1   205 dhnj: mcsb + flvt
   -1   206 rgrz: 7
   -1   207 cjmg: 4
   -1   208 qqpg: zspw * qdts
   -1   209 sfnf: 3
   -1   210 pgpf: lfnz + mrzd
   -1   211 zcfq: 2
   -1   212 tvvw: jvnn * snsr
   -1   213 hrlr: cssz - grbq
   -1   214 flsv: tlzb + lprs
   -1   215 chgt: thmf * vdnn
   -1   216 bjpl: gmtv * wgdl
   -1   217 qbgj: tzdv * mrzj
   -1   218 scjm: hfjb + twcj
   -1   219 jfpz: wvnb + ghfl
   -1   220 jdrp: 2
   -1   221 brjf: 2
   -1   222 cdbq: pcfq - lqcb
   -1   223 wwqv: 7
   -1   224 chcm: 3
   -1   225 blth: 3
   -1   226 vmgn: 3
   -1   227 dlcm: mnbn * nbsq
   -1   228 pbwl: 3
   -1   229 hmlz: mlss - npth
   -1   230 szzf: 3
   -1   231 jwrs: 5
   -1   232 mhbq: qsjv * vqmw
   -1   233 lqts: 16
   -1   234 hlqd: 2
   -1   235 qtzh: 9
   -1   236 fqmd: 15
   -1   237 pfjc: gqrf * brhd
   -1   238 ntgs: 5
   -1   239 lfld: 2
   -1   240 wstc: wgwn * btwf
   -1   241 vcdb: 8
   -1   242 vhcb: zqnd + wlhj
   -1   243 jncw: njdw - lvqr
   -1   244 lnqf: rjhw / nljm
   -1   245 bqzs: rcrs * fhwt
   -1   246 jhnd: bmtf * nllw
   -1   247 csbl: qjhb + lphl
   -1   248 qdgg: 3
   -1   249 qbqw: gtnb + gpwh
   -1   250 pnwf: pvjh + vdcn
   -1   251 cwnf: 2
   -1   252 wwwn: wzcr - hjjr
   -1   253 tvbj: lfms * plbb
   -1   254 zwlb: 10
   -1   255 fmjj: znqn * jrdt
   -1   256 tnpb: 12
   -1   257 qghg: 5
   -1   258 nqbp: 15
   -1   259 hfnz: 2
   -1   260 lhlm: 7
   -1   261 jgwq: 3
   -1   262 svsz: spnp * hdnt
   -1   263 ffll: jfpz - bddb
   -1   264 bzlc: 7
   -1   265 mpcn: 4
   -1   266 gtjs: drlj + vlth
   -1   267 pmqh: rmjd * csjf
   -1   268 hlcz: 4
   -1   269 lmms: hjsm * rgnq
   -1   270 qjlt: hwvg + sqlm
   -1   271 jtbb: 4
   -1   272 dbjc: 4
   -1   273 wbgd: 2
   -1   274 nncb: chgt * tsgb
   -1   275 cnwf: 2
   -1   276 dgcb: bdjr + brqg
   -1   277 wfct: 2
   -1   278 fwhd: dqfv * vnzn
   -1   279 cqrt: sfnf * vtfp
   -1   280 zhft: spph + vcdb
   -1   281 rswd: 8
   -1   282 zwvp: 2
   -1   283 qhbw: 4
   -1   284 fqjm: phnq / crqr
   -1   285 rhqf: qdvp + wrtc
   -1   286 vztg: 2
   -1   287 vszt: 2
   -1   288 mnhl: 3
   -1   289 dlzr: 10
   -1   290 jcvp: 8
   -1   291 zzqt: qvmg * jbmg
   -1   292 qmfh: hvwl * dzcg
   -1   293 rnhr: 8
   -1   294 fhdf: 2
   -1   295 fmhp: 3
   -1   296 lgnc: zltm + lfpg
   -1   297 zjqb: bbqs * lgzl
   -1   298 dsvc: ppwr - rsgs
   -1   299 wrdt: mjpr * wbsd
   -1   300 nlfc: 5
   -1   301 nfrh: 3
   -1   302 dhjg: htng + sfzw
   -1   303 pqvc: 2
   -1   304 rmwf: rcgr * fhqr
   -1   305 jfls: glpd * jbnb
   -1   306 zpsz: 2
   -1   307 tbct: dvqf - rzth
   -1   308 htmr: pqjc * lzjm
   -1   309 gpgw: 2
   -1   310 pdnv: 5
   -1   311 pqjc: 5
   -1   312 brjv: 2
   -1   313 pndh: zsgn * vmgn
   -1   314 dbws: pjjt + zbql
   -1   315 sqbq: dtmc * wwwn
   -1   316 znth: lvws * pzgs
   -1   317 wtvw: sjjd * jfls
   -1   318 lphl: ttpq + ffll
   -1   319 lbgt: 2
   -1   320 cjjt: fhhn - fpsz
   -1   321 wpjb: 2
   -1   322 zlfn: dhjg + stvr
   -1   323 wplp: 1
   -1   324 fmrd: vpbf + zsvz
   -1   325 cjfp: snqv * drgc
   -1   326 nfpq: vqhs / hlcz
   -1   327 bbqs: 2
   -1   328 jgvf: 3
   -1   329 cmgj: pqvc * lczt
   -1   330 hpws: 5
   -1   331 rvls: zqnb / ncvp
   -1   332 cltb: nhpd * lpzd
   -1   333 dztf: lvqg * bbtv
   -1   334 fqbh: qrlt - pzqc
   -1   335 dnvr: 12
   -1   336 bbwt: 2
   -1   337 brgq: dmfq + mmtl
   -1   338 ghrf: 3
   -1   339 tpsg: 6
   -1   340 dfwc: 2
   -1   341 qgmq: 5
   -1   342 bhdw: pspd * jwcm
   -1   343 mwvj: 2
   -1   344 wwls: 4
   -1   345 gdzg: 5
   -1   346 srsw: 2
   -1   347 vtfp: 3
   -1   348 ftbz: vbbw + bqww
   -1   349 qrls: 3
   -1   350 qcgw: 3
   -1   351 pfgs: 3
   -1   352 lqvh: hsgt + twwc
   -1   353 hlnd: blbm * dffb
   -1   354 mhcj: stdg * gtvm
   -1   355 bnjn: 7
   -1   356 nbsq: 3
   -1   357 jpfv: 6
   -1   358 thmf: 8
   -1   359 hclb: 3
   -1   360 qhpj: pfts * bbdc
   -1   361 rcrs: 15
   -1   362 pnvr: 2
   -1   363 nzfs: 2
   -1   364 gptp: 2
   -1   365 ncvc: rtzz * wmfh
   -1   366 vdbj: 8
   -1   367 plgj: 5
   -1   368 wpnj: crcm + lhpz
   -1   369 qbjb: czmw + bfsg
   -1   370 jmwp: 5
   -1   371 zwtd: 12
   -1   372 vgwf: 5
   -1   373 fjrr: lvgb + ggsq
   -1   374 qhbl: gljm + grnj
   -1   375 dtdb: 3
   -1   376 bhfp: hcdt * rgrz
   -1   377 qddh: jdlq + qbgj
   -1   378 ltdb: rmps + chwm
   -1   379 hrgp: jsrw - phcm
   -1   380 rwgz: 3
   -1   381 jmzv: 20
   -1   382 vdfp: 5
   -1   383 glfl: 9
   -1   384 prsf: 4
   -1   385 tffz: zjqb + vhzq
   -1   386 ztlm: fmgp + vrwd
   -1   387 fvgb: mlfw - qdvm
   -1   388 dvqf: nmbm * rbft
   -1   389 jzsc: mwlt + rrcv
   -1   390 tcnm: htqq * mczd
   -1   391 rqbh: 2
   -1   392 mlfz: dbhs + wppw
   -1   393 fjlp: 2
   -1   394 vpmc: rtbv * scqn
   -1   395 plmh: 3
   -1   396 dqtf: swrm * ltfp
   -1   397 hmcp: 4
   -1   398 nwzv: pmlc - wpnj
   -1   399 rddw: jjrt + scjm
   -1   400 rwbp: 2
   -1   401 wmfh: chhh + mmjw
   -1   402 hrnm: lqts * cvlp
   -1   403 mnlt: wctt + fgvp
   -1   404 dlbn: vnrd * bmcm
   -1   405 pmcw: 4
   -1   406 zrlp: 2
   -1   407 dzvf: 2
   -1   408 gshb: 2
   -1   409 wzcr: zplj * vdbj
   -1   410 cbmp: cpjq - drzq
   -1   411 rjzc: fzwh + zvpv
   -1   412 cprw: 2
   -1   413 rhdq: 12
   -1   414 gtbq: rttq + wlnp
   -1   415 qrlr: psqj + stgq
   -1   416 mszn: mscd + dztf
   -1   417 slvn: cqfb + qjvt
   -1   418 qcwm: cbmp * dltw
   -1   419 rzbj: 16
   -1   420 dqdh: wmbw + hjdc
   -1   421 sqlm: bszt * wmbl
   -1   422 lmgz: hclb * wncr
   -1   423 qtfz: gfdq * qljp
   -1   424 ncvp: 6
   -1   425 zctp: bszf - gfwn
   -1   426 ppph: bplt + hnwz
   -1   427 wqtr: hpws + ddnp
   -1   428 mrlq: 4
   -1   429 hvvj: mttd + wqln
   -1   430 rrcv: fjtj * bcgn
   -1   431 svpv: vdgd * lfnr
   -1   432 mdvl: qtdh * gtjs
   -1   433 pnft: fpvz * rrgq
   -1   434 hqnr: 4
   -1   435 zqjj: 4
   -1   436 mfpr: cngq / nzfs
   -1   437 hmbl: 2
   -1   438 hlpz: mnqt - fgzr
   -1   439 ndfl: 9
   -1   440 qnmc: mnqj * ctcg
   -1   441 gzgs: rsjz + hqpn
   -1   442 blbm: 9
   -1   443 gsjg: 3
   -1   444 snzd: mwvt * slnj
   -1   445 mwgd: gmrv + vrgz
   -1   446 mrzj: 3
   -1   447 rtbv: wvlp * wdhr
   -1   448 qmdq: rbzb + mqtz
   -1   449 hgmq: tvbj * lnqf
   -1   450 pvbm: lmgz + jmpw
   -1   451 rsgs: hlhd + vcsv
   -1   452 fhqf: 3
   -1   453 flzl: jppc * mgvt
   -1   454 rgjn: 16
   -1   455 wvlp: 7
   -1   456 hjjd: dqtf + cpnl
   -1   457 qnzr: 12
   -1   458 fzrw: mbww - zglr
   -1   459 bmjj: jjtt + mjfv
   -1   460 rgtm: rmhf * plnj
   -1   461 lscb: 3
   -1   462 lqgf: 1
   -1   463 frlv: 6
   -1   464 zmch: csbl + qbjb
   -1   465 wlwz: 2
   -1   466 phnq: tnvs * jdrp
   -1   467 sjss: fmhp * gmrf
   -1   468 dnwh: 5
   -1   469 gjjf: 12
   -1   470 tpcs: slcc + chdb
   -1   471 pqnj: 4
   -1   472 mdlq: 2
   -1   473 jnqm: drpb * mzdc
   -1   474 ffwb: tnmp * hrqc
   -1   475 zchm: wwqv * cclq
   -1   476 mfph: sczb + tvhn
   -1   477 mrbg: mmgt * vnnn
   -1   478 djmf: fzbm + nsns
   -1   479 vblp: 14
   -1   480 wrjn: zljb * hgjc
   -1   481 lsrt: lbcf * wstc
   -1   482 tfgm: fmcr + vrgf
   -1   483 qdfm: 5
   -1   484 chwm: pqnj * shtt
   -1   485 dhdg: 2
   -1   486 tvhn: 1
   -1   487 httb: pbwl * nmgd
   -1   488 lzjd: sqrz + qbqj
   -1   489 nshq: nqqr * vztg
   -1   490 mwsd: 13
   -1   491 hfjb: dfhm + npvz
   -1   492 lbfw: gpgw * nmhm
   -1   493 qnjm: qfbs + qnmc
   -1   494 jhrz: 7
   -1   495 fhqr: 5
   -1   496 zplj: 3
   -1   497 nzjv: 3
   -1   498 bmdz: 7
   -1   499 blrt: 6
   -1   500 znst: 3
   -1   501 ztnw: 3
   -1   502 tchr: gmtd + zzvr
   -1   503 rjhw: smgt + cftb
   -1   504 vqmw: hdwn + hcsc
   -1   505 vnzn: nqjc + wsmv
   -1   506 gjrd: lgzz * hllf
   -1   507 cbsc: vtzj + tjtp
   -1   508 cfbb: 3
   -1   509 vbsz: bhpg * qwlm
   -1   510 wjmb: jcwf / lrbl
   -1   511 djjz: 1
   -1   512 jqgn: cjwb + thrv
   -1   513 vtwb: 18
   -1   514 rtth: 2
   -1   515 bzqc: 7
   -1   516 fnqh: 8
   -1   517 lnqs: 7
   -1   518 zsmr: lqvd + dbfz
   -1   519 snsr: 3
   -1   520 lfnr: 5
   -1   521 hgjc: 2
   -1   522 qtfg: hrgp + mtgb
   -1   523 bjts: fwsm + bgqn
   -1   524 npth: wqtr * wcgq
   -1   525 hwnw: cgbg * vdvz
   -1   526 lbcf: 6
   -1   527 lcbj: 1
   -1   528 sdcc: 5
   -1   529 hplc: 2
   -1   530 nqgp: qnzr * pttq
   -1   531 jvdj: pnfg * shlb
   -1   532 nlrm: vcmb + hcsb
   -1   533 qlcw: fvgc + zpjj
   -1   534 gnhp: qlbq * tzhb
   -1   535 jmrn: 14
   -1   536 rcgv: 3
   -1   537 vdvz: 2
   -1   538 pccf: 19
   -1   539 stsg: 4
   -1   540 zngc: rmwf + nppb
   -1   541 vgpj: 8
   -1   542 rszj: 2
   -1   543 nwlg: pgns + vgjv
   -1   544 cggv: zmtj * qmdq
   -1   545 jmzc: mptm + hzzh
   -1   546 shzr: 2
   -1   547 pblc: 2
   -1   548 ctcg: ftrp - rznq
   -1   549 rnfv: 2
   -1   550 fldd: 5
   -1   551 lgzz: 11
   -1   552 sqcd: vccr + dcgr
   -1   553 qrqz: ggpj + pccf
   -1   554 ldqd: qmzp + pjqb
   -1   555 gshv: cnnh * ljdh
   -1   556 wcdn: 1
   -1   557 nrmt: 1
   -1   558 qlbq: 5
   -1   559 ppsj: mqnh / nwbf
   -1   560 rcgp: vpmc + zsmr
   -1   561 fchp: 4
   -1   562 vwcj: lqvh * hndc
   -1   563 fzbm: 2
   -1   564 qrnw: qrls * ffjb
   -1   565 jdqw: prsf * ljwr
   -1   566 bwgr: 2
   -1   567 qmqj: 3
   -1   568 cdhz: 4
   -1   569 vrnr: pltm + bvcz
   -1   570 dfnr: gffh + sfvb
   -1   571 hpwj: dlzr * tlvt
   -1   572 mvfz: 6
   -1   573 stgq: hqnr * zzpn
   -1   574 qrrh: hlfr + gslz
   -1   575 ptdc: 6
   -1   576 jtjw: nhvr + qchl
   -1   577 nwbf: 3
   -1   578 crbm: 3
   -1   579 qvdd: pmms * hpbq
   -1   580 bgdg: rfbj * gwqr
   -1   581 ghfl: sjcv * lvlj
   -1   582 bqhh: jbsb * jjfm
   -1   583 fhhn: pgph / rsth
   -1   584 jlhg: 5
   -1   585 zbbb: nfmd * rwbb
   -1   586 zspw: 2
   -1   587 jmgp: 1
   -1   588 jnvp: qghg * qtsv
   -1   589 mpqr: vqcp * dtlp
   -1   590 jspt: 4
   -1   591 srhw: 2
   -1   592 mlfw: jljb / bzvr
   -1   593 bqqf: sfht - rgts
   -1   594 zlhj: tzpg + vpth
   -1   595 hcsb: cfbb * mmwd
   -1   596 mglb: qqjn + ffvw
   -1   597 flzc: vhcb + wwjb
   -1   598 grcr: dldp + dsvc
   -1   599 hdnt: gtbq + htjg
   -1   600 cnlb: pdjn * vhpg
   -1   601 ghth: hcrf + lqmb
   -1   602 ztrg: 3
   -1   603 mjjs: 2
   -1   604 zbcv: 3
   -1   605 jltg: ztnw + wwls
   -1   606 tzdv: 14
   -1   607 bqsf: 9
   -1   608 lfnz: prpc + bmpq
   -1   609 lbhf: 2
   -1   610 mpbh: pnsb + mszn
   -1   611 jdzg: 4
   -1   612 dtlp: 3
   -1   613 qnph: 3
   -1   614 zgdt: nfgs + rzjr
   -1   615 cvlp: 6
   -1   616 mcsb: rfvt * gdzg
   -1   617 wwjb: tntq * jzsc
   -1   618 jffr: brlb - vpjf
   -1   619 pgzq: szzf * qbrp
   -1   620 mlss: ztlm / dzmb
   -1   621 wcgq: tchr * hgpv
   -1   622 rmps: pglm + jrgp
   -1   623 gqrf: twqg * tqzg
   -1   624 ffsf: 16
   -1   625 jhhl: ffrj * zchv
   -1   626 ssnm: 7
   -1   627 glfb: 3
   -1   628 vlqf: 3
   -1   629 nmgd: tmtt + mfpr
   -1   630 dcgr: ndbd + zqjm
   -1   631 jjrr: 2
   -1   632 dlth: 3
   -1   633 qzdb: 2
   -1   634 flfw: 8
   -1   635 cpnn: 13
   -1   636 glmb: 2
   -1   637 qrzp: 17
   -1   638 hldq: 6
   -1   639 tlpp: 2
   -1   640 dnbd: 2
   -1   641 bfsg: bchf + fwmm
   -1   642 fwns: 2
   -1   643 jmfr: mlnm * brgz
   -1   644 jcdn: qhbl * cphj
   -1   645 hcsc: rtqd + wbnb
   -1   646 mcdq: 13
   -1   647 gslz: dggd + qgzn
   -1   648 sdqv: plvj + jqgn
   -1   649 zlcd: 11
   -1   650 swpt: lsrt + fhdg
   -1   651 jthf: pggf * ctjw
   -1   652 pppm: 3
   -1   653 ppwr: gjjf * ppfn
   -1   654 hbjd: 6
   -1   655 vzhs: ltdb - gqfn
   -1   656 rsph: 2
   -1   657 tmvf: 2
   -1   658 sppf: 1
   -1   659 thjw: 2
   -1   660 zzpn: 5
   -1   661 jjrt: nfsb + nhlc
   -1   662 hngp: wflp * vdsv
   -1   663 zcgs: 6
   -1   664 mjvq: qvdd + snzd
   -1   665 blvm: 7
   -1   666 rjzj: flzn * scmv
   -1   667 dsch: 3
   -1   668 rsqn: ctjp * fgnp
   -1   669 tbld: 5
   -1   670 jbsb: hmbf * zwvp
   -1   671 ntsq: 3
   -1   672 lctf: wldz + cjjt
   -1   673 ntnv: 16
   -1   674 blsf: nmgw + ssnm
   -1   675 qmbv: npgz * vwmd
   -1   676 gtnb: pgmj / pzlz
   -1   677 mchb: qgmq * vtcp
   -1   678 lqln: mglb * gfwg
   -1   679 nmrp: vtwb - vbzm
   -1   680 mwlt: ttnp * bcrw
   -1   681 zncv: 2
   -1   682 lmnp: zslj * tzjd
   -1   683 snqv: 5
   -1   684 cvwh: 3
   -1   685 thdz: 4
   -1   686 lntl: hrsm * shsj
   -1   687 dsfr: qmss + hlnd
   -1   688 ggnm: sltj - tjwg
   -1   689 fcqj: mphl * spvs
   -1   690 mscd: cgvn - zsdz
   -1   691 bhzn: 3
   -1   692 wctt: rsqn * ppsj
   -1   693 ncdz: 7
   -1   694 gqfn: tcbp + vqtp
   -1   695 qnzb: 2
   -1   696 hhdz: 3
   -1   697 fcbd: vfcb * lhvd
   -1   698 rbvs: 5
   -1   699 nzvz: hvpf - bqsf
   -1   700 jtpb: rlrl * fdbl
   -1   701 bzbh: 2
   -1   702 hvwl: 5
   -1   703 qrfc: 4
   -1   704 vwpb: cdhz + gnwj
   -1   705 sjpg: 15
   -1   706 fwgr: mdvl + rpjs
   -1   707 grnj: bhfp / jbjv
   -1   708 pglm: nvlq * nqlj
   -1   709 mphl: 13
   -1   710 sqrz: 3
   -1   711 bmpt: 3
   -1   712 fqwm: vmfc * whth
   -1   713 ffjb: 9
   -1   714 nfsb: jcfb - vthl
   -1   715 qtlz: lqln + lrmr
   -1   716 mvhl: 10
   -1   717 lhpz: vcgb * vqtg
   -1   718 jjjz: 3
   -1   719 qsfw: 5
   -1   720 wlfg: 2
   -1   721 wmbl: 2
   -1   722 hwlq: wbgd * mhnq
   -1   723 qchc: vvqp * qfzj
   -1   724 tjgb: 3
   -1   725 lqmb: 12
   -1   726 vbtp: zpsz * qlcw
   -1   727 mmbb: lpss * mpcn
   -1   728 hqqj: trzg * nssm
   -1   729 lhhj: smhj / dbjc
   -1   730 shlh: 10
   -1   731 pqgs: svpv * svsf
   -1   732 vdnn: 3
   -1   733 psqj: 3
   -1   734 fzvs: 7
   -1   735 pqjw: 11
   -1   736 gzrt: 2
   -1   737 gmtd: 13
   -1   738 bnjf: dgdm * cddz
   -1   739 cpjq: zsmc * jcvp
   -1   740 dnld: twlf * ntbt
   -1   741 blmg: 9
   -1   742 glwp: 2
   -1   743 ngvh: mrbg + fjrr
   -1   744 pbml: 3
   -1   745 plwg: 9
   -1   746 lvqr: jmwp + zwtd
   -1   747 rhnb: 3
   -1   748 pspj: 2
   -1   749 spph: 19
   -1   750 rmjd: 2
   -1   751 zhzg: qtsn + sdqv
   -1   752 mmwd: 3
   -1   753 ltgj: pnvm + jjfd
   -1   754 flvt: chdw + tjgb
   -1   755 mczd: gzlz * dgcb
   -1   756 qmvp: 5
   -1   757 fcrz: 2
   -1   758 mbzc: 3
   -1   759 jvbp: 3
   -1   760 wvzf: 5
   -1   761 bjwn: 7
   -1   762 pnld: 3
   -1   763 dmwh: fzwg + qhrn
   -1   764 vhqv: 3
   -1   765 hlhd: srdb * qbzc
   -1   766 jjlw: 11
   -1   767 fmzs: 9
   -1   768 jfgd: rcgp * mbbr
   -1   769 nmpq: 5
   -1   770 vclc: dhjc * ngvr
   -1   771 jhzb: hwnw * glfl
   -1   772 npgz: cpqf * rnfv
   -1   773 qwlm: 5
   -1   774 fjlc: qhrc * nsbj
   -1   775 mqgc: phwr / dftp
   -1   776 lttc: fhdf * mblz
   -1   777 vwmd: 3
   -1   778 ddtr: qmfh * wmpt
   -1   779 swch: 2
   -1   780 rwbb: plgz + fmrd
   -1   781 mbtf: jhrz * gmvl
   -1   782 qqbf: 17
   -1   783 ljdr: 14
   -1   784 wvlf: czqc * vscz
   -1   785 slnj: 14
   -1   786 chhh: 1
   -1   787 hlfr: bhdw * bjwn
   -1   788 rjsc: htgn + dhnw
   -1   789 hcsd: fvzl * flzc
   -1   790 fwnz: bvfj * gnjf
   -1   791 nrvp: bhvv + rrrv
   -1   792 jnlt: jmzv - pppm
   -1   793 cbcm: 4
   -1   794 tgfr: 2
   -1   795 zsvz: wbnr * rpft
   -1   796 nmgw: jjlw * zbdj
   -1   797 lczt: vblr + cbpz
   -1   798 bhpg: 10
   -1   799 bwtd: 2
   -1   800 wflp: 3
   -1   801 rzjr: dqbc + wjmb
   -1   802 pzjd: 14
   -1   803 pmlc: mfzt / cvwh
   -1   804 tgzh: 6
   -1   805 srdb: dhvm - pvnw
   -1   806 lhsp: 5
   -1   807 hrqc: 10
   -1   808 fzmf: sqfl + hsps
   -1   809 jbpz: pszb - wplp
   -1   810 fvgz: 2
   -1   811 qfrn: 11
   -1   812 vfsj: qdgg * wrjn
   -1   813 bblh: 6
   -1   814 hrpw: 2
   -1   815 bvbh: fwzl * grzn
   -1   816 cqfl: tqvq * lgfv
   -1   817 htsg: dlbn - cwml
   -1   818 zjlt: 3
   -1   819 jqvb: nnfg * tsbw
   -1   820 hpbq: 4
   -1   821 dtmc: 5
   -1   822 bgwh: 3
   -1   823 psrn: mhhv * rbql
   -1   824 mhnq: hhwf - dnbd
   -1   825 mttd: dhlh * vghh
   -1   826 rmtc: wcdn + zlhj
   -1   827 sczb: tbfj + jdph
   -1   828 vgqt: qzvv * vbzg
   -1   829 htqq: 2
   -1   830 vblr: 8
   -1   831 czqv: 1
   -1   832 jvpw: 19
   -1   833 rrrv: 12
   -1   834 gnjf: httb + grcr
   -1   835 dwzj: 2
   -1   836 csjf: sjss + wmjh
   -1   837 nssm: wmps + zgzn
   -1   838 qprd: gzhg - tqsh
   -1   839 mqhf: 4
   -1   840 qqjn: brjf * pcnn
   -1   841 fgpf: fmhl / shpn
   -1   842 sltj: cbsc * mprw
   -1   843 cghj: 12
   -1   844 mvts: phft + pdnv
   -1   845 tlwh: qnjm / wjrw
   -1   846 lfns: 3
   -1   847 nmnt: 8
   -1   848 pgcj: qqbf + lsmf
   -1   849 mmts: 3
   -1   850 bqdc: 3
   -1   851 dsjj: hvdn * whnn
   -1   852 nhlc: ffwb * hmts
   -1   853 nqqr: dmlp / pspj
   -1   854 dcgh: 2
   -1   855 bmgz: hmlz / vrnr
   -1   856 rlrz: 11
   -1   857 pcnn: 4
   -1   858 jmch: wcbb + bzlq
   -1   859 wrqn: 2
   -1   860 qwfb: rqbh + plwg
   -1   861 lcgp: 2
   -1   862 wgwn: 2
   -1   863 nrwh: rdcg / zcfq
   -1   864 ssbp: hzvv * jtqg
   -1   865 nwnm: 2
   -1   866 tdsq: 14
   -1   867 bwbm: 3
   -1   868 pbrf: vscs + bmzl
   -1   869 wqqf: 3
   -1   870 jpmm: 13
   -1   871 rrgq: 2
   -1   872 qmjg: 4
   -1   873 hrbw: dtzq * pbml
   -1   874 dnwn: 5
   -1   875 zwnb: bjpl + zlfn
   -1   876 wvnb: cqfg * lntl
   -1   877 wmps: cdwq + jbtl
   -1   878 vlrr: 4
   -1   879 gqcn: 5
   -1   880 jmtg: 3
   -1   881 czmw: 4
   -1   882 qqrt: clrb * wnrq
   -1   883 gstj: 4
   -1   884 spzp: cbdr + znth
   -1   885 mgwn: 7
   -1   886 pzlz: qztz + mzpr
   -1   887 zqjm: psgw * gbpb
   -1   888 drlj: nwzv / fbcs
   -1   889 ltjs: lbhf * jnvp
   -1   890 gbtd: dwhj + pblc
   -1   891 qrdh: lfwd + jmzc
   -1   892 mnqj: 2
   -1   893 grzn: 11
   -1   894 bfgf: 3
   -1   895 cpnl: hfnz * lhnd
   -1   896 vpjf: gnpm + wfwt
   -1   897 rvvd: pnld * gshv
   -1   898 frwl: 3
   -1   899 rtfs: 19
   -1   900 qmbf: 3
   -1   901 pttt: 2
   -1   902 hcjc: 2
   -1   903 fbcs: 3
   -1   904 zgzn: 1
   -1   905 djln: bjpw * gpnj
   -1   906 wzfr: 5
   -1   907 tdmn: wsrr * wnrj
   -1   908 nppb: 4
   -1   909 wmcl: 2
   -1   910 zcfs: 11
   -1   911 dfqf: 5
   -1   912 sgmb: 9
   -1   913 wztf: sjpg - qjlz
   -1   914 nhdv: 3
   -1   915 sfhh: 5
   -1   916 wdjg: gshb * cnlb
   -1   917 spnp: qhhf * dwns
   -1   918 vvqd: 3
   -1   919 fgdc: lcml + jdqw
   -1   920 vcmb: gptp * dnmt
   -1   921 fvfh: jnqm + znlz
   -1   922 jrzm: 2
   -1   923 gmrf: rfpw * glwp
   -1   924 tzsb: tldl * wztf
   -1   925 srnm: wwzt * hjqd
   -1   926 lbtn: wzmf * twgf
   -1   927 rsvw: fqmd * vlln
   -1   928 mnbn: dpfh * vvqd
   -1   929 wtmf: cstd * grcq
   -1   930 rtzz: 4
   -1   931 mtvg: rszj + rcdf
   -1   932 spnq: 3
   -1   933 glsl: sqvt * qztm
   -1   934 rzdc: 3
   -1   935 wpgm: 11
   -1   936 nnmw: 2
   -1   937 plnj: 7
   -1   938 bmtf: qnph + znwd
   -1   939 brqg: 1
   -1   940 wgzj: jmdg * bmjj
   -1   941 lgzl: wgpd + sjzg
   -1   942 pdjn: gtfl + nbqq
   -1   943 lzjm: bffv + mshb
   -1   944 wbnr: 5
   -1   945 cdjp: zrqg + ztht
   -1   946 czqc: 7
   -1   947 mczp: vszc + nhdv
   -1   948 ghtf: 9
   -1   949 qwws: 18
   -1   950 swrm: slbc / rwbp
   -1   951 tlzb: 4
   -1   952 mwvt: 3
   -1   953 nsbj: hhdz * twgp
   -1   954 zsgn: 2
   -1   955 nsns: 9
   -1   956 tzln: lqpn * mrlq
   -1   957 stzn: 7
   -1   958 brwq: 4
   -1   959 wlhj: qprd * jhpc
   -1   960 mgdm: lzvf * wwpt
   -1   961 rwlz: 2
   -1   962 rmhf: 2
   -1   963 nbtt: 5
   -1   964 whnm: qzfd * ggmv
   -1   965 cvng: ghtf * dfnr
   -1   966 bmcm: 12
   -1   967 cftb: 5
   -1   968 snll: 3
   -1   969 gpnj: 2
   -1   970 lgts: 5
   -1   971 lmnn: 10
   -1   972 jnfl: zngc * gnhp
   -1   973 rwls: 2
   -1   974 sfbv: 2
   -1   975 zljb: 5
   -1   976 vcgb: dfmf + hpwj
   -1   977 plgz: wwpl * rjzc
   -1   978 wsqq: fqgt * rcgv
   -1   979 brvq: 3
   -1   980 tcbp: mgbs * bgwh
   -1   981 vdqd: dcwb / rcqp
   -1   982 cfdj: 4
   -1   983 tpfc: 2
   -1   984 bdjr: thjw * vclc
   -1   985 qhmv: pvbm * zdft
   -1   986 dnmt: 4
   -1   987 shgb: 5
   -1   988 sfht: dtsm / znst
   -1   989 shjq: 5
   -1   990 tdfd: tcpr / cwnf
   -1   991 twdh: rhqf * rtth
   -1   992 rmgz: 16
   -1   993 qlpb: 3
   -1   994 wgdl: mwsd + vbcp
   -1   995 btjr: 2
   -1   996 lznj: 1
   -1   997 glpd: 3
   -1   998 mgvt: fwns + ljzd
   -1   999 srdm: pfgs + gjdg
   -1  1000 rnlc: gzsh + ffzz
   -1  1001 jzlj: 2
   -1  1002 qmgs: 10
   -1  1003 cqct: tpcz * ztrg
   -1  1004 wpmg: wtnl * qrqz
   -1  1005 rzzm: qtgh + fqjt
   -1  1006 fwmm: 3
   -1  1007 pzqc: 3
   -1  1008 sgzq: 4
   -1  1009 rnml: 2
   -1  1010 pjbc: 3
   -1  1011 fvrv: fqdr * rwvd
   -1  1012 gnwj: bwbm * hldq
   -1  1013 vqhs: rtlg * cmqp
   -1  1014 wrtc: fpfh * dwzj
   -1  1015 lvlj: 2
   -1  1016 hjrq: bjts / pgrq
   -1  1017 zfvb: 2
   -1  1018 qvmg: jrzm * nzjv
   -1  1019 hmlp: 3
   -1  1020 rvbd: mqgc - ffdl
   -1  1021 qmvc: 3
   -1  1022 svvn: 2
   -1  1023 mfnr: lnhl + shlh
   -1  1024 gfwg: 6
   -1  1025 lbnt: 3
   -1  1026 ctjp: fthl + dnqg
   -1  1027 mjqm: pzrh * jgbp
   -1  1028 znzt: mczp * dhcq
   -1  1029 hndc: 2
   -1  1030 pcmw: 2
   -1  1031 tffp: 2
   -1  1032 chdw: mdlq * nbtt
   -1  1033 dwbv: 2
   -1  1034 phwr: bsrd + lnsr
   -1  1035 zqnj: 7
   -1  1036 wnrq: 5
   -1  1037 thjj: 9
   -1  1038 mmdd: hvfn - rlmv
   -1  1039 gzsh: 1
   -1  1040 qjhb: hlpz + dvsf
   -1  1041 ljzq: lfqs / rrrr
   -1  1042 rrrr: 3
   -1  1043 dvwg: 2
   -1  1044 cdrh: 5
   -1  1045 ltfp: 3
   -1  1046 blfg: 4
   -1  1047 hjjr: 1
   -1  1048 zbcf: pnft * csjm
   -1  1049 lprs: 2
   -1  1050 zwds: 2
   -1  1051 bhcf: 11
   -1  1052 cbmr: tpzr - nqgp
   -1  1053 qlqz: 9
   -1  1054 npmv: zbcf + rllq
   -1  1055 mjjb: 2
   -1  1056 wmbw: fvgb + tmff
   -1  1057 vmnh: 5
   -1  1058 lpcl: dzmq / rswd
   -1  1059 fqjt: nfcj + jthf
   -1  1060 zttc: jpmm + ndfl
   -1  1061 sccs: 13
   -1  1062 mqjq: crfw * lnpf
   -1  1063 zlwq: 5
   -1  1064 vrwd: rqsj + qrlr
   -1  1065 pqmd: 5
   -1  1066 bgvw: 2
   -1  1067 dvts: qmqj + mjcr
   -1  1068 cphj: 2
   -1  1069 hfsp: 2
   -1  1070 tnmp: 2
   -1  1071 ncdm: gjrd / dvwg
   -1  1072 hmts: lmgq * vtml
   -1  1073 tnnq: 2
   -1  1074 ggmv: 11
   -1  1075 qzfd: 2
   -1  1076 nfqr: mwqv - lzvs
   -1  1077 qvrb: 3
   -1  1078 twgp: 4
   -1  1079 sfch: 5
   -1  1080 wqtc: 14
   -1  1081 gwmj: plmh * jhzb
   -1  1082 zncr: 20
   -1  1083 sqvt: grhf + trnq
   -1  1084 dsdh: mnhl * hvpq
   -1  1085 gvsl: 5
   -1  1086 dwns: 2
   -1  1087 psbp: jtjw + fcqj
   -1  1088 brlb: mwgd + htsg
   -1  1089 cngq: sqbq - ntqw
   -1  1090 ffdl: gzvg * hrlr
   -1  1091 lcml: grqq * szzs
   -1  1092 fvms: 12
   -1  1093 gnqq: 3
   -1  1094 hqpn: fcjq - bmdz
   -1  1095 qbrp: sppf + zhzg
   -1  1096 bzvr: 3
   -1  1097 vtlb: bnjf - wqfg
   -1  1098 gpjb: rtwh + gvsl
   -1  1099 nvlq: nrhj + tspt
   -1  1100 slbc: qcnj + jlhg
   -1  1101 ctcf: pvqr / jbpq
   -1  1102 qmzp: jgwq * rwqb
   -1  1103 twlf: 2
   -1  1104 drrh: 11
   -1  1105 hjdc: rmbj + gwnb
   -1  1106 dzcd: qscb * wzfr
   -1  1107 srdj: 2
   -1  1108 bvfj: srnm - zlcd
   -1  1109 lbbq: dljs * fhwq
   -1  1110 qfzj: 19
   -1  1111 bcgn: 3
   -1  1112 bqww: 11
   -1  1113 fhwt: 2
   -1  1114 qbqj: cprw * mnts
   -1  1115 fqdr: 2
   -1  1116 jjzf: 2
   -1  1117 zsmv: 2
   -1  1118 rdrh: 19
   -1  1119 mjcr: 4
   -1  1120 jprv: 15
   -1  1121 hwmd: 3
   -1  1122 mdqj: hmtp + qgzm
   -1  1123 snqc: 13
   -1  1124 hsps: qsfw + mwrr
   -1  1125 bvjw: 4
   -1  1126 rcvp: zflf + cjfp
   -1  1127 fmcr: qhmv / mtqt
   -1  1128 vpdp: vjnc * cmnq
   -1  1129 cnnh: 3
   -1  1130 jhpc: ztdm * pgbp
   -1  1131 tqvq: 3
   -1  1132 ntft: 2
   -1  1133 bhfr: 8
   -1  1134 vwbm: ghrf * mjvq
   -1  1135 vrgz: wclq * tchn
   -1  1136 rttq: 3
   -1  1137 zvzr: 4
   -1  1138 zjcz: vdqd * hmbl
   -1  1139 sqfl: 5
   -1  1140 sqlw: hwnt * vhzg
   -1  1141 fmhl: mdds * rzsd
   -1  1142 jwcm: 9
   -1  1143 fdbl: 2
   -1  1144 mmjw: zrvh * chcm
   -1  1145 drmd: wlpv * jdlg
   -1  1146 zslb: 1
   -1  1147 jmzn: 6
   -1  1148 vdsv: bblh + zslb
   -1  1149 vlln: 2
   -1  1150 dlfb: 2
   -1  1151 qjvt: pttt * sbhw
   -1  1152 nqjh: fjlp * nrvp
   -1  1153 wjrw: 5
   -1  1154 gvhw: 2
   -1  1155 ffvq: lflj + flwq
   -1  1156 whth: 5
   -1  1157 vsln: 3
   -1  1158 dwhj: 5
   -1  1159 pvqr: qbwf * nmsl
   -1  1160 lbhp: 3
   -1  1161 bmzl: 3
   -1  1162 cstd: fzmf + hptn
   -1  1163 qrlt: 10
   -1  1164 cfdh: zbbh * lscb
   -1  1165 wsbq: 5
   -1  1166 dhnw: mchb / phrl
   -1  1167 csgq: jtlf + jfsj
   -1  1168 vtcp: jjjz * vfgs
   -1  1169 pgns: ddtr + snmg
   -1  1170 zcws: 7
   -1  1171 tzpg: 2
   -1  1172 wnpm: cljz / pnmr
   -1  1173 szzs: 5
   -1  1174 nzdr: dgcg + nfqr
   -1  1175 wsmv: 4
   -1  1176 mjpr: 4
   -1  1177 bplt: hmhj * pvfb
   -1  1178 lsmj: jltg * ncdz
   -1  1179 vscs: 15
   -1  1180 flwq: rcvp - zbmg
   -1  1181 gvdw: 2
   -1  1182 pbnz: gzrt * qnhs
   -1  1183 lpss: dnwn * ghtw
   -1  1184 qbwf: jffr + rsvw
   -1  1185 crvc: zvzr * vjbt
   -1  1186 rsjz: hjfw - dnld
   -1  1187 plvj: mhsj * cnwf
   -1  1188 sfvb: wlbw + fqvj
   -1  1189 jsrw: zpcr * fzjm
   -1  1190 vqtp: 2
   -1  1191 jswg: 2
   -1  1192 vfgs: 7
   -1  1193 tchn: 2
   -1  1194 lpvq: 2
   -1  1195 fnhf: 3
   -1  1196 svst: 6
   -1  1197 czrq: vbzj - fnsj
   -1  1198 gldv: nnmw + mqhf
   -1  1199 qdvp: pzjd + sgrd
   -1  1200 ztht: 14
   -1  1201 zflf: dtdb * ntnv
   -1  1202 rpfs: 13
   -1  1203 pgrq: 3
   -1  1204 rqqg: 3
   -1  1205 bsrd: zjcz * bhfr
   -1  1206 zvlw: cltb + ptnc
   -1  1207 hjsm: 2
   -1  1208 jcwf: hmcp * wprd
   -1  1209 btwh: fmjj / ldml
   -1  1210 rcqs: hngp * vsmh
   -1  1211 qsfm: qtzh + lznj
   -1  1212 mlnm: 5
   -1  1213 szhb: 2
   -1  1214 mblz: hcsd - nrwh
   -1  1215 dzcg: 5
   -1  1216 ldml: 2
   -1  1217 cdwq: dsfs + lwdh
   -1  1218 wwpt: lnth + fnqh
   -1  1219 twqn: dcwg * vzcs
   -1  1220 bqcr: lnph + zfmh
   -1  1221 twqg: 2
   -1  1222 pgbp: qrfc * cpwj
   -1  1223 tpcn: svst * szhb
   -1  1224 vlsb: cmgj + rhdq
   -1  1225 pgmj: jfrh * rgjn
   -1  1226 dgcg: vzzd * ncdm
   -1  1227 dftp: 3
   -1  1228 zmtj: 2
   -1  1229 qgzn: ltjs / rnml
   -1  1230 gbpb: 17
   -1  1231 vbhr: 6
   -1  1232 dggd: hplc * nmnd
   -1  1233 twgf: 7
   -1  1234 vmvv: 4
   -1  1235 lnph: shjq * chsm
   -1  1236 dtsm: qqrt + mpbh
   -1  1237 hrdt: nmpq * mlfz
   -1  1238 flfc: lmnp + pqgs
   -1  1239 pjjt: srdj + gzwz
   -1  1240 rtlg: wcvr * szld
   -1  1241 tzhb: 2
   -1  1242 whnn: 4
   -1  1243 lttq: vwcj - sctc
   -1  1244 wbsd: lmms + jncw
   -1  1245 hstg: 1
   -1  1246 jhbm: 11
   -1  1247 pggf: wlfg * vtlb
   -1  1248 pzrh: lgts + spfn
   -1  1249 cwml: fwhd + fjlc
   -1  1250 rwmn: pzsf * bhzn
   -1  1251 qjlz: 4
   -1  1252 crqs: vbtp + vzhs
   -1  1253 vbzb: mrtg * zlwq
   -1  1254 grbq: wtvw + gtcp
   -1  1255 jgbp: qnzb + pqmd
   -1  1256 ngvr: 2
   -1  1257 gbbm: fqbh * ffnd
   -1  1258 cwdh: 2
   -1  1259 rbnf: 2
   -1  1260 rjqf: 3
   -1  1261 jmcp: 3
   -1  1262 rzsd: 2
   -1  1263 lpsw: 2
   -1  1264 crwf: gzgs - lfns
   -1  1265 jzgp: 2
   -1  1266 jjtt: pgzq * cpgg
   -1  1267 qnvv: hsrv / fhlg
   -1  1268 lnth: 4
   -1  1269 fvgc: qddh - rdcl
   -1  1270 sjht: flfc + cvng
   -1  1271 pmms: 13
   -1  1272 mmgt: crvh + ccqw
   -1  1273 vvwl: 6
   -1  1274 pfms: 3
   -1  1275 smgt: pqjw * vrjp
   -1  1276 lvws: zbbb + mmdt
   -1  1277 mvbd: 5
   -1  1278 hcdt: 11
   -1  1279 fzwg: 6
   -1  1280 rzhr: 2
   -1  1281 zdft: tvzq * hwsl
   -1  1282 vqcp: 2
   -1  1283 mtps: ljdr + nggh
   -1  1284 gtvm: 4
   -1  1285 nqjc: 2
   -1  1286 fbtr: qtlz * jjzf
   -1  1287 gbds: 2
   -1  1288 tffm: 2
   -1  1289 zsdz: znzt - rzzm
   -1  1290 dhsf: 4
   -1  1291 vvqp: bzqc + qsfm
   -1  1292 bbdc: 9
   -1  1293 fpsz: 5
   -1  1294 cpwj: 2
   -1  1295 wnrj: 2
   -1  1296 llzb: 2
   -1  1297 nbcz: nfpq - rcqs
   -1  1298 jrgp: zwlb * vpdp
   -1  1299 lfms: htbj - wsgs
   -1  1300 tnvs: 17
   -1  1301 nrnm: 2
   -1  1302 brgz: 2
   -1  1303 crqr: 2
   -1  1304 rqsj: 5
   -1  1305 lzvs: qgqf * srls
   -1  1306 hwjj: tgfr * jmch
   -1  1307 dldp: sccs + vfdc
   -1  1308 fhwq: 3
   -1  1309 pjmz: vgmc / cdbq
   -1  1310 tjnp: jggb * tlpp
   -1  1311 rmhl: 3
   -1  1312 root: lttc + pfjc
   -1  1313 cbdr: sqrp * twqn
   -1  1314 tdlt: rfnd + rbvs
   -1  1315 lbmt: 2
   -1  1316 nllw: ndpm + czqv
   -1  1317 tlvt: 5
   -1  1318 cqfn: 11
   -1  1319 qnwt: dbdt + vhgv
   -1  1320 mcmc: 3
   -1  1321 nljm: 2
   -1  1322 jvnn: cggv / zncv
   -1  1323 lqcb: 2
   -1  1324 fthl: 2
   -1  1325 pfts: 6
   -1  1326 pnfg: 3
   -1  1327 nfch: tbct / wlwz
   -1  1328 dhcq: 11
   -1  1329 hrsm: 3
   -1  1330 rcdf: vsln * mcqs
   -1  1331 lzbz: rvnt / pbsw
   -1  1332 zslj: 2
   -1  1333 wwzt: hmlp * zctp
   -1  1334 fqqv: lcbj + tcsz
   -1  1335 rlmv: qrdh - qvgl
   -1  1336 cngm: 3
   -1  1337 tbhl: 12
   -1  1338 htgn: gcsg * ltgj
   -1  1339 ctjf: 2
   -1  1340 bzlq: qvnj * pgpf
   -1  1341 pvjh: 10
   -1  1342 fvtn: mrcj + rnlc
   -1  1343 vfdc: hwlq * blmg
   -1  1344 mwrr: 2
   -1  1345 svgj: 3
   -1  1346 sjjd: 2
   -1  1347 jjcv: rmgn * jsrv
   -1  1348 cgvn: mtps * pbrf
   -1  1349 njdw: sqlw * lpsw
   -1  1350 chsm: 2
   -1  1351 qtsn: jspt + dsch
   -1  1352 lgfv: tgcj + vsbr
   -1  1353 czvs: 3
   -1  1354 nfmd: swpt + csgq
   -1  1355 rqfn: 2
   -1  1356 mbhp: sqvz * mpqr
   -1  1357 fcml: 18
   -1  1358 svzn: 4
   -1  1359 hdwn: rddw / shzr
   -1  1360 qtdh: 11
   -1  1361 mpng: vmzj + wrdt
   -1  1362 wfwt: czvs * gbpl
   -1  1363 vbzm: 5
   -1  1364 sfzw: 16
   -1  1365 zvcq: 3
   -1  1366 hmct: cbmg + nlrm
   -1  1367 wtlh: 5
   -1  1368 mrzd: zbcv * nnqs
   -1  1369 bgpc: 3
   -1  1370 fpfh: wfwd + fvjj
   -1  1371 nltf: blfg + fmgt
   -1  1372 qhrn: 1
   -1  1373 qtdw: 2
   -1  1374 ptnc: 11
   -1  1375 vnnn: 7
   -1  1376 wsgs: 5
   -1  1377 pvfb: 2
   -1  1378 snmg: qrrh * bchh
   -1  1379 jdph: 1
   -1  1380 hwgt: 3
   -1  1381 fzwh: wsbq * mlqq
   -1  1382 njsb: vhqv + zqjj
   -1  1383 dgzv: vprd * jvbp
   -1  1384 zvpv: zvlq + wqtc
   -1  1385 ztdm: cwdh * nzdr
   -1  1386 tdtw: 8
   -1  1387 rjwn: zzqt * lrpc
   -1  1388 mqnh: rbnf + twfg
   -1  1389 tspt: gvdw * mcdq
   -1  1390 pccv: 1
   -1  1391 qbzc: 5
   -1  1392 hzvv: 4
   -1  1393 fvjj: cjmg * qfvm
   -1  1394 mqqq: 6
   -1  1395 dltw: 4
   -1  1396 rfgw: 4
   -1  1397 spvs: hrbw + zttc
   -1  1398 hmhj: 3
   -1  1399 dppd: vljf * dqdh
   -1  1400 cjwb: zjlt * spnq
   -1  1401 jhrj: pwtd + lctf
   -1  1402 ggwd: 5
   -1  1403 bjqz: 9
   -1  1404 wjjp: 2
   -1  1405 slcc: ftbz * lbgt
   -1  1406 rwvd: nqdv * vlqf
   -1  1407 jmpw: mjhf * shpt
   -1  1408 wbnb: bhcf * blzm
   -1  1409 rcgr: 4
   -1  1410 wclf: mmbb - thjj
   -1  1411 dqbc: 5
   -1  1412 nvdv: mhcj * jzgp
   -1  1413 qzvv: 3
   -1  1414 wcbb: vmgz * wlfj
   -1  1415 dhvm: sdvh + hvnc
   -1  1416 jpcj: 2
   -1  1417 pttq: vwbm / lgth
   -1  1418 twqs: rqqg * qmvc
   -1  1419 hllf: 4
   -1  1420 drcd: wqqf * dmwh
   -1  1421 nqmw: rnhr + gjhb
   -1  1422 stvr: 3
   -1  1423 nmhm: szfq + hqqj
   -1  1424 ffvw: 1
   -1  1425 srls: bnjn + gstj
   -1  1426 vbcp: rjqf * rtjp
   -1  1427 hsvj: 4
   -1  1428 nwgv: lnzc * qwfb
   -1  1429 mptm: svsz / tblh
   -1  1430 rfvt: 5
   -1  1431 qsjv: 2
   -1  1432 mnfs: 8
   -1  1433 qfgw: 2
   -1  1434 twwc: bqtt * fzfp
   -1  1435 qmss: jhnd + fmnv
   -1  1436 rdcl: jpcj * mjmp
   -1  1437 jltn: 3
   -1  1438 dgpq: 20
   -1  1439 dcwb: nrnm * nqmw
   -1  1440 cqgt: qrzp + rmgz
   -1  1441 fpvv: 6
   -1  1442 mtbf: bqzs * stzn
   -1  1443 tqsh: hjjd * blth
   -1  1444 sjcv: 12
   -1  1445 ppbm: pjbc * jbpz
   -1  1446 ndbd: ttlc * wnpm
   -1  1447 cpgg: 4
   -1  1448 lrpc: mfph * crvv
   -1  1449 zrvh: 2
   -1  1450 bvcw: jcdn + rghg
   -1  1451 mjhf: 7
   -1  1452 fspc: hmsh * bcvn
   -1  1453 hdrq: rwfc / gmdc
   -1  1454 wprd: ffqp * ngvq
   -1  1455 zzvr: 18
   -1  1456 btvn: 6
   -1  1457 frvg: 1
   -1  1458 mcqs: hjrq / stsg
   -1  1459 qztz: 6
   -1  1460 tnns: tvvw * tdlt
   -1  1461 hmsh: 5
   -1  1462 cncq: rtfs * qtrc
   -1  1463 fnsj: pflw + fjsc
   -1  1464 htjg: 4
   -1  1465 lwfg: 3
   -1  1466 gffh: lqwp * qmbf
   -1  1467 jfsj: qjlt * ntrr
   -1  1468 wcqd: 2
   -1  1469 zfmh: vltz + qrnw
   -1  1470 tpzq: nltf * sjth
   -1  1471 dzmq: tpzq - wvrp
   -1  1472 lnzc: 2
   -1  1473 grdf: 3
   -1  1474 pwhl: 4
   -1  1475 wwpl: pfms + pmcw
   -1  1476 fwzl: cfdj + nmrp
   -1  1477 pvfl: 3
   -1  1478 vhpg: 2
   -1  1479 fwsm: gczn * zljd
   -1  1480 pspd: 5
   -1  1481 jfrh: qtdw * fmsf
   -1  1482 rzth: jfgd * wqmj
   -1  1483 dgdm: 4
   -1  1484 mnts: 4
   -1  1485 qhcb: jhrj / brjv
   -1  1486 hptp: 5
   -1  1487 rchj: 5
   -1  1488 lnhl: 1
   -1  1489 wftc: qhcb * lbmt
   -1  1490 shpn: 2
   -1  1491 lnpf: 2
   -1  1492 csjm: 4
   -1  1493 wlpv: 2
   -1  1494 flzn: 3
   -1  1495 fhlg: 2
   -1  1496 bqtt: 3
   -1  1497 fzfp: 3
   -1  1498 phcm: 13
   -1  1499 htbj: 16
   -1  1500 crgq: srdm * cqjh
   -1  1501 hzvb: 10
   -1  1502 pszb: 14
   -1  1503 cdhj: 2
   -1  1504 scqn: 3
   -1  1505 qscm: 20
   -1  1506 bcvn: rchj * tnnq
   -1  1507 fjch: 7
   -1  1508 rcpq: lfld * jprv
   -1  1509 dljs: 3
   -1  1510 bjpw: 4
   -1  1511 vjbt: 4
   -1  1512 wvrp: vbzb + rvvd
   -1  1513 qtrc: 2
   -1  1514 stgz: rvbd / fvgz
   -1  1515 szfq: vszt * qnwt
   -1  1516 wlfj: wjqh + fvsz
   -1  1517 dnqg: 17
   -1  1518 lnhw: mnlt * fnwt
   -1  1519 bbtv: crgq + fqnd
   -1  1520 lvqg: hwmd + cbtw
   -1  1521 cqfg: 4
   -1  1522 vljf: 2
   -1  1523 hwpm: fwrr * lnbj
   -1  1524 nhms: lhhj * qdfm
   -1  1525 fgnp: 2
   -1  1526 znwd: jltn * dwbv
   -1  1527 wlbw: 3
   -1  1528 mbbr: 2
   -1  1529 wbvh: cfcm + sfch
   -1  1530 rfpw: gwmj + gbbm
   -1  1531 vccr: gbtd * jlzn
   -1  1532 clqj: 3
   -1  1533 tbqp: wclf + blwt
   -1  1534 ffnd: 7
   -1  1535 scmv: 16
   -1  1536 ccqw: 10
   -1  1537 phrl: 3
   -1  1538 ttpq: fchp + lhlm
   -1  1539 sbhw: 11
   -1  1540 vdcn: spdb + rwmn
   -1  1541 zpjj: fspc + cspg
   -1  1542 hgpv: 3
   -1  1543 mbww: 19
   -1  1544 nnfg: ldqd + bmgz
   -1  1545 hmpm: fqwm + mglr
   -1  1546 ljdh: jjbl * mrdw
   -1  1547 vzcs: pgcj + jnfl
   -1  1548 qhhf: 3
   -1  1549 zrqg: 17
   -1  1550 fmnv: 13
   -1  1551 zbql: 8
   -1  1552 gzhg: rwlv * tpfc
   -1  1553 fgcj: qhpj + zcws
   -1  1554 fqnd: 3
   -1  1555 gwqr: nrmt + fpmb
   -1  1556 fcjq: zmwm * cdhj
   -1  1557 shsj: 3
   -1  1558 mjfv: brgq + ssbp
   -1  1559 btrz: 3
   -1  1560 zljd: 2
   -1  1561 vtzj: pfjz * sqcd
   -1  1562 sqvz: 2
   -1  1563 tjtp: bvdh / vttn
   -1  1564 wbds: blvm * rfgw
   -1  1565 qvqr: lbnt * nqbp
   -1  1566 ddzh: 15
   -1  1567 wmjh: rzjf / jjrr
   -1  1568 hwnt: vlsb / ctjf
   -1  1569 clhq: svvn + dfqf
   -1  1570 cddz: 2
   -1  1571 nfcj: jmpr + cbcm
   -1  1572 mgbs: bwzt * grdf
   -1  1573 hpff: mldh * vrcf
   -1  1574 jbmg: 2
   -1  1575 mldh: drrh + tdfd
   -1  1576 ddnp: 3
   -1  1577 zsmc: dhsf * mgfz
   -1  1578 httf: 2
   -1  1579 wmpt: mvts * jwrs
   -1  1580 grhf: ggnm / brvq
   -1  1581 hvfn: fbfn * pjmz
   -1  1582 tcpr: flfw * ntsq
   -1  1583 jjfm: 2
   -1  1584 mmdt: wgzj / httf
   -1  1585 hzlz: 2
   -1  1586 hjqd: 2
   -1  1587 qtqw: 2
   -1  1588 jzbl: wwbc / ntft
   -1  1589 wzmf: wdjg / hfsp
   -1  1590 fpvz: 5
   -1  1591 gzlz: 2
   -1  1592 bcrw: pbnz + fvms
   -1  1593 jtlf: thwp * cqct
   -1  1594 fzjm: mgwn * qtcr
   -1  1595 rwqb: fldd * tjht
   -1  1596 lzvf: 2
   -1  1597 cdjz: 2
   -1  1598 whjn: 2
   -1  1599 trzg: jmcp + qmgs
   -1  1600 nrhj: 3
   -1  1601 spfn: 4
   -1  1602 gnbt: rzhr * gnzt
   -1  1603 wcvr: 5
   -1  1604 dpdg: cbmr * jzlj
   -1  1605 qcnj: qbqw - tdsq
   -1  1606 lfpg: zlld * mdhv
   -1  1607 tpcz: 3
   -1  1608 nmnd: 9
   -1  1609 cfcm: zcgs * wdbn
   -1  1610 mrmw: 13
   -1  1611 rlwt: snll * btwh
   -1  1612 tzts: 1
   -1  1613 cpqf: 4
   -1  1614 cqjh: 4
   -1  1615 vmzj: jhhb * qscm
   -1  1616 hzzh: 2
   -1  1617 gljm: 2
   -1  1618 vrgf: sgrh * hlqd
   -1  1619 pnvm: rzbj + rglh
   -1  1620 twfg: 19
   -1  1621 sggz: 4
   -1  1622 fjsc: 3
   -1  1623 gfwn: 2
   -1  1624 qvgl: bgvd * qzdb
   -1  1625 qtgh: 1
   -1  1626 zglr: 6
   -1  1627 sswv: 2
   -1  1628 ngvq: 10
   -1  1629 qgzm: 7
   -1  1630 mvjc: cqgt / btrz
   -1  1631 jsrv: tjnp / tffp
   -1  1632 mlqq: 5
   -1  1633 crvv: 2
   -1  1634 ttnp: 16
   -1  1635 bddb: 19
   -1  1636 mjtd: 2
   -1  1637 hjcf: 2
   -1  1638 lqvd: 1
   -1  1639 nhrz: 3
   -1  1640 qdvm: 1
   -1  1641 lfqs: crvb * pwqd
   -1  1642 dfhm: nvdv + dgpq
   -1  1643 rznq: sswv * cpvp
   -1  1644 tjwg: zchm + flzl
   -1  1645 qvnj: 2
   -1  1646 vrjp: 3
   -1  1647 fqvj: hpff / rwgz
   -1  1648 vjnw: 2
   -1  1649 qljp: 6
   -1  1650 mgfz: 3
   -1  1651 mbwb: 1
   -1  1652 dhlh: wsqq * hjcf
   -1  1653 dzmb: 3
   -1  1654 pgfg: cqrt + dsjj
   -1  1655 vdmb: 2
   -1  1656 thwp: 3
   -1  1657 fmgt: 4
   -1  1658 gpwn: wfqw * btvn
   -1  1659 mzpr: 2
   -1  1660 zqnb: tnvm + tlwh
   -1  1661 ghtw: 2
   -1  1662 bwzt: 9
   -1  1663 bszt: 4
   -1  1664 mrtg: hsdh + hrnm
   -1  1665 vhzq: 3
   -1  1666 jjfd: 2
   -1  1667 lhbz: 5
   -1  1668 vfds: 4
   -1  1669 tldl: tnpb + npmv
   -1  1670 mhjv: 7
   -1  1671 lrbl: 4
   -1  1672 fmsf: tfrq - wjjp
   -1  1673 rzjf: fvrv / pjgv
   -1  1674 ctjw: 3
   -1  1675 lgth: 6
   -1  1676 hwvg: 3
   -1  1677 hvdn: 5
   -1  1678 vtwr: 11
   -1  1679 wwbc: scwt / cdrh
   -1  1680 zpcr: 4
   -1  1681 nggh: cpnn * mjtd
   -1  1682 lhnd: stqg + jbwl
   -1  1683 gmtv: 2
   -1  1684 mjmp: vbrd * mfvb
   -1  1685 wfqw: 2
   -1  1686 tvzq: 2
   -1  1687 grqq: 3
   -1  1688 rfnd: 2
   -1  1689 jbwl: llzb * qtcp
   -1  1690 dbdt: nshq + mmwr
   -1  1691 jbtl: 4
   -1  1692 hplb: 18
   -1  1693 nqfq: 1
   -1  1694 ljzd: 5
   -1  1695 bszf: 9
   -1  1696 ndfp: hmpm + pnwf
   -1  1697 crcm: jhbm * vblp
   -1  1698 nmgl: 17
   -1  1699 sdvh: dlfb * vgwf
   -1  1700 wfwd: 3
   -1  1701 rsth: srhw * lzdc
   -1  1702 rljc: tgdj + gbds
   -1  1703 vgjv: nbcz / gzbs
   -1  1704 hvpq: qqmt + rmtc
   -1  1705 pgph: bbwt * jtpb
   -1  1706 fvsz: 2
   -1  1707 hmbf: mbtf - jzbl
   -1  1708 smhj: vmvv * mwql
   -1  1709 tdrl: 3
   -1  1710 lrmr: mqjq + mjqm
   -1  1711 vsbr: 1
   -1  1712 nqlj: 2
   -1  1713 lthv: 2
   -1  1714 vzzd: 3
   -1  1715 rmnq: 3
   -1  1716 bffv: 4
   -1  1717 zbbj: rmhl * qmjg
   -1  1718 vcsv: bvjw * mvhl
   -1  1719 nbqq: ghth + rhcl
   -1  1720 shtt: mvbd * vdfp
   -1  1721 vfcb: 2
   -1  1722 hsgt: vwpb + fqqv
   -1  1723 mrcj: 14
   -1  1724 wcgr: 4
   -1  1725 hnwz: jmrn + hshw
   -1  1726 tfrq: 18
   -1  1727 hptn: 1
   -1  1728 rwfc: nwzp * jgmz
   -1  1729 vbzj: bcdr * vtwr
   -1  1730 fqww: wftc + rdrh
   -1  1731 bcdr: gqrj + djln
   -1  1732 jppc: rpdc * jdzg
   -1  1733 fwrr: 2
   -1  1734 jmdg: mgdm * lnqs
   -1  1735 clrb: wlfh * gpjb
   -1  1736 mwqv: pbbr * bvcw
   -1  1737 mdhv: 6
   -1  1738 vqtg: 3
   -1  1739 jggb: hwpm / wcgr
   -1  1740 sqrp: jhbz * ngvh
   -1  1741 sgrh: slvn + qchc
   -1  1742 sctc: frwl * sgmb
   -1  1743 dfbv: 13
   -1  1744 bmpq: lzbz * szlq
   -1  1745 gjhb: fwbj - mnfs
   -1  1746 jljb: zqnj * gwmv
   -1  1747 tjht: 7
   -1  1748 humn: 1200
   -1  1749 nmsl: 2
   -1  1750 wqfg: 1
   -1  1751 lwdh: 1
   -1  1752 pwtd: jgvf * qtfg
   -1  1753 nfgp: 5
   -1  1754 vtml: 3
   -1  1755 mtgb: bbjr * mqqq
   -1  1756 npvz: fcml + gzpn
   -1  1757 hjbh: 2
   -1  1758 gzpn: bfgf * cqfl
   -1  1759 tsbw: fvtn + zbbj
   -1  1760 mmtl: vbhr * twqs
   -1  1761 zbdj: 2
   -1  1762 vscz: 5
   -1  1763 htng: srsw * lhbz
   -1  1764 rtqd: fcrz * mtvg
   -1  1765 jgmz: lwrl * ltgt
   -1  1766 lnbj: 14
   -1  1767 jbpq: 2
   -1  1768 tlrt: hmct * tdrl
   -1  1769 gfgz: twdh / cvbt
   -1  1770 vprd: vzph * mjjs
   -1  1771 psgw: 3
   -1  1772 qfmb: tbqp - sdcc
   -1  1773 qgqf: 2
   -1  1774 hwqh: 5
   -1  1775 ljwr: 4
   -1  1776 znqn: frvg + vfsj
   -1  1777 spdb: qvqr + cncq
   -1  1778 vthl: bqhh + nfrh
   -1  1779 qtcr: 2
   -1  1780 shpt: 5
   -1  1781 hmtp: 2
   -1  1782 wlfh: 2
   -1  1783 sgrd: 5
   -1  1784 nlvd: 2
   -1  1785 qfvm: 2
   -1  1786 cpvp: dlcm + dzcd
   -1  1787 vsmh: dvts + nzgg
   -1  1788 bvdh: hvvj + rmtr
   -1  1789 vbbw: cfdh * gqcn
   -1  1790 trnq: wtmf + nqjh
   -1  1791 rmtr: mvjc * jmfr
   -1  1792 dhjc: 4
   -1  1793 wncr: 2
   -1  1794 cbmg: qvrb * qhbw
   -1  1795 pbbr: 5
   -1  1796 gjdg: 4
   -1  1797 cbtw: shgb * tmvf
   -1  1798 crvb: nfgp + rjzj
   -1  1799 qfbs: qmvp * ndfp
   -1  1800 blwt: 17
   -1  1801 rtlq: 3
   -1  1802 szld: pglh * dfwc
   -1  1803 rbcr: csbd - ffvq
   -1  1804 znlz: 12
   -1  1805 ndpm: 5
   -1  1806 crvh: ptdc * pnvr
   -1  1807 nhvr: cngm * rzdc
   -1  1808 rbql: vbrz / dwbc
   -1  1809 gfdq: fvpg * pgfg
   -1  1810 jcfb: vtrd * mpng
   -1  1811 rjjc: 4
   -1  1812 jmpr: pndh + nqfq
   -1  1813 flhq: 3
   -1  1814 zqnd: hwjj * nwlg
   -1  1815 tmtt: rpfs + ddzh
   -1  1816 qhrc: 2
   -1  1817 rpjs: hsvj * ctcf
   -1  1818 pjqb: zncr * crvc
   -1  1819 tgdj: cghj * mmts
   -1  1820 hcmp: 4
   -1  1821 lgnw: mbwb + nwgv
   -1  1822 fdhh: 5
   -1  1823 gnpm: qfrn * rqfn
   -1  1824 vbrd: 4
   -1  1825 ghbn: vrpl * vbsz
   -1  1826 pwqd: 3
   -1  1827 jhhb: rvls - mmdd
   -1  1828 dpfh: 6
   -1  1829 ltgt: 5
   -1  1830 tcsz: 15
   -1  1831 hvnc: 15
   -1  1832 drgc: dgzv + jnlt
   -1  1833 fwbj: pcmw + zhft
   -1  1834 vmgz: gnbt / whjn
   -1  1835 gtcp: clqj * pmqd
   -1  1836 gzvg: 3
   -1  1837 hsrv: hbjd * glfb
   -1  1838 hhwf: 13
   -1  1839 gwnb: 2
   -1  1840 nqdv: tnns + ghbn
   -1  1841 pbsw: 2
   -1  1842 rzcg: 5
   -1  1843 bvcz: 8
   -1  1844 zlld: 2
   -1  1845 mhsj: 5
   -1  1846 cssz: rsph * fgpf
   -1  1847 jdlg: jmzn + fdhh
   -1  1848 tsgb: nhrz * dlth
   -1  1849 dltm: 1
   -1  1850 mshb: 3
   -1  1851 gzwz: hdrq + nmgl
   -1  1852 lwrl: 2
   -1  1853 jlzn: nlvd * gldv
   -1  1854 rbtr: drmd - flhq
   -1  1855 pzgs: 7
   -1  1856 vbrz: mfnr * jswg
   -1  1857 gmvl: dhdg * gpwn
   -1  1858 hzcm: vjnw * rmnq
   -1  1859 gbrj: 3
   -1  1860 gwmv: 3
   -1  1861 fgzr: 9
   -1  1862 dcwg: 2
   -1  1863 rvnt: jvdj + fvfh
   -1  1864 vhgv: tcnm + hcmp
   -1  1865 vszc: 14
   -1  1866 qgrr: rzfg - wbds
   -1  1867 zbbh: 2
   -1  1868 bbjp: gnqq + bgpc
   -1  1869 vdgd: 4
   -1  1870 rghg: 1
   -1  1871 hcrf: 7
   -1  1872 rgnq: 8
   -1  1873 grcq: 2
   -1  1874 phft: 2
   -1  1875 qhnt: 5
   -1  1876 mrdw: 3
   -1  1877 qhjp: 5
   -1  1878 blcv: 2
   -1  1879 hsdh: hstg + hzcm
   -1  1880 scwt: dsmb * dnwh
   -1  1881 pnmr: 2
   -1  1882 dsmb: lpvq * zcfs
   -1  1883 cmqp: lttq + fdcp
   -1  1884 zbmg: sggz * ggwd
   -1  1885 dqfv: 2
   -1  1886 lvgb: tlmm * zfvb
   -1  1887 rhcl: 6
   -1  1888 ttlc: 2
   -1  1889 mprw: 2
   -1  1890 gmdc: 2
   -1  1891 lqpn: 5
   -1  1892 wqmj: zvcq * svgj
   -1  1893 ntrr: 14
   -1  1894 lfwd: wvbj * vdmb
   -1  1895 fdcp: rtlq * bgdg
   -1  1896 rwlv: sjht + csqw
   -1  1897 mtqt: 6

diff --git a/2022/21/solution.rs b/2022/21/solution.rs

@@ -0,0 +1,179 @@
   -1     1 use std::collections::HashMap;
   -1     2 
   -1     3 #[path = "../lib.rs"] mod lib;
   -1     4 
   -1     5 enum Monkey {
   -1     6     Number(i64),
   -1     7     Add(String, String),
   -1     8     Sub(String, String),
   -1     9     Mul(String, String),
   -1    10     Div(String, String),
   -1    11 }
   -1    12 
   -1    13 enum Calc {
   -1    14     Number(i64),
   -1    15     Add(Box<Calc>, Box<Calc>),
   -1    16     Sub(Box<Calc>, Box<Calc>),
   -1    17     Mul(Box<Calc>, Box<Calc>),
   -1    18     Div(Box<Calc>, Box<Calc>),
   -1    19     Var,
   -1    20 }
   -1    21 
   -1    22 fn get_monkeys() -> HashMap<String, Monkey> {
   -1    23     let mut monkeys = HashMap::new();
   -1    24 
   -1    25     for line in lib::iter_input() {
   -1    26         match line.split(" ").collect::<Vec<&str>>()[..] {
   -1    27             [name, value] => {
   -1    28                 monkeys.insert(
   -1    29                     name.strip_suffix(":").unwrap().to_string(),
   -1    30                     Monkey::Number(value.parse().unwrap()),
   -1    31                 );
   -1    32             },
   -1    33             [name, a, "+", b] => {
   -1    34                 monkeys.insert(
   -1    35                     name.strip_suffix(":").unwrap().to_string(),
   -1    36                     Monkey::Add(a.to_string(), b.to_string()),
   -1    37                 );
   -1    38             },
   -1    39             [name, a, "-", b] => {
   -1    40                 monkeys.insert(
   -1    41                     name.strip_suffix(":").unwrap().to_string(),
   -1    42                     Monkey::Sub(a.to_string(), b.to_string()),
   -1    43                 );
   -1    44             },
   -1    45             [name, a, "*", b] => {
   -1    46                 monkeys.insert(
   -1    47                     name.strip_suffix(":").unwrap().to_string(),
   -1    48                     Monkey::Mul(a.to_string(), b.to_string()),
   -1    49                 );
   -1    50             },
   -1    51             [name, a, "/", b] => {
   -1    52                 monkeys.insert(
   -1    53                     name.strip_suffix(":").unwrap().to_string(),
   -1    54                     Monkey::Div(a.to_string(), b.to_string()),
   -1    55                 );
   -1    56             },
   -1    57             _ => unreachable!(),
   -1    58         }
   -1    59     }
   -1    60 
   -1    61     return monkeys;
   -1    62 }
   -1    63 
   -1    64 fn calc(monkeys: &HashMap<String, Monkey>, name: &String, var: &str) -> Calc {
   -1    65     // in my data, each name is only used once, so there is no point in caching
   -1    66 
   -1    67     if name == var {
   -1    68         return Calc::Var;
   -1    69     }
   -1    70 
   -1    71     return match monkeys.get(name).unwrap() {
   -1    72         Monkey::Number(value) => Calc::Number(*value),
   -1    73         Monkey::Add(a, b) => match (calc(monkeys, a, var), calc(monkeys, b, var)) {
   -1    74             (Calc::Number(va), Calc::Number(vb)) => Calc::Number(va + vb),
   -1    75             (ca, cb) => Calc::Add(Box::new(ca), Box::new(cb)),
   -1    76         },
   -1    77         Monkey::Sub(a, b) => match (calc(monkeys, a, var), calc(monkeys, b, var)) {
   -1    78             (Calc::Number(va), Calc::Number(vb)) => Calc::Number(va - vb),
   -1    79             (ca, cb) => Calc::Sub(Box::new(ca), Box::new(cb)),
   -1    80         },
   -1    81         Monkey::Mul(a, b) => match (calc(monkeys, a, var), calc(monkeys, b, var)) {
   -1    82             (Calc::Number(va), Calc::Number(vb)) => Calc::Number(va * vb),
   -1    83             (ca, cb) => Calc::Mul(Box::new(ca), Box::new(cb)),
   -1    84         },
   -1    85         Monkey::Div(a, b) => match (calc(monkeys, a, var), calc(monkeys, b, var)) {
   -1    86             (Calc::Number(va), Calc::Number(vb)) => Calc::Number(va / vb),
   -1    87             (ca, cb) => Calc::Div(Box::new(ca), Box::new(cb)),
   -1    88         },
   -1    89     };
   -1    90 }
   -1    91 
   -1    92 fn solve(value: i64, calc: Calc) -> i64 {
   -1    93     let mut var = value;
   -1    94     let mut rest = calc;
   -1    95 
   -1    96     loop {
   -1    97         match rest {
   -1    98             Calc::Add(left, right) => {
   -1    99                 match (*left, *right) {
   -1   100                     (Calc::Number(l), r) => {
   -1   101                         var -= l;
   -1   102                         rest = r;
   -1   103                     },
   -1   104                     (l, Calc::Number(r)) => {
   -1   105                         var -= r;
   -1   106                         rest = l;
   -1   107                     },
   -1   108                     _ => unreachable!(),
   -1   109                 }
   -1   110             },
   -1   111             Calc::Sub(left, right) => {
   -1   112                 match (*left, *right) {
   -1   113                     (Calc::Number(l), r) => {
   -1   114                         var = l - var;
   -1   115                         rest = r;
   -1   116                     },
   -1   117                     (l, Calc::Number(r)) => {
   -1   118                         var += r;
   -1   119                         rest = l;
   -1   120                     },
   -1   121                     _ => unreachable!(),
   -1   122                 }
   -1   123             },
   -1   124             Calc::Mul(left, right) => {
   -1   125                 match (*left, *right) {
   -1   126                     (Calc::Number(l), r) => {
   -1   127                         var /= l;
   -1   128                         rest = r;
   -1   129                     },
   -1   130                     (l, Calc::Number(r)) => {
   -1   131                         var /= r;
   -1   132                         rest = l;
   -1   133                     },
   -1   134                     _ => unreachable!(),
   -1   135                 }
   -1   136             },
   -1   137             Calc::Div(left, right) => {
   -1   138                 match (*left, *right) {
   -1   139                     (Calc::Number(l), r) => {
   -1   140                         var = l / var;
   -1   141                         rest = r;
   -1   142                     },
   -1   143                     (l, Calc::Number(r)) => {
   -1   144                         var *= r;
   -1   145                         rest = l;
   -1   146                     },
   -1   147                     _ => unreachable!(),
   -1   148                 }
   -1   149             },
   -1   150             Calc::Number(_) => unreachable!(),
   -1   151             Calc::Var => {
   -1   152                 return var;
   -1   153             },
   -1   154         }
   -1   155     }
   -1   156 }
   -1   157 
   -1   158 fn main() {
   -1   159     let monkeys = get_monkeys();
   -1   160 
   -1   161     match calc(&monkeys, &"root".to_string(), "") {
   -1   162         Calc::Number(i) => println!("part1: {}", i),
   -1   163         _ => unreachable!(),
   -1   164     }
   -1   165 
   -1   166     let (left, right) = match calc(&monkeys, &"root".to_string(), "humn") {
   -1   167         Calc::Add(left, right) => (left, right),
   -1   168         Calc::Sub(left, right) => (left, right),
   -1   169         Calc::Mul(left, right) => (left, right),
   -1   170         Calc::Div(left, right) => (left, right),
   -1   171         _ => unreachable!(),
   -1   172     };
   -1   173     let (value, calc) = match (*left, *right) {
   -1   174         (Calc::Number(value), calc) => (value, calc),
   -1   175         (calc, Calc::Number(value)) => (value, calc),
   -1   176         _ => unreachable!(),
   -1   177     };
   -1   178     println!("part2: {}", solve(value, calc));
   -1   179 }

diff --git a/2022/21/test.txt b/2022/21/test.txt

@@ -0,0 +1,15 @@
   -1     1 root: pppw + sjmn
   -1     2 dbpl: 5
   -1     3 cczh: sllz + lgvd
   -1     4 zczc: 2
   -1     5 ptdq: humn - dvpt
   -1     6 dvpt: 3
   -1     7 lfqf: 4
   -1     8 humn: 5
   -1     9 ljgn: 2
   -1    10 sjmn: drzm * dbpl
   -1    11 sllz: 4
   -1    12 pppw: cczh / lfqf
   -1    13 lgvd: ljgn * ptdq
   -1    14 drzm: hmdt - zczc
   -1    15 hmdt: 32