From 6ffff80070b7e08bfbbb14bab5263fd3334b942b Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 10 Dec 2022 22:06:06 +0000 Subject: [PATCH] AOC day 7 --- projects/aoc/src/year2022/Day7.kiss | 60 + projects/aoc/src/year2022/FileSystem.hx | 8 + projects/aoc/src/year2022/Solutions2022.kiss | 2 +- projects/aoc/src/year2022/inputs/day7.txt | 1031 ++++++++++++++++++ 4 files changed, 1100 insertions(+), 1 deletion(-) create mode 100644 projects/aoc/src/year2022/Day7.kiss create mode 100644 projects/aoc/src/year2022/FileSystem.hx create mode 100644 projects/aoc/src/year2022/inputs/day7.txt diff --git a/projects/aoc/src/year2022/Day7.kiss b/projects/aoc/src/year2022/Day7.kiss new file mode 100644 index 00000000..9de1eb1c --- /dev/null +++ b/projects/aoc/src/year2022/Day7.kiss @@ -0,0 +1,60 @@ +(import year2022.FileSystem) + +(function :FileSystem reconstructFileSystem [file] + (let [:FileSystem rootFs (Folder [=>"/" (Folder (new Map))]) + &mut :FileSystem currFs rootFs + terminalLines (Util.readLines file)] + (doFor line terminalLines + (case (line.split " ") + (["\$" "ls"] null) + (["dir" dir] null) + (["\$" "cd" dir] + (case currFs + ((Folder contents) + (if (contents.exists dir) + (set currFs (dictGet contents dir)) + (let [newFolder (Folder [=>".." currFs])] + (dictSet contents dir newFolder) + (set currFs newFolder)))) + (never otherwise))) + ([size file] + (case currFs + ((Folder contents) + (dictSet contents file (File (Std.parseInt size)))) + (never otherwise))) + (never otherwise))) + rootFs)) + +(var &mut :Float sumUnder100000) +(function :SizeStats sizeStats [:FileSystem fs &opt :Array path :SizeStats stats] + (unless path + (set path []) + (set sumUnder100000 0)) + (unless stats (set stats (new Map))) + (when !(stats.exists (path.join "/")) + (dictSet stats (path.join "/") + (case fs + ((Folder contents) + (let [size + (apply + + (for =>innerPath innerFs contents + (ifLet [".." innerPath] + 0 + (let [fullPath (path.concat [innerPath])] + (sizeStats innerFs fullPath stats) + (dictGet stats (fullPath.join "/"))))))] + (when (>= 100000 size) (+= sumUnder100000 size)) + size)) + ((File size) + size) + (never otherwise)))) + stats) +(let [fs (reconstructFileSystem (input 7)) + stats (sizeStats fs) + sizeAvailable (- 70000000 (dictGet stats "/")) + minSizeToDelete (- 30000000 sizeAvailable)] + (assert (= 1449447 sumUnder100000)) + (assert (= 8679207 (apply min (for =>path size stats + (if (>= size minSizeToDelete) + size + (continue))))))) \ No newline at end of file diff --git a/projects/aoc/src/year2022/FileSystem.hx b/projects/aoc/src/year2022/FileSystem.hx new file mode 100644 index 00000000..223f9b52 --- /dev/null +++ b/projects/aoc/src/year2022/FileSystem.hx @@ -0,0 +1,8 @@ +package year2022; + +typedef SizeStats = Map; + +enum FileSystem { + File(size:Int); + Folder(contents:Map); +} diff --git a/projects/aoc/src/year2022/Solutions2022.kiss b/projects/aoc/src/year2022/Solutions2022.kiss index 4bb66bd2..136f40e8 100644 --- a/projects/aoc/src/year2022/Solutions2022.kiss +++ b/projects/aoc/src/year2022/Solutions2022.kiss @@ -9,7 +9,7 @@ (day 4 (load "Day4.kiss")) (day 5 (load "Day5.kiss")) (day 6 (load "Day6.kiss")) -(dayTodo 7)//(day 7 (load "Day7.kiss")) +(day 7 (load "Day7.kiss")) (dayTodo 8)//(day 8 (load "Day8.kiss")) (dayTodo 9)//(day 9 (load "Day9.kiss")) (dayTodo 10)//(day 10 (load "Day10.kiss")) diff --git a/projects/aoc/src/year2022/inputs/day7.txt b/projects/aoc/src/year2022/inputs/day7.txt new file mode 100644 index 00000000..d61e0354 --- /dev/null +++ b/projects/aoc/src/year2022/inputs/day7.txt @@ -0,0 +1,1031 @@ +$ cd / +$ ls +dir fchrtcbh +dir hlnbrj +dir jbt +dir nnn +57400 pfqcbp +dir qsdv +dir tdl +dir tmcpgtz +$ cd fchrtcbh +$ ls +dir fct +dir fwttfps +61765 nlr +28736 pfqcbp.pfg +224426 qcmtlbss +145764 sgpmfdlt.tnd +273765 wzmrclw.qbq +$ cd fct +$ ls +dir ctzphlhl +$ cd ctzphlhl +$ ls +25094 cfmw.rdv +$ cd .. +$ cd .. +$ cd fwttfps +$ ls +69990 hdf.fjn +146885 hqrzgvgn.wqp +21206 wzmrclw.qbq +$ cd .. +$ cd .. +$ cd hlnbrj +$ ls +dir mbwgsdcv +$ cd mbwgsdcv +$ ls +156396 rdm.ttb +$ cd .. +$ cd .. +$ cd jbt +$ ls +dir bbm +dir gqbvgbt +dir hzjzlwv +dir jcstr +dir llf +$ cd bbm +$ ls +dir nsshzppb +dir pfqcbp +dir tdz +dir tvqh +$ cd nsshzppb +$ ls +5640 bvpnq.tbm +241745 cmjshlw.qjh +dir jlcqcb +78459 nlfv.dgr +dir pfqcbp +245461 rjftj.gtj +169808 tgvqrvq.mrw +$ cd jlcqcb +$ ls +314748 fzsvgrcw +32649 mmbfqp.lqc +dir nzpvt +dir pmncbz +dir qqtlm +321229 shtc.vtw +10052 tdz +320999 tdz.vfc +$ cd nzpvt +$ ls +dir fct +dir lbsng +209182 nlr +dir pfqcbp +243321 srt.tqh +3325 tdz.dbz +332295 wzmrclw.qbq +$ cd fct +$ ls +185072 drcmppfs +dir fct +92835 nlr +$ cd fct +$ ls +230981 bpnvm +$ cd .. +$ cd .. +$ cd lbsng +$ ls +dir mzsj +116041 nzpvt.nll +$ cd mzsj +$ ls +279834 vshfrzsg +$ cd .. +$ cd .. +$ cd pfqcbp +$ ls +dir fct +173141 mzb.lcd +dir ssbv +$ cd fct +$ ls +33372 tjznm +$ cd .. +$ cd ssbv +$ ls +273126 bccsm.rqq +298840 cqzglqw.ppf +dir fct +dir pmqj +126839 qdvm.wsc +$ cd fct +$ ls +323437 bcqms.cbt +91849 drcmppfs +103408 jbmbrg.ggs +261735 mnfrhs +326197 wvrj.pzg +$ cd .. +$ cd pmqj +$ ls +34310 vhpqwp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd pmncbz +$ ls +102403 rjhq.blj +$ cd .. +$ cd qqtlm +$ ls +dir ggjzcsfn +dir nzpvt +134921 wzmrclw.qbq +$ cd ggjzcsfn +$ ls +dir nlfv +$ cd nlfv +$ ls +219183 nbfqvdhb.pgr +$ cd .. +$ cd .. +$ cd nzpvt +$ ls +141177 fct.bmj +$ cd .. +$ cd .. +$ cd .. +$ cd pfqcbp +$ ls +312723 ngbm +$ cd .. +$ cd .. +$ cd pfqcbp +$ ls +dir bvsj +120921 cmzmmlqq.pqn +308093 drcmppfs +dir gvndh +151290 hsjgzcf +74851 tdz +294395 wfp.lgp +$ cd bvsj +$ ls +218258 qlnhddbw.pql +dir sdjddn +$ cd sdjddn +$ ls +dir tdl +dir trpcd +$ cd tdl +$ ls +271008 sqdggvm.hbh +$ cd .. +$ cd trpcd +$ ls +119088 wzmrclw.qbq +$ cd .. +$ cd .. +$ cd .. +$ cd gvndh +$ ls +dir bvg +dir hsqmsqt +125116 pfqcbp.fpb +182960 wfp.lgp +$ cd bvg +$ ls +183661 wzmrclw.qbq +$ cd .. +$ cd hsqmsqt +$ ls +dir bmvcv +$ cd bmvcv +$ ls +85871 nlfv +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd tdz +$ ls +dir nzpvt +$ cd nzpvt +$ ls +dir ttcwr +$ cd ttcwr +$ ls +58678 wfp.lgp +$ cd .. +$ cd .. +$ cd .. +$ cd tvqh +$ ls +111924 bccsm.rqq +155539 drcmppfs +dir hvqgrlb +dir njqd +67089 nlr +dir nzpvt +109311 nzpvt.bzz +249415 nzpvt.ptr +dir srq +dir tdz +dir vjdjl +dir zmgzph +$ cd hvqgrlb +$ ls +dir fct +105914 jqtjglmh.glw +94476 mst +180432 nbb.fvv +dir nhnp +dir nlfv +$ cd fct +$ ls +67110 fct +310128 gdzswr.phr +67231 mjbjvb.ngb +285357 vtnlzs.slj +dir zzl +$ cd zzl +$ ls +118330 bccsm.rqq +317825 cchprc +$ cd .. +$ cd .. +$ cd nhnp +$ ls +302625 cwt +319999 htrj.mgt +$ cd .. +$ cd nlfv +$ ls +dir tdz +$ cd tdz +$ ls +127844 bccsm.rqq +$ cd .. +$ cd .. +$ cd .. +$ cd njqd +$ ls +27880 jpscpmzn.thz +dir ntrnlms +dir nzpvt +41048 pfqcbp.qzf +dir vtvwjhm +$ cd ntrnlms +$ ls +15229 sfr +$ cd .. +$ cd nzpvt +$ ls +dir fct +dir ltzw +dir sfwhmn +dir tdz +$ cd fct +$ ls +185362 fddlqjnn +$ cd .. +$ cd ltzw +$ ls +290023 wslq +$ cd .. +$ cd sfwhmn +$ ls +dir jmgzcqvd +159166 mfdhjq +15995 nddsdb.tcg +173881 pqnh.nvt +37665 qnbbmgtl.vcg +275256 tdz.zrs +$ cd jmgzcqvd +$ ls +dir dtr +$ cd dtr +$ ls +dir tdz +$ cd tdz +$ ls +12772 mzmpvqrt +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd tdz +$ ls +dir fgd +dir pfqcbp +dir tdz +137421 vttcn.mgp +308378 wzmrclw.qbq +$ cd fgd +$ ls +75974 gdzrjn +dir zfvwp +$ cd zfvwp +$ ls +48696 nlr +$ cd .. +$ cd .. +$ cd pfqcbp +$ ls +126220 wfp.lgp +68328 zshscwhf.wvm +$ cd .. +$ cd tdz +$ ls +dir gwpps +dir zdbsq +$ cd gwpps +$ ls +193706 bccsm.rqq +$ cd .. +$ cd zdbsq +$ ls +90049 vqwwh +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd vtvwjhm +$ ls +291688 bccsm.rqq +dir dnjgl +17554 drcmppfs +$ cd dnjgl +$ ls +dir lpdzhhf +dir nlfv +dir nmbrz +168524 vbgwhhnq +$ cd lpdzhhf +$ ls +317727 nlfv.wsf +75497 nlr +105712 wfp.lgp +$ cd .. +$ cd nlfv +$ ls +121726 fct.lsw +$ cd .. +$ cd nmbrz +$ ls +14788 bccsm.rqq +dir cjv +64895 cqndrd.rbb +dir fnmsjd +dir hgzgq +dir hst +33320 nlfv.wwb +111373 nlr +271844 nzpvt.llp +dir pfqcbp +$ cd cjv +$ ls +108233 wfp.lgp +$ cd .. +$ cd fnmsjd +$ ls +108902 drcmppfs +dir fbnmdwmw +dir jzq +dir tdz +$ cd fbnmdwmw +$ ls +183892 wzmrclw.qbq +$ cd .. +$ cd jzq +$ ls +dir nzpvt +$ cd nzpvt +$ ls +34417 gjqc +$ cd .. +$ cd .. +$ cd tdz +$ ls +dir cmnw +$ cd cmnw +$ ls +224596 nzpvt +$ cd .. +$ cd .. +$ cd .. +$ cd hgzgq +$ ls +260727 bbqfd.cnm +dir nzpvt +302916 rclhngqn.dvh +dir rhqj +dir tdz +168589 wzmrclw.qbq +dir zfgf +$ cd nzpvt +$ ls +212040 nzpvt +196163 pfr.hpn +$ cd .. +$ cd rhqj +$ ls +36358 frfpn.bwd +$ cd .. +$ cd tdz +$ ls +7924 pfqcbp +$ cd .. +$ cd zfgf +$ ls +190752 nwntvrf.rns +$ cd .. +$ cd .. +$ cd hst +$ ls +327527 bccsm.rqq +90170 nlr +$ cd .. +$ cd pfqcbp +$ ls +163268 fct.qtw +1178 fct.shw +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd nzpvt +$ ls +256871 bccsm.rqq +219823 pfqcbp +dir swtrnt +146203 tdwv +150052 wfp.lgp +123164 zqmq +$ cd swtrnt +$ ls +dir fct +$ cd fct +$ ls +7540 nzpvt.lbv +133952 tdz.rqf +$ cd .. +$ cd .. +$ cd .. +$ cd srq +$ ls +294836 tdz.rrc +192802 wzmrclw.qbq +$ cd .. +$ cd tdz +$ ls +255394 bccsm.rqq +99901 nlfv.vfj +316469 pbzcjplt.fgf +104809 tjjmtzdc.jcq +$ cd .. +$ cd vjdjl +$ ls +60934 fct.jts +270669 mmj.mqp +dir nlfv +dir nzpvt +70744 qqjmpvh.dzv +dir szrvs +dir wmbbn +$ cd nlfv +$ ls +dir bnjtlh +132341 drcmppfs +dir gmvjtj +dir gzdj +dir hpvrj +49932 sqvz +dir tdz +$ cd bnjtlh +$ ls +dir fct +255578 mftscrq +dir nlfv +76061 nlfv.bqm +$ cd fct +$ ls +269563 wfp.lgp +$ cd .. +$ cd nlfv +$ ls +198725 ghh +$ cd .. +$ cd .. +$ cd gmvjtj +$ ls +18219 fbhj.pjw +41025 mchtc +$ cd .. +$ cd gzdj +$ ls +113277 dnzl +dir fzhwfr +133044 lrlfq.ndr +120088 qcrv.mrs +dir wgvw +$ cd fzhwfr +$ ls +300485 gbcc +71468 nzpvt.ztg +180837 wfp.lgp +$ cd .. +$ cd wgvw +$ ls +123989 drcmppfs +2266 pfqcbp.ccd +$ cd .. +$ cd .. +$ cd hpvrj +$ ls +270481 bccsm.rqq +$ cd .. +$ cd tdz +$ ls +289817 bnp.wfp +$ cd .. +$ cd .. +$ cd nzpvt +$ ls +dir bnt +dir dtsr +dir rhqrs +dir tdz +42376 wfp.lgp +$ cd bnt +$ ls +dir gjdqwnd +112688 nzpvt.bgh +15859 nzpvt.ftj +219526 nzpvt.gnt +dir rwr +dir tfvgnz +dir ztpflr +$ cd gjdqwnd +$ ls +dir ghsbcb +dir gnnnslbh +dir nnnh +$ cd ghsbcb +$ ls +330485 bqnn.wsv +148644 qvnl.rcw +$ cd .. +$ cd gnnnslbh +$ ls +dir fct +dir nnp +dir nzpvt +152038 rlqsp.vsj +118099 srsjsm +dir vdjzwgz +300404 zcjfnthp +$ cd fct +$ ls +249569 hmpwz.ldw +$ cd .. +$ cd nnp +$ ls +232389 nhfhwbv +$ cd .. +$ cd nzpvt +$ ls +328734 phdw +$ cd .. +$ cd vdjzwgz +$ ls +130149 ttjzr.pjw +dir zslhwc +$ cd zslhwc +$ ls +dir lmhbnvzc +$ cd lmhbnvzc +$ ls +316145 pfqcbp.jmd +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd nnnh +$ ls +247235 wfp.lgp +$ cd .. +$ cd .. +$ cd rwr +$ ls +117412 jqncsgtz.srj +$ cd .. +$ cd tfvgnz +$ ls +301735 drcmppfs +$ cd .. +$ cd ztpflr +$ ls +dir pfscczq +$ cd pfscczq +$ ls +258369 mmwrjjg.snm +208621 qrn.bws +$ cd .. +$ cd .. +$ cd .. +$ cd dtsr +$ ls +226917 cdgn +58590 gqmp.bjw +220622 nlr +97205 tdz.lmf +$ cd .. +$ cd rhqrs +$ ls +dir bhrb +$ cd bhrb +$ ls +98744 nzpvt.sgl +$ cd .. +$ cd .. +$ cd tdz +$ ls +253051 cgn.fwb +41573 qrvqml.vsj +$ cd .. +$ cd .. +$ cd szrvs +$ ls +195204 dhdrjswp +299349 drcmppfs +2890 rzrc.bnd +$ cd .. +$ cd wmbbn +$ ls +248063 nzpvt +56979 zpztvv +$ cd .. +$ cd .. +$ cd zmgzph +$ ls +181700 bccsm.rqq +322580 fzf.pdg +189013 gpcrqlc +260640 rwt +$ cd .. +$ cd .. +$ cd .. +$ cd gqbvgbt +$ ls +dir jlh +dir rvdfpd +$ cd jlh +$ ls +47327 bccsm.rqq +dir mlwz +$ cd mlwz +$ ls +252054 tlg.lfd +$ cd .. +$ cd .. +$ cd rvdfpd +$ ls +102223 cdmd.rzl +120439 lnr +$ cd .. +$ cd .. +$ cd hzjzlwv +$ ls +6753 czzvcvgc.qrw +132168 wzmrclw.qbq +$ cd .. +$ cd jcstr +$ ls +224805 cvnfppdv +$ cd .. +$ cd llf +$ ls +dir dzpzvjw +dir gvq +131774 nlfv.llj +$ cd dzpzvjw +$ ls +284397 dfdtpgsz.cdw +dir fct +dir pfqcbp +210819 qvbzr +dir sztbm +$ cd fct +$ ls +242208 nlfv.zmb +183434 pfqcbp +224189 vdfzrvm.jlf +222688 wfp.lgp +291920 wzmrclw.qbq +$ cd .. +$ cd pfqcbp +$ ls +dir pfqcbp +$ cd pfqcbp +$ ls +60445 tdz +$ cd .. +$ cd .. +$ cd sztbm +$ ls +165502 mcqlcmc.rbp +$ cd .. +$ cd .. +$ cd gvq +$ ls +dir dwtj +dir fnmvrslw +dir tdz +dir vndm +$ cd dwtj +$ ls +dir qtrqhh +$ cd qtrqhh +$ ls +115781 tdz.nzv +123358 wfp.lgp +$ cd .. +$ cd .. +$ cd fnmvrslw +$ ls +dir brzzr +29456 fct.fqz +257982 nlfv +$ cd brzzr +$ ls +195396 mlsszsf +309844 nlfv +$ cd .. +$ cd .. +$ cd tdz +$ ls +dir stwrprz +dir zmrm +$ cd stwrprz +$ ls +143929 slfbtj.qtz +$ cd .. +$ cd zmrm +$ ls +128440 nlr +$ cd .. +$ cd .. +$ cd vndm +$ ls +dir dnzlnmzc +dir fct +$ cd dnzlnmzc +$ ls +73389 nvdznjtw.fqp +51123 rcrtl.fwc +$ cd .. +$ cd fct +$ ls +14933 drcmppfs +324404 drm.fmg +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd nnn +$ ls +dir pfqcbp +dir rlvfd +$ cd pfqcbp +$ ls +285385 lspfqghn.ccl +90876 nlr +$ cd .. +$ cd rlvfd +$ ls +198026 wpzg +$ cd .. +$ cd .. +$ cd qsdv +$ ls +32915 fct.psc +86919 qfzsfz +$ cd .. +$ cd tdl +$ ls +320007 tdbpggtw +$ cd .. +$ cd tmcpgtz +$ ls +dir brbn +dir brt +101599 hdtg.bbb +dir jhz +dir rbdbtd +dir tdz +dir trflnpmw +dir wldfm +$ cd brbn +$ ls +dir hfdlq +145067 wfp.lgp +$ cd hfdlq +$ ls +43395 htshjzd +$ cd .. +$ cd .. +$ cd brt +$ ls +82871 drcmppfs +dir fct +dir qnghcq +dir tgmrlh +$ cd fct +$ ls +199814 wzmrclw.qbq +$ cd .. +$ cd qnghcq +$ ls +143210 mrqll +162526 nlfv.bbs +$ cd .. +$ cd tgmrlh +$ ls +48165 bccsm.rqq +318013 pfqcbp +$ cd .. +$ cd .. +$ cd jhz +$ ls +dir cqqlhrgf +244294 ftwmblf +334112 gvm.lsw +dir jjtjrsm +dir nhjztw +dir wdqmdszj +238850 wzmrclw.qbq +$ cd cqqlhrgf +$ ls +54323 fct.zrn +dir gslvzq +89225 nzpvt.jwn +170612 vnszlrms.qmm +124897 zcddc +158922 zdzr +$ cd gslvzq +$ ls +132083 nlfv +$ cd .. +$ cd .. +$ cd jjtjrsm +$ ls +66475 vqlqwvd +$ cd .. +$ cd nhjztw +$ ls +128488 bccsm.rqq +319667 nlfv.nql +106856 pfqcbp +$ cd .. +$ cd wdqmdszj +$ ls +224155 zsntbsns.svg +$ cd .. +$ cd .. +$ cd rbdbtd +$ ls +214776 pfqcbp.fwz +$ cd .. +$ cd tdz +$ ls +152287 gfmdcrt +dir jsqd +219555 jvstcp.ngl +dir mmgjzmcc +dir nlfv +dir vpwmlq +$ cd jsqd +$ ls +284781 bcsd.dll +dir dttzdnpb +217660 dvpj.qgq +56055 jzslsrq.zsh +dir nzpvt +dir pfqcbp +220497 tdz.mmv +278405 zzhsgr.bqp +$ cd dttzdnpb +$ ls +23222 pfqcbp.mpq +50335 qdmcgbz.jpp +$ cd .. +$ cd nzpvt +$ ls +128962 gwzvqc.bpj +$ cd .. +$ cd pfqcbp +$ ls +260384 pfqcbp.nfp +$ cd .. +$ cd .. +$ cd mmgjzmcc +$ ls +255325 wzmrclw.qbq +$ cd .. +$ cd nlfv +$ ls +dir cfdj +275703 nlr +dir wlzd +$ cd cfdj +$ ls +244185 wfp.lgp +$ cd .. +$ cd wlzd +$ ls +dir vtpjz +$ cd vtpjz +$ ls +140890 wfp.lgp +$ cd .. +$ cd .. +$ cd .. +$ cd vpwmlq +$ ls +dir bmtrdpdl +dir cqvdppcg +212696 fct.pnc +32622 fzvsv.hsr +26043 hwmmr +176780 wqd.hbm +$ cd bmtrdpdl +$ ls +145895 pfqcbp.jtp +220677 pllqlvn +49356 wfp.lgp +$ cd .. +$ cd cqvdppcg +$ ls +276847 jgthh.ssc +$ cd .. +$ cd .. +$ cd .. +$ cd trflnpmw +$ ls +dir gfgn +dir jrlqjsc +dir nlfv +dir phmdq +dir qnvmpzv +311867 tdz +$ cd gfgn +$ ls +255377 bccsm.rqq +317338 pwfq +$ cd .. +$ cd jrlqjsc +$ ls +98803 wzmrclw.qbq +$ cd .. +$ cd nlfv +$ ls +dir fqt +208205 tdfgzdbb.szm +$ cd fqt +$ ls +99816 jcm +11010 nlfv.fsv +215962 nlr +$ cd .. +$ cd .. +$ cd phmdq +$ ls +118845 cmssp.sgc +238930 mdhs.tqd +dir nlfv +277199 qnwb +287223 qpqdrvlf +$ cd nlfv +$ ls +253884 bccsm.rqq +$ cd .. +$ cd .. +$ cd qnvmpzv +$ ls +290671 rlnd.tps +$ cd .. +$ cd .. +$ cd wldfm +$ ls +76173 drcmppfs +dir gbzhcvn +dir hrw +$ cd gbzhcvn +$ ls +18543 nlr +$ cd .. +$ cd hrw +$ ls +260983 wfp.lgp