adventofcode

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

commit
f975cb42d3b3c86c9b38d1392279829210be58a5
parent
a0d04240db61719b6fffe6c6d259a2d7c2ce1205
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2022-12-07 17:40
2022-12-07

Diffstat

A 2022/07/input.txt 1102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2022/07/part1.rs 37 +++++++++++++++++++++++++++++++++++++
A 2022/07/test.txt 23 +++++++++++++++++++++++

3 files changed, 1162 insertions, 0 deletions


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

@@ -0,0 +1,1102 @@
   -1     1 $ cd /
   -1     2 $ ls
   -1     3 dir ddgtnw
   -1     4 dir dtmbp
   -1     5 dir dzbfsf
   -1     6 dir fwrlqs
   -1     7 305959 jjq.hjd
   -1     8 dir qjnnw
   -1     9 $ cd ddgtnw
   -1    10 $ ls
   -1    11 dir gftgshl
   -1    12 dir grct
   -1    13 57336 tbqpqfgd.wvz
   -1    14 267191 vqms
   -1    15 dir wtgzgmvr
   -1    16 $ cd gftgshl
   -1    17 $ ls
   -1    18 dir mtshhn
   -1    19 dir smnslwd
   -1    20 dir znbs
   -1    21 $ cd mtshhn
   -1    22 $ ls
   -1    23 244930 fsclsm
   -1    24 197930 vnnf
   -1    25 $ cd ..
   -1    26 $ cd smnslwd
   -1    27 $ ls
   -1    28 205127 dbtvp.mbr
   -1    29 dir grct
   -1    30 270601 hcjtjptg
   -1    31 146538 lsqvg.zmm
   -1    32 310443 vnnf
   -1    33 84541 vqms
   -1    34 $ cd grct
   -1    35 $ ls
   -1    36 20977 jjq.hjd
   -1    37 $ cd ..
   -1    38 $ cd ..
   -1    39 $ cd znbs
   -1    40 $ ls
   -1    41 192316 pjrpqc.gwh
   -1    42 5233 tnqpmbjf.prg
   -1    43 $ cd ..
   -1    44 $ cd ..
   -1    45 $ cd grct
   -1    46 $ ls
   -1    47 297156 qzlmfj.lhc
   -1    48 104088 vnnf
   -1    49 $ cd ..
   -1    50 $ cd wtgzgmvr
   -1    51 $ ls
   -1    52 dir cfvjph
   -1    53 dir jzdqctm
   -1    54 153202 slcz
   -1    55 $ cd cfvjph
   -1    56 $ ls
   -1    57 201215 tlms
   -1    58 $ cd ..
   -1    59 $ cd jzdqctm
   -1    60 $ ls
   -1    61 dir hnbjcm
   -1    62 112648 jjq.hjd
   -1    63 319899 lhzjrmsd
   -1    64 118481 pclps
   -1    65 226538 pfnmnm
   -1    66 dir vdzsn
   -1    67 148960 wmvd
   -1    68 dir zvh
   -1    69 $ cd hnbjcm
   -1    70 $ ls
   -1    71 147907 ddgtnw.tpg
   -1    72 dir hgh
   -1    73 107668 qjpfhmw.gts
   -1    74 dir qvnbfdq
   -1    75 dir tlms
   -1    76 dir wlvg
   -1    77 $ cd hgh
   -1    78 $ ls
   -1    79 64701 smnslwd.hnd
   -1    80 $ cd ..
   -1    81 $ cd qvnbfdq
   -1    82 $ ls
   -1    83 36206 dzbfsf.qsr
   -1    84 dir dzfpqb
   -1    85 dir rvdlmnqv
   -1    86 13989 tlms.jgl
   -1    87 145493 vqms
   -1    88 $ cd dzfpqb
   -1    89 $ ls
   -1    90 259317 dzbfsf.mwc
   -1    91 36195 rtgrs.hff
   -1    92 $ cd ..
   -1    93 $ cd rvdlmnqv
   -1    94 $ ls
   -1    95 dir smnslwd
   -1    96 $ cd smnslwd
   -1    97 $ ls
   -1    98 141659 gflcq
   -1    99 315323 mwszdwvg
   -1   100 $ cd ..
   -1   101 $ cd ..
   -1   102 $ cd ..
   -1   103 $ cd tlms
   -1   104 $ ls
   -1   105 263149 gwws.zcb
   -1   106 $ cd ..
   -1   107 $ cd wlvg
   -1   108 $ ls
   -1   109 42151 vqms
   -1   110 $ cd ..
   -1   111 $ cd ..
   -1   112 $ cd vdzsn
   -1   113 $ ls
   -1   114 301547 smnslwd.hzc
   -1   115 $ cd ..
   -1   116 $ cd zvh
   -1   117 $ ls
   -1   118 111901 bsnmdtzq.mjp
   -1   119 $ cd ..
   -1   120 $ cd ..
   -1   121 $ cd ..
   -1   122 $ cd ..
   -1   123 $ cd dtmbp
   -1   124 $ ls
   -1   125 dir cscpfcjv
   -1   126 dir hdjs
   -1   127 dir jcrb
   -1   128 dir spmc
   -1   129 dir spwsfpww
   -1   130 $ cd cscpfcjv
   -1   131 $ ls
   -1   132 260848 qzcffqvp
   -1   133 $ cd ..
   -1   134 $ cd hdjs
   -1   135 $ ls
   -1   136 dir tlms
   -1   137 $ cd tlms
   -1   138 $ ls
   -1   139 174135 fwpwgz
   -1   140 $ cd ..
   -1   141 $ cd ..
   -1   142 $ cd jcrb
   -1   143 $ ls
   -1   144 77666 nqtvhszf
   -1   145 198488 smnslwd
   -1   146 40032 vnnf
   -1   147 $ cd ..
   -1   148 $ cd spmc
   -1   149 $ ls
   -1   150 dir hhwzwqzq
   -1   151 319757 hlgvsbg
   -1   152 dir jbrftqj
   -1   153 $ cd hhwzwqzq
   -1   154 $ ls
   -1   155 43088 mrlnrp.nqs
   -1   156 206555 vnnf
   -1   157 $ cd ..
   -1   158 $ cd jbrftqj
   -1   159 $ ls
   -1   160 296407 flb
   -1   161 315927 fnbvwh.lcf
   -1   162 $ cd ..
   -1   163 $ cd ..
   -1   164 $ cd spwsfpww
   -1   165 $ ls
   -1   166 dir ddgtnw
   -1   167 dir hzb
   -1   168 dir smnslwd
   -1   169 74678 smnslwd.crg
   -1   170 130878 tlms
   -1   171 239208 tlms.hjr
   -1   172 $ cd ddgtnw
   -1   173 $ ls
   -1   174 133732 gqddds
   -1   175 dir grct
   -1   176 240907 lslgfrm.fct
   -1   177 64110 rtgrs.hff
   -1   178 dir tlms
   -1   179 275504 zvwjph.svd
   -1   180 $ cd grct
   -1   181 $ ls
   -1   182 18055 fvnm
   -1   183 $ cd ..
   -1   184 $ cd tlms
   -1   185 $ ls
   -1   186 54154 vqms
   -1   187 $ cd ..
   -1   188 $ cd ..
   -1   189 $ cd hzb
   -1   190 $ ls
   -1   191 178568 hmdszw
   -1   192 132701 pzsfzr.zqz
   -1   193 dir smnslwd
   -1   194 $ cd smnslwd
   -1   195 $ ls
   -1   196 286526 dtcrb.tzw
   -1   197 214568 smnslwd
   -1   198 $ cd ..
   -1   199 $ cd ..
   -1   200 $ cd smnslwd
   -1   201 $ ls
   -1   202 118657 ccmmrv.wgs
   -1   203 $ cd ..
   -1   204 $ cd ..
   -1   205 $ cd ..
   -1   206 $ cd dzbfsf
   -1   207 $ ls
   -1   208 30773 grct.lbw
   -1   209 dir jttqnbvn
   -1   210 188768 pmdjrf.nqc
   -1   211 dir ptbps
   -1   212 dir tllwm
   -1   213 176302 vqms
   -1   214 $ cd jttqnbvn
   -1   215 $ ls
   -1   216 9663 jjq.hjd
   -1   217 $ cd ..
   -1   218 $ cd ptbps
   -1   219 $ ls
   -1   220 132576 jzfs.hpq
   -1   221 dir pwclsbw
   -1   222 $ cd pwclsbw
   -1   223 $ ls
   -1   224 dir dzbfsf
   -1   225 $ cd dzbfsf
   -1   226 $ ls
   -1   227 157147 smnslwd.jcg
   -1   228 $ cd ..
   -1   229 $ cd ..
   -1   230 $ cd ..
   -1   231 $ cd tllwm
   -1   232 $ ls
   -1   233 dir pcbgr
   -1   234 dir smnslwd
   -1   235 dir svc
   -1   236 $ cd pcbgr
   -1   237 $ ls
   -1   238 dir grct
   -1   239 65990 gvlc.ptr
   -1   240 dir jtqg
   -1   241 108430 pljrmjb.hld
   -1   242 dir smtbvvpn
   -1   243 dir vqjdpt
   -1   244 130683 vqms
   -1   245 $ cd grct
   -1   246 $ ls
   -1   247 155740 hcstcmpz
   -1   248 156312 rtgrs.hff
   -1   249 317800 vnnf
   -1   250 $ cd ..
   -1   251 $ cd jtqg
   -1   252 $ ls
   -1   253 151962 rtgrs.hff
   -1   254 181794 vwzsf
   -1   255 $ cd ..
   -1   256 $ cd smtbvvpn
   -1   257 $ ls
   -1   258 272000 fgqp.mhf
   -1   259 dir mqgzwzn
   -1   260 dir mspltflh
   -1   261 dir smnslwd
   -1   262 21242 vnnf
   -1   263 dir vzjfv
   -1   264 dir wnbtllq
   -1   265 $ cd mqgzwzn
   -1   266 $ ls
   -1   267 dir rhp
   -1   268 $ cd rhp
   -1   269 $ ls
   -1   270 297744 jjq.hjd
   -1   271 $ cd ..
   -1   272 $ cd ..
   -1   273 $ cd mspltflh
   -1   274 $ ls
   -1   275 32927 rlwp.phz
   -1   276 109360 vlpzz
   -1   277 $ cd ..
   -1   278 $ cd smnslwd
   -1   279 $ ls
   -1   280 172760 vqjgbzd.glg
   -1   281 $ cd ..
   -1   282 $ cd vzjfv
   -1   283 $ ls
   -1   284 dir dcrlnllf
   -1   285 dir ddgtnw
   -1   286 dir pjhnl
   -1   287 dir twfpbs
   -1   288 $ cd dcrlnllf
   -1   289 $ ls
   -1   290 19043 thrvjqmj.smd
   -1   291 $ cd ..
   -1   292 $ cd ddgtnw
   -1   293 $ ls
   -1   294 301193 fdh.pls
   -1   295 $ cd ..
   -1   296 $ cd pjhnl
   -1   297 $ ls
   -1   298 305148 dqfwn.zhg
   -1   299 dir dzbfsf
   -1   300 34622 smnslwd.nzj
   -1   301 $ cd dzbfsf
   -1   302 $ ls
   -1   303 227330 bdmbnm.zpl
   -1   304 232365 cfmhqlhp.qvj
   -1   305 $ cd ..
   -1   306 $ cd ..
   -1   307 $ cd twfpbs
   -1   308 $ ls
   -1   309 dir rfn
   -1   310 dir vdr
   -1   311 $ cd rfn
   -1   312 $ ls
   -1   313 72138 grct
   -1   314 $ cd ..
   -1   315 $ cd vdr
   -1   316 $ ls
   -1   317 19296 vqms
   -1   318 $ cd ..
   -1   319 $ cd ..
   -1   320 $ cd ..
   -1   321 $ cd wnbtllq
   -1   322 $ ls
   -1   323 283471 grct.vmq
   -1   324 285265 sqqj
   -1   325 248581 trgqdwsc.zjc
   -1   326 $ cd ..
   -1   327 $ cd ..
   -1   328 $ cd vqjdpt
   -1   329 $ ls
   -1   330 271132 hprsbjzw.lnr
   -1   331 $ cd ..
   -1   332 $ cd ..
   -1   333 $ cd smnslwd
   -1   334 $ ls
   -1   335 4812 bcg.vwj
   -1   336 dir ddgtnw
   -1   337 30986 pwl.frb
   -1   338 dir tlms
   -1   339 dir vrwwh
   -1   340 dir wwbdc
   -1   341 304408 wwvvhr
   -1   342 $ cd ddgtnw
   -1   343 $ ls
   -1   344 303604 fsclsm
   -1   345 71614 jlpzljjl.vzw
   -1   346 110905 mzlj.qjz
   -1   347 56751 pnhjdbnt
   -1   348 $ cd ..
   -1   349 $ cd tlms
   -1   350 $ ls
   -1   351 36089 bpnhvpdf.spq
   -1   352 dir ddgtnw
   -1   353 dir grct
   -1   354 97469 jjq.hjd
   -1   355 dir jlz
   -1   356 dir nhvvs
   -1   357 dir ptzptl
   -1   358 dir rsqtp
   -1   359 dir sgbnjmwq
   -1   360 dir smnslwd
   -1   361 $ cd ddgtnw
   -1   362 $ ls
   -1   363 dir hwnfv
   -1   364 dir jsdmffq
   -1   365 268127 ndwhj
   -1   366 255789 qzlfsmm
   -1   367 230625 vnnf
   -1   368 $ cd hwnfv
   -1   369 $ ls
   -1   370 224423 fzrj
   -1   371 $ cd ..
   -1   372 $ cd jsdmffq
   -1   373 $ ls
   -1   374 dir dzbfsf
   -1   375 $ cd dzbfsf
   -1   376 $ ls
   -1   377 283246 zrfjlcg.sct
   -1   378 $ cd ..
   -1   379 $ cd ..
   -1   380 $ cd ..
   -1   381 $ cd grct
   -1   382 $ ls
   -1   383 40705 sgpc.wfv
   -1   384 $ cd ..
   -1   385 $ cd jlz
   -1   386 $ ls
   -1   387 dir vrcb
   -1   388 $ cd vrcb
   -1   389 $ ls
   -1   390 223815 gctvnv.rpb
   -1   391 $ cd ..
   -1   392 $ cd ..
   -1   393 $ cd nhvvs
   -1   394 $ ls
   -1   395 10109 rtgrs.hff
   -1   396 $ cd ..
   -1   397 $ cd ptzptl
   -1   398 $ ls
   -1   399 dir chvn
   -1   400 225860 grct
   -1   401 dir hsp
   -1   402 dir nglr
   -1   403 dir qgbbv
   -1   404 64084 swlgd.cjm
   -1   405 dir tlms
   -1   406 $ cd chvn
   -1   407 $ ls
   -1   408 314968 cbp
   -1   409 dir ddgtnw
   -1   410 282139 ddgtnw.ppr
   -1   411 121887 vnnf
   -1   412 dir wvrzs
   -1   413 $ cd ddgtnw
   -1   414 $ ls
   -1   415 19170 dzbfsf.tmf
   -1   416 160727 wqbdcw
   -1   417 $ cd ..
   -1   418 $ cd wvrzs
   -1   419 $ ls
   -1   420 263372 vnnf
   -1   421 $ cd ..
   -1   422 $ cd ..
   -1   423 $ cd hsp
   -1   424 $ ls
   -1   425 dir dzbfsf
   -1   426 dir pcs
   -1   427 dir rjvmwmgm
   -1   428 179166 rtgrs.hff
   -1   429 284238 sgb.gjc
   -1   430 44485 smlqjjbt.pfb
   -1   431 260588 vqms
   -1   432 $ cd dzbfsf
   -1   433 $ ls
   -1   434 dir ntmzsm
   -1   435 $ cd ntmzsm
   -1   436 $ ls
   -1   437 dir drbl
   -1   438 dir frnvqp
   -1   439 258006 qhqss.hnm
   -1   440 $ cd drbl
   -1   441 $ ls
   -1   442 244040 wccppjd.tcg
   -1   443 $ cd ..
   -1   444 $ cd frnvqp
   -1   445 $ ls
   -1   446 196291 pqwqbrdw
   -1   447 $ cd ..
   -1   448 $ cd ..
   -1   449 $ cd ..
   -1   450 $ cd pcs
   -1   451 $ ls
   -1   452 102603 bvmnrf
   -1   453 219969 tlms
   -1   454 $ cd ..
   -1   455 $ cd rjvmwmgm
   -1   456 $ ls
   -1   457 73837 ddgtnw
   -1   458 dir tlms
   -1   459 dir tnpfpcz
   -1   460 247155 vnnf
   -1   461 dir zmvwl
   -1   462 $ cd tlms
   -1   463 $ ls
   -1   464 183532 vqms
   -1   465 $ cd ..
   -1   466 $ cd tnpfpcz
   -1   467 $ ls
   -1   468 dir jjn
   -1   469 274527 rtgrs.hff
   -1   470 97897 ztpd
   -1   471 $ cd jjn
   -1   472 $ ls
   -1   473 dir nlmt
   -1   474 $ cd nlmt
   -1   475 $ ls
   -1   476 132838 mzdcb.gtf
   -1   477 $ cd ..
   -1   478 $ cd ..
   -1   479 $ cd ..
   -1   480 $ cd zmvwl
   -1   481 $ ls
   -1   482 184809 zzdl.lqq
   -1   483 $ cd ..
   -1   484 $ cd ..
   -1   485 $ cd ..
   -1   486 $ cd nglr
   -1   487 $ ls
   -1   488 216870 clfrgzv.lsh
   -1   489 dir ddgtnw
   -1   490 22735 mhpgvbh.phg
   -1   491 200235 vqms
   -1   492 84345 wjrzwlp
   -1   493 dir ztbjwv
   -1   494 $ cd ddgtnw
   -1   495 $ ls
   -1   496 dir zfdts
   -1   497 $ cd zfdts
   -1   498 $ ls
   -1   499 13693 grct
   -1   500 $ cd ..
   -1   501 $ cd ..
   -1   502 $ cd ztbjwv
   -1   503 $ ls
   -1   504 dir zzrsvbg
   -1   505 $ cd zzrsvbg
   -1   506 $ ls
   -1   507 dir ddgtnw
   -1   508 $ cd ddgtnw
   -1   509 $ ls
   -1   510 258910 tlms.hrh
   -1   511 $ cd ..
   -1   512 $ cd ..
   -1   513 $ cd ..
   -1   514 $ cd ..
   -1   515 $ cd qgbbv
   -1   516 $ ls
   -1   517 dir crc
   -1   518 dir prszvcp
   -1   519 dir qwrnllw
   -1   520 151124 rtqqp.wfv
   -1   521 291754 vnnf
   -1   522 279433 wgsjgqm.zrm
   -1   523 $ cd crc
   -1   524 $ ls
   -1   525 257354 ffg
   -1   526 258517 jjq.hjd
   -1   527 $ cd ..
   -1   528 $ cd prszvcp
   -1   529 $ ls
   -1   530 279284 fnwgcvw.dbg
   -1   531 201788 grct.ssc
   -1   532 dir mtlr
   -1   533 $ cd mtlr
   -1   534 $ ls
   -1   535 dir vztmrn
   -1   536 $ cd vztmrn
   -1   537 $ ls
   -1   538 84994 dzbfsf
   -1   539 $ cd ..
   -1   540 $ cd ..
   -1   541 $ cd ..
   -1   542 $ cd qwrnllw
   -1   543 $ ls
   -1   544 dir nsrhgbt
   -1   545 $ cd nsrhgbt
   -1   546 $ ls
   -1   547 dir smnslwd
   -1   548 dir vsnmq
   -1   549 $ cd smnslwd
   -1   550 $ ls
   -1   551 128046 rtgrs.hff
   -1   552 $ cd ..
   -1   553 $ cd vsnmq
   -1   554 $ ls
   -1   555 15634 zpqp
   -1   556 $ cd ..
   -1   557 $ cd ..
   -1   558 $ cd ..
   -1   559 $ cd ..
   -1   560 $ cd tlms
   -1   561 $ ls
   -1   562 240233 rtgrs.hff
   -1   563 $ cd ..
   -1   564 $ cd ..
   -1   565 $ cd rsqtp
   -1   566 $ ls
   -1   567 dir grct
   -1   568 dir hcsjjss
   -1   569 $ cd grct
   -1   570 $ ls
   -1   571 dir ddgtnw
   -1   572 27078 rtgrs.hff
   -1   573 $ cd ddgtnw
   -1   574 $ ls
   -1   575 235401 hzpr
   -1   576 107837 smnslwd.pqr
   -1   577 $ cd ..
   -1   578 $ cd ..
   -1   579 $ cd hcsjjss
   -1   580 $ ls
   -1   581 dir jhhw
   -1   582 18002 nptmmjz.pgj
   -1   583 dir tlms
   -1   584 $ cd jhhw
   -1   585 $ ls
   -1   586 282291 mcmndtb.mjj
   -1   587 $ cd ..
   -1   588 $ cd tlms
   -1   589 $ ls
   -1   590 159577 tlms.ghp
   -1   591 $ cd ..
   -1   592 $ cd ..
   -1   593 $ cd ..
   -1   594 $ cd sgbnjmwq
   -1   595 $ ls
   -1   596 dir ddgtnw
   -1   597 dir qfc
   -1   598 34331 tlms.mdr
   -1   599 $ cd ddgtnw
   -1   600 $ ls
   -1   601 168852 vnnf
   -1   602 63729 vqms
   -1   603 $ cd ..
   -1   604 $ cd qfc
   -1   605 $ ls
   -1   606 321148 ftjjdg
   -1   607 185489 mlp.ssf
   -1   608 195188 tlms
   -1   609 $ cd ..
   -1   610 $ cd ..
   -1   611 $ cd smnslwd
   -1   612 $ ls
   -1   613 dir dzbfsf
   -1   614 102016 grct.vmc
   -1   615 dir gtjgtd
   -1   616 41304 pbdh
   -1   617 94958 tlms.tcf
   -1   618 178471 vqms
   -1   619 $ cd dzbfsf
   -1   620 $ ls
   -1   621 dir dvvcg
   -1   622 dir dznc
   -1   623 51706 hpzg.rwm
   -1   624 179994 vqms
   -1   625 $ cd dvvcg
   -1   626 $ ls
   -1   627 dir bsswp
   -1   628 $ cd bsswp
   -1   629 $ ls
   -1   630 189827 gpzmg
   -1   631 $ cd ..
   -1   632 $ cd ..
   -1   633 $ cd dznc
   -1   634 $ ls
   -1   635 3424 smnslwd
   -1   636 $ cd ..
   -1   637 $ cd ..
   -1   638 $ cd gtjgtd
   -1   639 $ ls
   -1   640 152369 ddgtnw
   -1   641 $ cd ..
   -1   642 $ cd ..
   -1   643 $ cd ..
   -1   644 $ cd vrwwh
   -1   645 $ ls
   -1   646 308054 grct.hgj
   -1   647 $ cd ..
   -1   648 $ cd wwbdc
   -1   649 $ ls
   -1   650 dir zwvtdc
   -1   651 $ cd zwvtdc
   -1   652 $ ls
   -1   653 dir jqtv
   -1   654 $ cd jqtv
   -1   655 $ ls
   -1   656 dir qdd
   -1   657 165188 smnslwd.hwz
   -1   658 $ cd qdd
   -1   659 $ ls
   -1   660 319798 jjq.hjd
   -1   661 $ cd ..
   -1   662 $ cd ..
   -1   663 $ cd ..
   -1   664 $ cd ..
   -1   665 $ cd ..
   -1   666 $ cd svc
   -1   667 $ ls
   -1   668 dir ddgtnw
   -1   669 133886 fsclsm
   -1   670 107226 jjq.hjd
   -1   671 259031 wtnbwg.sct
   -1   672 $ cd ddgtnw
   -1   673 $ ls
   -1   674 124212 tlms.qws
   -1   675 $ cd ..
   -1   676 $ cd ..
   -1   677 $ cd ..
   -1   678 $ cd ..
   -1   679 $ cd fwrlqs
   -1   680 $ ls
   -1   681 45167 fsclsm
   -1   682 42603 qfq.pqh
   -1   683 $ cd ..
   -1   684 $ cd qjnnw
   -1   685 $ ls
   -1   686 228764 gnlhtvzt
   -1   687 dir grct
   -1   688 134749 jbs.jnd
   -1   689 66187 jjq.hjd
   -1   690 dir mqbbh
   -1   691 dir nlwjn
   -1   692 dir rdn
   -1   693 dir shffbpjj
   -1   694 154029 spjc
   -1   695 $ cd grct
   -1   696 $ ls
   -1   697 dir ddgtnw
   -1   698 98292 vnnf
   -1   699 $ cd ddgtnw
   -1   700 $ ls
   -1   701 dir zrb
   -1   702 $ cd zrb
   -1   703 $ ls
   -1   704 244157 vnnf
   -1   705 $ cd ..
   -1   706 $ cd ..
   -1   707 $ cd ..
   -1   708 $ cd mqbbh
   -1   709 $ ls
   -1   710 dir dqmhnq
   -1   711 dir dzbfsf
   -1   712 243785 fgzd.rlv
   -1   713 dir grct
   -1   714 dir gwlcnf
   -1   715 dir rnl
   -1   716 dir slnqt
   -1   717 dir smnslwd
   -1   718 dir tlms
   -1   719 183073 tlms.cvt
   -1   720 dir wgctf
   -1   721 $ cd dqmhnq
   -1   722 $ ls
   -1   723 149913 dzpn.qsg
   -1   724 dir hmfvzjz
   -1   725 198969 rtgrs.hff
   -1   726 $ cd hmfvzjz
   -1   727 $ ls
   -1   728 dir dzbfsf
   -1   729 dir hthgs
   -1   730 $ cd dzbfsf
   -1   731 $ ls
   -1   732 318705 cmgjqnb.wbq
   -1   733 $ cd ..
   -1   734 $ cd hthgs
   -1   735 $ ls
   -1   736 dir ljmsqbvz
   -1   737 $ cd ljmsqbvz
   -1   738 $ ls
   -1   739 304509 dwrcjrw
   -1   740 $ cd ..
   -1   741 $ cd ..
   -1   742 $ cd ..
   -1   743 $ cd ..
   -1   744 $ cd dzbfsf
   -1   745 $ ls
   -1   746 116769 ccgfzf.pmh
   -1   747 $ cd ..
   -1   748 $ cd grct
   -1   749 $ ls
   -1   750 246522 tlms.djc
   -1   751 $ cd ..
   -1   752 $ cd gwlcnf
   -1   753 $ ls
   -1   754 109428 vqms
   -1   755 $ cd ..
   -1   756 $ cd rnl
   -1   757 $ ls
   -1   758 80705 grct.ptv
   -1   759 dir mtwrqwwl
   -1   760 174651 smnslwd.glg
   -1   761 30849 swgp
   -1   762 dir tlms
   -1   763 $ cd mtwrqwwl
   -1   764 $ ls
   -1   765 dir wtmgr
   -1   766 $ cd wtmgr
   -1   767 $ ls
   -1   768 134164 tlms.qmv
   -1   769 316076 vqms
   -1   770 138038 wnv
   -1   771 dir zsmmhfq
   -1   772 $ cd zsmmhfq
   -1   773 $ ls
   -1   774 316061 tlms
   -1   775 $ cd ..
   -1   776 $ cd ..
   -1   777 $ cd ..
   -1   778 $ cd tlms
   -1   779 $ ls
   -1   780 224252 fsclsm
   -1   781 4673 png.ntp
   -1   782 $ cd ..
   -1   783 $ cd ..
   -1   784 $ cd slnqt
   -1   785 $ ls
   -1   786 dir lzzwbcnl
   -1   787 dir mpdrjwgl
   -1   788 $ cd lzzwbcnl
   -1   789 $ ls
   -1   790 dir lhltmghz
   -1   791 $ cd lhltmghz
   -1   792 $ ls
   -1   793 dir hzhfgsfd
   -1   794 212254 lcj.rsh
   -1   795 $ cd hzhfgsfd
   -1   796 $ ls
   -1   797 36945 fsclsm
   -1   798 $ cd ..
   -1   799 $ cd ..
   -1   800 $ cd ..
   -1   801 $ cd mpdrjwgl
   -1   802 $ ls
   -1   803 176456 ctftvdhl.hzz
   -1   804 79819 dzbfsf
   -1   805 248804 jvlglnb.dpw
   -1   806 $ cd ..
   -1   807 $ cd ..
   -1   808 $ cd smnslwd
   -1   809 $ ls
   -1   810 33395 vnnf
   -1   811 $ cd ..
   -1   812 $ cd tlms
   -1   813 $ ls
   -1   814 dir jdvhnpv
   -1   815 317469 lzsrnpd
   -1   816 dir tlms
   -1   817 $ cd jdvhnpv
   -1   818 $ ls
   -1   819 dir pbwh
   -1   820 dir vfn
   -1   821 $ cd pbwh
   -1   822 $ ls
   -1   823 170653 smnslwd
   -1   824 $ cd ..
   -1   825 $ cd vfn
   -1   826 $ ls
   -1   827 dir mcdpp
   -1   828 $ cd mcdpp
   -1   829 $ ls
   -1   830 294474 dzbfsf.hfn
   -1   831 $ cd ..
   -1   832 $ cd ..
   -1   833 $ cd ..
   -1   834 $ cd tlms
   -1   835 $ ls
   -1   836 dir lvqjfj
   -1   837 $ cd lvqjfj
   -1   838 $ ls
   -1   839 250581 rtgrs.hff
   -1   840 $ cd ..
   -1   841 $ cd ..
   -1   842 $ cd ..
   -1   843 $ cd wgctf
   -1   844 $ ls
   -1   845 263836 crthpg.vlr
   -1   846 dir ddgtnw
   -1   847 256310 fsclsm
   -1   848 dir mmlw
   -1   849 dir qzq
   -1   850 dir tlms
   -1   851 209457 vqms
   -1   852 $ cd ddgtnw
   -1   853 $ ls
   -1   854 dir nrfgg
   -1   855 $ cd nrfgg
   -1   856 $ ls
   -1   857 278109 dzbfsf
   -1   858 301844 vqlp.wzt
   -1   859 $ cd ..
   -1   860 $ cd ..
   -1   861 $ cd mmlw
   -1   862 $ ls
   -1   863 dir gsvfvgn
   -1   864 $ cd gsvfvgn
   -1   865 $ ls
   -1   866 4966 ddgtnw.rhb
   -1   867 85130 pld.qtc
   -1   868 $ cd ..
   -1   869 $ cd ..
   -1   870 $ cd qzq
   -1   871 $ ls
   -1   872 89149 pgrgt.jmm
   -1   873 $ cd ..
   -1   874 $ cd tlms
   -1   875 $ ls
   -1   876 84537 bzfznn.cdg
   -1   877 $ cd ..
   -1   878 $ cd ..
   -1   879 $ cd ..
   -1   880 $ cd nlwjn
   -1   881 $ ls
   -1   882 dir ddgtnw
   -1   883 dir psdb
   -1   884 dir vdmlzzgd
   -1   885 dir zdzrn
   -1   886 $ cd ddgtnw
   -1   887 $ ls
   -1   888 6932 dzbfsf.jjg
   -1   889 $ cd ..
   -1   890 $ cd psdb
   -1   891 $ ls
   -1   892 196117 bhwb.mfn
   -1   893 127600 vschrflh.fgp
   -1   894 $ cd ..
   -1   895 $ cd vdmlzzgd
   -1   896 $ ls
   -1   897 5427 llch
   -1   898 $ cd ..
   -1   899 $ cd zdzrn
   -1   900 $ ls
   -1   901 dir lfpltz
   -1   902 $ cd lfpltz
   -1   903 $ ls
   -1   904 157546 sffcz
   -1   905 $ cd ..
   -1   906 $ cd ..
   -1   907 $ cd ..
   -1   908 $ cd rdn
   -1   909 $ ls
   -1   910 133184 fsclsm
   -1   911 186144 mrntdh.spz
   -1   912 117372 spdlb.vmp
   -1   913 245469 vjrjwfwl.zzt
   -1   914 $ cd ..
   -1   915 $ cd shffbpjj
   -1   916 $ ls
   -1   917 dir ccwnzd
   -1   918 dir pcqbmmzt
   -1   919 $ cd ccwnzd
   -1   920 $ ls
   -1   921 143939 zlwqpwdl.hbh
   -1   922 $ cd ..
   -1   923 $ cd pcqbmmzt
   -1   924 $ ls
   -1   925 196568 bqm
   -1   926 dir ddgtnw
   -1   927 169897 jppm.lfw
   -1   928 188545 psm.lml
   -1   929 dir rcnp
   -1   930 dir sjhrvszs
   -1   931 83840 vnnf
   -1   932 dir vvh
   -1   933 dir wzcqnz
   -1   934 dir zfctl
   -1   935 $ cd ddgtnw
   -1   936 $ ls
   -1   937 320675 dzbfsf
   -1   938 $ cd ..
   -1   939 $ cd rcnp
   -1   940 $ ls
   -1   941 60088 fsclsm
   -1   942 dir grct
   -1   943 dir qndvg
   -1   944 153481 rzdzmm.prg
   -1   945 $ cd grct
   -1   946 $ ls
   -1   947 23004 rfgbpbt.mhp
   -1   948 166737 vqms
   -1   949 $ cd ..
   -1   950 $ cd qndvg
   -1   951 $ ls
   -1   952 181934 smnslwd.tpb
   -1   953 $ cd ..
   -1   954 $ cd ..
   -1   955 $ cd sjhrvszs
   -1   956 $ ls
   -1   957 dir gfpzrd
   -1   958 283172 rtgrs.hff
   -1   959 dir tlms
   -1   960 $ cd gfpzrd
   -1   961 $ ls
   -1   962 110715 rltrjpg.lch
   -1   963 117420 vnnf
   -1   964 $ cd ..
   -1   965 $ cd tlms
   -1   966 $ ls
   -1   967 211543 cvcq.lqw
   -1   968 132575 tlms
   -1   969 $ cd ..
   -1   970 $ cd ..
   -1   971 $ cd vvh
   -1   972 $ ls
   -1   973 dir bscbv
   -1   974 dir djzcnld
   -1   975 276126 grct.tjl
   -1   976 dir nlsstb
   -1   977 $ cd bscbv
   -1   978 $ ls
   -1   979 116170 smnslwd.pvj
   -1   980 295190 vqms
   -1   981 $ cd ..
   -1   982 $ cd djzcnld
   -1   983 $ ls
   -1   984 6635 dtnqpfqw.nlj
   -1   985 27153 fzpnfnp.jbt
   -1   986 164286 rlchrtlw
   -1   987 231430 rtgrs.hff
   -1   988 33326 wbfqtpjn.vsq
   -1   989 $ cd ..
   -1   990 $ cd nlsstb
   -1   991 $ ls
   -1   992 91522 dbpdbtvw
   -1   993 221628 nfdgjsp.npf
   -1   994 $ cd ..
   -1   995 $ cd ..
   -1   996 $ cd wzcqnz
   -1   997 $ ls
   -1   998 244122 fcqwl.nwt
   -1   999 dir grct
   -1  1000 19950 jjq.hjd
   -1  1001 296817 nwcvl
   -1  1002 dir smnslwd
   -1  1003 $ cd grct
   -1  1004 $ ls
   -1  1005 dir ddgtnw
   -1  1006 dir qglfnbds
   -1  1007 dir wrthr
   -1  1008 $ cd ddgtnw
   -1  1009 $ ls
   -1  1010 287254 drwqt
   -1  1011 90776 gddwrgh.qls
   -1  1012 $ cd ..
   -1  1013 $ cd qglfnbds
   -1  1014 $ ls
   -1  1015 dir qzh
   -1  1016 $ cd qzh
   -1  1017 $ ls
   -1  1018 164079 bswc
   -1  1019 207352 dzbfsf
   -1  1020 203683 ftdjsfbg.lbl
   -1  1021 60925 sgmtn.llc
   -1  1022 dir wws
   -1  1023 $ cd wws
   -1  1024 $ ls
   -1  1025 111099 mjq.fjz
   -1  1026 $ cd ..
   -1  1027 $ cd ..
   -1  1028 $ cd ..
   -1  1029 $ cd wrthr
   -1  1030 $ ls
   -1  1031 dir ddgtnw
   -1  1032 dir jfv
   -1  1033 dir ndwlld
   -1  1034 dir nsnz
   -1  1035 dir vqql
   -1  1036 $ cd ddgtnw
   -1  1037 $ ls
   -1  1038 180911 dzbfsf
   -1  1039 301448 jjq.hjd
   -1  1040 dir mdmc
   -1  1041 dir nlls
   -1  1042 207270 vqms
   -1  1043 dir wsctbr
   -1  1044 $ cd mdmc
   -1  1045 $ ls
   -1  1046 267495 dzbfsf.mcl
   -1  1047 $ cd ..
   -1  1048 $ cd nlls
   -1  1049 $ ls
   -1  1050 221776 jjq.hjd
   -1  1051 $ cd ..
   -1  1052 $ cd wsctbr
   -1  1053 $ ls
   -1  1054 93502 fsclsm
   -1  1055 $ cd ..
   -1  1056 $ cd ..
   -1  1057 $ cd jfv
   -1  1058 $ ls
   -1  1059 129583 ddgtnw
   -1  1060 $ cd ..
   -1  1061 $ cd ndwlld
   -1  1062 $ ls
   -1  1063 217056 gtqc.zvq
   -1  1064 $ cd ..
   -1  1065 $ cd nsnz
   -1  1066 $ ls
   -1  1067 dir jhntl
   -1  1068 $ cd jhntl
   -1  1069 $ ls
   -1  1070 103365 trdnzfz
   -1  1071 $ cd ..
   -1  1072 $ cd ..
   -1  1073 $ cd vqql
   -1  1074 $ ls
   -1  1075 201664 smnslwd.gzj
   -1  1076 $ cd ..
   -1  1077 $ cd ..
   -1  1078 $ cd ..
   -1  1079 $ cd smnslwd
   -1  1080 $ ls
   -1  1081 318911 fsclsm
   -1  1082 dir jcvmgzc
   -1  1083 101015 rtgrs.hff
   -1  1084 $ cd jcvmgzc
   -1  1085 $ ls
   -1  1086 37799 jjq.hjd
   -1  1087 $ cd ..
   -1  1088 $ cd ..
   -1  1089 $ cd ..
   -1  1090 $ cd zfctl
   -1  1091 $ ls
   -1  1092 dir fmfgjw
   -1  1093 dir lbz
   -1  1094 $ cd fmfgjw
   -1  1095 $ ls
   -1  1096 159825 ddgtnw.bhf
   -1  1097 210407 jjq.hjd
   -1  1098 $ cd ..
   -1  1099 $ cd lbz
   -1  1100 $ ls
   -1  1101 206810 gbcqz.lgw
   -1  1102 20178 rtgrs.hff

diff --git a/2022/07/part1.rs b/2022/07/part1.rs

@@ -0,0 +1,37 @@
   -1     1 #[path = "../lib.rs"] mod lib;
   -1     2 
   -1     3 use std::collections::HashMap;
   -1     4 
   -1     5 fn main() {
   -1     6     let mut path = vec![];
   -1     7     let mut dirs: HashMap<String, u64> = HashMap::new();
   -1     8 
   -1     9     for line in lib::iter_input() {
   -1    10         match line.split(' ').collect::<Vec<&str>>()[..] {
   -1    11             ["$", "ls"] => {},
   -1    12             ["$", "cd", "/"] => {
   -1    13                 path = vec![];
   -1    14             },
   -1    15             ["$", "cd", ".."] => {
   -1    16                 path.pop();
   -1    17             },
   -1    18             ["$", "cd", name] => {
   -1    19                 path.push(name.to_string());
   -1    20             },
   -1    21             ["dir", _name] => {},
   -1    22             [n, _name] => {
   -1    23                 let size = n.parse::<u64>().unwrap();
   -1    24                 for i in 0..=path.len() {
   -1    25                     let p = path[0..i].join("/");
   -1    26                     dirs.entry(p).and_modify(|old| *old += size).or_insert(size);
   -1    27                 }
   -1    28             },
   -1    29             _ => unreachable!(),
   -1    30         }
   -1    31     }
   -1    32 
   -1    33     let free = 70000000 - dirs[""];
   -1    34 
   -1    35     println!("{}", dirs.values().filter(|x| **x <= 100000).sum::<u64>());
   -1    36     println!("{}", dirs.values().filter(|x| free + **x >= 30000000).min().unwrap());
   -1    37 }

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

@@ -0,0 +1,23 @@
   -1     1 $ cd /
   -1     2 $ ls
   -1     3 dir a
   -1     4 14848514 b.txt
   -1     5 8504156 c.dat
   -1     6 dir d
   -1     7 $ cd a
   -1     8 $ ls
   -1     9 dir e
   -1    10 29116 f
   -1    11 2557 g
   -1    12 62596 h.lst
   -1    13 $ cd e
   -1    14 $ ls
   -1    15 584 i
   -1    16 $ cd ..
   -1    17 $ cd ..
   -1    18 $ cd d
   -1    19 $ ls
   -1    20 4060174 j
   -1    21 8033020 d.log
   -1    22 5626152 d.ext
   -1    23 7214296 k