From b3d9e1f0780f66d2952c34c77cdf439397cb9f7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobos=20=C3=81d=C3=A1m?= Date: Sat, 10 Dec 2022 21:08:03 +0100 Subject: [PATCH] Day7 --- day7/dir | Bin 0 -> 16608 bytes day7/dir.c | 242 +++++++++++ day7/input.txt | 1052 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1294 insertions(+) create mode 100755 day7/dir create mode 100644 day7/dir.c create mode 100644 day7/input.txt diff --git a/day7/dir b/day7/dir new file mode 100755 index 0000000000000000000000000000000000000000..98a0254edcb957948f92a72d5998279750762352 GIT binary patch literal 16608 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 btAZmA<6JJwE=H!3KK=^=nU*^g9H{tj +#include +#include + +#define BUFFER_SIZE 64 +#define MAX_FILES 32 +#define MAX_CHILDREN 16 +#define THRESHOLD 100000 +// at most +#define RULE <= +#define TOTAL_SIZE 70000000 +#define SPACE_NEEDED 30000000 + +typedef enum commands { + CD, + LS +} COMMAND; + +typedef struct fnode { + char name[BUFFER_SIZE]; + unsigned long size; +} FNODE; + +typedef struct dir { + char name[BUFFER_SIZE]; + FNODE files[MAX_FILES]; + int files_num; + struct dir *parent; + struct dir *children[MAX_CHILDREN]; + int children_num; + int cached; + unsigned long cached_size; +} DIR; + +COMMAND map_cmd(char *); +DIR* createDir(char*, DIR*); +void cp(char*, char*); +DIR* findDirName(DIR*, char*); +FNODE* findFileName(DIR*, char*); +int cmp(char*, char*); +void release(DIR*); +unsigned long dirsize(DIR*); +void gotta_catch_em_all(DIR*); +void omelette_du_fromage(DIR*, DIR**, unsigned long); + +unsigned long sum; + +int main() { + char linebuf[BUFFER_SIZE], buf[BUFFER_SIZE], *p, c; + memset(linebuf, 0, BUFFER_SIZE); + p = linebuf; + COMMAND cmd; + DIR *currentDir = NULL, *rootDir = NULL, *target; + FNODE *tmpf; + unsigned long fsize; + + while ((c = getchar()) != EOF) { + *p++ = c; + if (c == '\n') { + if (linebuf[0] == '$') { + // command + memset(buf, 0 , BUFFER_SIZE); + sscanf(linebuf, "$ %s", buf); + cmd = map_cmd(buf); + if (cmd == CD) { + memset(buf, 0 , BUFFER_SIZE); + sscanf(linebuf + 4, "%s", buf); + if (buf[0] == '/' && buf[1] == 0) { + // Root + if (rootDir == NULL) + rootDir = createDir(buf, NULL); + currentDir = rootDir; + } else if (buf[0] == '.' && buf[1] == '.' && buf[2] == 0) { + currentDir = currentDir->parent; + } else { + target = findDirName(currentDir, buf); + if (target == NULL) { + target = createDir(buf, currentDir); + } + + currentDir = target; + } + } else if (cmd == LS) { + // Nothing to do + } + } + + memset(buf, 0 , BUFFER_SIZE); + if (sscanf(linebuf, "%lu %s", &fsize, buf)) { + // File + tmpf = findFileName(currentDir, buf); + if (tmpf == NULL) { + cp(buf, currentDir->files[currentDir->files_num].name); + currentDir->files[currentDir->files_num].size = fsize; + currentDir->files_num++; + } + } else { + // Dir + sscanf(linebuf, "dir %s", buf); + target = findDirName(currentDir, buf); + if (target == NULL) { + target = createDir(buf, currentDir); + } + } + + memset(linebuf, 0, BUFFER_SIZE); + p = linebuf; + } + } + + // First part + gotta_catch_em_all(rootDir); + printf("%lu\n", sum); + + // Second part + DIR *bestMatch = rootDir; + unsigned long free_space = TOTAL_SIZE - dirsize(rootDir); + printf("\nFREE SPACE: %lu\n", free_space); + omelette_du_fromage(rootDir, &bestMatch, free_space); + printf("TO DELETE: %s, %lu\n", bestMatch->name, dirsize(bestMatch)); + + currentDir = NULL; + // "Aki malloc-ot mond, mondjon free-t is" + release(rootDir); + free(rootDir); +} + +COMMAND map_cmd(char *buf) { + if (buf[0] == 'c' && buf[1] == 'd') { + return CD; + } else if (buf[0] == 'l' && buf[1] == 's') { + return LS; + } + + return -1; +} + +DIR* createDir(char* name, DIR* parent) { + DIR* newDir = (DIR*)malloc(sizeof(DIR)); + memset(newDir->files, 0, MAX_FILES*sizeof(FNODE)); + memset(newDir->children, 0, MAX_CHILDREN*sizeof(DIR*)); + newDir->files_num = 0; + newDir->children_num = 0; + newDir->parent = parent; + newDir->cached = 0; + if (parent != NULL) { + parent->children[parent->children_num] = newDir; + parent->children_num++; + } + cp(name, newDir->name); + + return newDir; +} + +void cp(char *p , char *q){ + while((*q++ = *p++) != 0) {} +} + +DIR* findDirName(DIR* dir, char *name) { + for (int i = 0; i < dir->children_num; i++) { + if (cmp(dir->children[i]->name, name)) { + return dir->children[i]; + } + } + + return NULL; +} + +int cmp(char *p, char *q) { + for (int i = 0; i < BUFFER_SIZE; i++) { + if (p[i] != q[i]) { + return 0; + } + } + + return 1; +} + +void release(DIR* dir) { + for (int i = 0; i < dir->children_num; i++) { + release(dir->children[i]); + free(dir->children[i]); + } +} + +FNODE* findFileName(DIR* dir, char* name) { + for (int i = 0; i < dir->files_num; i++) { + if (cmp(dir->files[i].name, name)) { + return &dir->files[i]; + } + } + + return NULL; +} + +unsigned long dirsize(DIR* dir) { + if (dir->cached) { + return dir->cached_size; + } + + unsigned long mysize = 0; + + // Files here + for (int i = 0; i < dir->files_num; i++) { + mysize += dir->files[i].size; + } + + // Files in subdirectories + for (int i = 0; i < dir->children_num; i++) { + mysize += dirsize(dir->children[i]); + } + + dir->cached = 1; + dir->cached_size = mysize; + + return mysize; +} + +// I know this is shit, each directory should have a size cache +// so if we already know its size we don't recurse it again +// But I don't care at this point +void gotta_catch_em_all(DIR* dir) { + unsigned long schlong = dirsize(dir); + if (schlong RULE THRESHOLD) { + sum += schlong; + } + + for (int i = 0; i < dir->children_num; i++) { + gotta_catch_em_all(dir->children[i]); + } +} + +void omelette_du_fromage(DIR* dir, DIR** bestMatch, unsigned long freeSpace) { + unsigned long current = freeSpace + dirsize(dir); + if (current > SPACE_NEEDED && current < (freeSpace + dirsize(*bestMatch))) { + *bestMatch = dir; + } + + for (int i = 0; i < dir->children_num; i++) { + omelette_du_fromage(dir->children[i], bestMatch, freeSpace); + } +} diff --git a/day7/input.txt b/day7/input.txt new file mode 100644 index 0000000..9bbb5e2 --- /dev/null +++ b/day7/input.txt @@ -0,0 +1,1052 @@ +$ cd / +$ ls +187585 dgflmqwt.srm +dir gnpd +200058 hbnlqs +dir jsv +dir mfhzl +dir nljtr +dir nwzp +61949 qdswp.wfj +21980 rbq.hpj +dir rfwwwgr +dir sbnhc +dir zhfl +136762 zwg +$ cd gnpd +$ ls +dir dcqq +dir dnscfz +dir dwqbhgc +dir lsrb +167581 ndwfr.pbv +dir pbgrdvmc +dir sbnhc +144703 sct +dir smfhldss +$ cd dcqq +$ ls +dir bfdng +155230 mfhzl.bpw +dir mhpqqq +dir mpbpcv +24140 mrrznmvr.mmz +$ cd bfdng +$ ls +dir hjlch +dir sbnhc +$ cd hjlch +$ ls +239759 sct +$ cd .. +$ cd sbnhc +$ ls +221334 hbnlqs +$ cd .. +$ cd .. +$ cd mhpqqq +$ ls +250305 nfqs.crt +dir qqhz +60892 rbq.hpj +64587 tbzlnq +dir tcbgmw +dir vnlmlq +$ cd qqhz +$ ls +148009 sct +$ cd .. +$ cd tcbgmw +$ ls +85006 sbnhc +$ cd .. +$ cd vnlmlq +$ ls +21720 vsrrhvlt.qbs +$ cd .. +$ cd .. +$ cd mpbpcv +$ ls +146794 bdpld.ddm +$ cd .. +$ cd .. +$ cd dnscfz +$ ls +276175 mfhzl.ndh +248161 qjgzgm +dir vnlmlq +dir wwf +dir zjdhldlq +$ cd vnlmlq +$ ls +130051 ftjnfc +$ cd .. +$ cd wwf +$ ls +166550 dwvphbm.jtd +$ cd .. +$ cd zjdhldlq +$ ls +345090 hbnlqs +$ cd .. +$ cd .. +$ cd dwqbhgc +$ ls +310228 dwvphbm +157686 hbnlqs +48014 nfqs.crt +333356 rwb.njl +dir sbnhc +139174 sct +dir vjcl +$ cd sbnhc +$ ls +51605 bfqw.cjd +267184 fjvmbpf +169122 mfhzl.jrp +243630 sbnhc +$ cd .. +$ cd vjcl +$ ls +dir mfhzl +$ cd mfhzl +$ ls +302243 dcqq.djc +$ cd .. +$ cd .. +$ cd .. +$ cd lsrb +$ ls +311814 dcqq.prd +200118 rbq.hpj +$ cd .. +$ cd pbgrdvmc +$ ls +119324 cqhdvmzp.npw +277930 jhlrpmqg +dir jlcqmq +204425 pddmq +dir rqmhwhc +257084 sbnhc +338348 vnlmlq +$ cd jlcqmq +$ ls +24876 mfhzl +$ cd .. +$ cd rqmhwhc +$ ls +36575 dlft.dtp +$ cd .. +$ cd .. +$ cd sbnhc +$ ls +dir sbq +dir vmslnrmc +$ cd sbq +$ ls +15689 hpzgsl.svb +$ cd .. +$ cd vmslnrmc +$ ls +dir lcqpws +136481 nfqs.crt +29838 sbnhc +$ cd lcqpws +$ ls +168866 dcqq.pdp +322264 jmtwr.fzj +18732 sct +$ cd .. +$ cd .. +$ cd .. +$ cd smfhldss +$ ls +dir wfbssqj +$ cd wfbssqj +$ ls +134050 tgghrp.hjq +$ cd .. +$ cd .. +$ cd .. +$ cd jsv +$ ls +dir bwc +dir dcqq +260913 lzcqm.wzr +dir rhstw +dir vnlmlq +$ cd bwc +$ ls +221975 bdv.mfq +dir crbnzrtw +dir dcqq +dir gdgh +101246 gqcfrzmn +dir gsst +dir jwrhclh +dir nbwfdvsv +dir qnwhfv +dir sbnhc +$ cd crbnzrtw +$ ls +dir dmmpcrz +204859 dwvphbm.csz +dir jdh +dir mpgdhg +202360 nfqs.crt +dir sbnhc +302165 scpq.gpd +dir shfhmdw +dir wmjgmd +$ cd dmmpcrz +$ ls +dir mfhzl +$ cd mfhzl +$ ls +121861 hbnlqs +$ cd .. +$ cd .. +$ cd jdh +$ ls +dir dwvphbm +$ cd dwvphbm +$ ls +8977 ntdtdq +$ cd .. +$ cd .. +$ cd mpgdhg +$ ls +48235 dcqq +$ cd .. +$ cd sbnhc +$ ls +dir dbb +$ cd dbb +$ ls +275648 gcsdd.pdw +dir rbbgrtm +dir rmlm +111336 sbnhc.qrn +153146 sct +$ cd rbbgrtm +$ ls +304685 rbq.hpj +$ cd .. +$ cd rmlm +$ ls +dir wfr +$ cd wfr +$ ls +197220 dhjjr.dqq +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd shfhmdw +$ ls +221308 mhnfzmz.gqp +$ cd .. +$ cd wmjgmd +$ ls +dir psrshrws +dir zrtpgbg +$ cd psrshrws +$ ls +202052 twgfblm +$ cd .. +$ cd zrtpgbg +$ ls +48134 hsnzvhvm.gnp +$ cd .. +$ cd .. +$ cd .. +$ cd dcqq +$ ls +63600 tlclsj.pvg +181384 tzjn +90096 wgq.lrm +$ cd .. +$ cd gdgh +$ ls +78450 hrcdgnpv.ctz +$ cd .. +$ cd gsst +$ ls +345240 nfqs.crt +199259 sct +$ cd .. +$ cd jwrhclh +$ ls +dir ftjcr +177499 nhdh.bbn +dir sbnhc +dir vnlmlq +dir wqjnwgpj +$ cd ftjcr +$ ls +dir glfptjpb +121761 gqp +36602 lcgfmtf.zct +dir mfhzl +dir rrrrgbqv +236133 wdmwgzvs.jnw +dir zwrmjlh +$ cd glfptjpb +$ ls +dir fdnppcr +dir gchhnd +dir gdphvds +98000 gqhv +$ cd fdnppcr +$ ls +dir dwvphbm +dir ngsgrgp +$ cd dwvphbm +$ ls +dir wrg +$ cd wrg +$ ls +265022 cqhdvmzp.npw +316916 nfqs.crt +$ cd .. +$ cd .. +$ cd ngsgrgp +$ ls +110198 sct +$ cd .. +$ cd .. +$ cd gchhnd +$ ls +253836 hbnlqs +39462 mfhzl +211458 nfqs.crt +$ cd .. +$ cd gdphvds +$ ls +dir dpdb +$ cd dpdb +$ ls +342610 vnlmlq +$ cd .. +$ cd .. +$ cd .. +$ cd mfhzl +$ ls +dir cptj +$ cd cptj +$ ls +100729 nvctqj.gjw +$ cd .. +$ cd .. +$ cd rrrrgbqv +$ ls +166055 dwvphbm.rvb +303762 hbnlqs +277411 wzr.rgz +$ cd .. +$ cd zwrmjlh +$ ls +32583 dvfnw +$ cd .. +$ cd .. +$ cd sbnhc +$ ls +dir hwtmwp +334229 mfhzl +299303 vtrfbw.dng +$ cd hwtmwp +$ ls +dir zjmrr +$ cd zjmrr +$ ls +279103 cqhdvmzp.npw +$ cd .. +$ cd .. +$ cd .. +$ cd vnlmlq +$ ls +dir btqsh +dir clhclcr +237487 cqhdvmzp.npw +11669 gqhltqf +91205 hbnlqs +dir qwbnvzv +234450 rqlnhpc.qfd +dir vbrc +dir vfdqq +$ cd btqsh +$ ls +dir lgh +dir ljrjpg +34333 rbq.hpj +15387 vzldp.ffs +$ cd lgh +$ ls +176966 vnlmlq +$ cd .. +$ cd ljrjpg +$ ls +231230 cqhdvmzp.npw +dir dwvphbm +dir mfhzl +251554 rdrbn.clr +180447 sbnhc +$ cd dwvphbm +$ ls +dir vghvsmq +$ cd vghvsmq +$ ls +132209 cqhdvmzp.npw +dir jqmgn +$ cd jqmgn +$ ls +95992 clbvg.bmr +$ cd .. +$ cd .. +$ cd .. +$ cd mfhzl +$ ls +dir dcqq +$ cd dcqq +$ ls +dir vjhl +$ cd vjhl +$ ls +dir nbhmzl +$ cd nbhmzl +$ ls +155454 sbnhc.flh +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd clhclcr +$ ls +dir jwqwhq +268077 njcmcfl.ctm +$ cd jwqwhq +$ ls +256988 rbq.hpj +$ cd .. +$ cd .. +$ cd qwbnvzv +$ ls +167852 dln.zrn +dir hpwpm +131149 lsc.tjj +dir mfhzl +dir mzhwwrtp +201277 sbnhc.pfh +147232 zlmgttpl +$ cd hpwpm +$ ls +135194 jpzt.fjn +$ cd .. +$ cd mfhzl +$ ls +166015 jrcqvgf.jdg +$ cd .. +$ cd mzhwwrtp +$ ls +231983 dgrvfdmp +121846 dwvphbm.lvp +$ cd .. +$ cd .. +$ cd vbrc +$ ls +320029 wbhs.mpd +$ cd .. +$ cd vfdqq +$ ls +277998 nfqs.crt +dir qzgwglhc +dir vnlmlq +68520 wsc.vhz +dir zfdhthfn +$ cd qzgwglhc +$ ls +25046 cqhdvmzp.npw +250876 dwvphbm +$ cd .. +$ cd vnlmlq +$ ls +212688 hbnlqs +8202 mlpl.tsp +69495 vnlmlq.thv +281200 vzdwr.tbl +$ cd .. +$ cd zfdhthfn +$ ls +233242 dstb.hrs +269387 nfqs.crt +$ cd .. +$ cd .. +$ cd .. +$ cd wqjnwgpj +$ ls +dir hfd +dir lbft +dir rtlw +dir vbf +$ cd hfd +$ ls +224694 cqhdvmzp.npw +100103 dbmwn.tqz +$ cd .. +$ cd lbft +$ ls +60107 hbnlqs +$ cd .. +$ cd rtlw +$ ls +dir ntpb +$ cd ntpb +$ ls +341166 mfhzl.pvj +$ cd .. +$ cd .. +$ cd vbf +$ ls +54177 ghrscj.tlh +$ cd .. +$ cd .. +$ cd .. +$ cd nbwfdvsv +$ ls +107273 mptw.qmn +$ cd .. +$ cd qnwhfv +$ ls +55633 hbnlqs +$ cd .. +$ cd sbnhc +$ ls +173163 vnlmlq +$ cd .. +$ cd .. +$ cd dcqq +$ ls +217679 hbnlqs +146747 ltp +$ cd .. +$ cd rhstw +$ ls +dir clh +dir grz +dir ntjtzr +dir qrjgl +dir rzqp +dir tzgrs +dir zrdh +$ cd clh +$ ls +212153 cqhdvmzp.npw +$ cd .. +$ cd grz +$ ls +346002 cqhdvmzp.npw +$ cd .. +$ cd ntjtzr +$ ls +271549 rbq.hpj +308693 sbnhc.zrv +$ cd .. +$ cd qrjgl +$ ls +119344 jfshwj +$ cd .. +$ cd rzqp +$ ls +327891 dcqq +210282 hlmnv.jph +118199 nfqs.crt +dir rwh +$ cd rwh +$ ls +285057 rmvrnb +$ cd .. +$ cd .. +$ cd tzgrs +$ ls +23830 cjqrr +$ cd .. +$ cd zrdh +$ ls +dir dcqq +dir dwvphbm +188911 rbq.hpj +dir vpnzs +$ cd dcqq +$ ls +277454 hbnlqs +dir jnncgzgm +$ cd jnncgzgm +$ ls +199664 dcqq.tgm +$ cd .. +$ cd .. +$ cd dwvphbm +$ ls +221700 fgnznr.dhf +$ cd .. +$ cd vpnzs +$ ls +254459 fvcf.zcj +$ cd .. +$ cd .. +$ cd .. +$ cd vnlmlq +$ ls +dir gfsj +$ cd gfsj +$ ls +dir hddvr +$ cd hddvr +$ ls +dir mqmnzb +$ cd mqmnzb +$ ls +341835 jjjh +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd mfhzl +$ ls +dir pccldwf +$ cd pccldwf +$ ls +126977 nvcw +318605 rljpfnc.dzd +$ cd .. +$ cd .. +$ cd nljtr +$ ls +dir slztzqd +$ cd slztzqd +$ ls +55754 bpwghjpg.bfq +205753 pfplh +319151 vdlmjj.mmn +dir vnlmlq +$ cd vnlmlq +$ ls +dir mfhzl +338081 zhjrrs +dir zpj +$ cd mfhzl +$ ls +dir dcqq +dir lgfb +dir rjbprpnl +343125 vnlmlq.zpr +$ cd dcqq +$ ls +288030 rbq.hpj +$ cd .. +$ cd lgfb +$ ls +22119 cqhdvmzp.npw +238775 wbmnzgt.vnl +$ cd .. +$ cd rjbprpnl +$ ls +244896 lvgg.jvz +$ cd .. +$ cd .. +$ cd zpj +$ ls +339679 dcqq +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd nwzp +$ ls +dir mfhzl +dir vnlmlq +$ cd mfhzl +$ ls +107297 dwvphbm.nvb +$ cd .. +$ cd vnlmlq +$ ls +dir mdj +$ cd mdj +$ ls +87553 dbtct.nws +$ cd .. +$ cd .. +$ cd .. +$ cd rfwwwgr +$ ls +287719 flpwrp +74896 mfhzl +$ cd .. +$ cd sbnhc +$ ls +232949 dcqq.rnj +dir dwvphbm +$ cd dwvphbm +$ ls +21955 pcqbfbv.bfg +$ cd .. +$ cd .. +$ cd zhfl +$ ls +dir jvnlhq +dir vnlmlq +180619 wcd.jsr +$ cd jvnlhq +$ ls +20692 clp.vmd +dir dbn +91389 jqbp.zss +dir njmdrb +dir sbnhc +dir sdrrzp +192374 vnlmlq.lvj +$ cd dbn +$ ls +293401 dcqq +$ cd .. +$ cd njmdrb +$ ls +270463 dvzbtnbb.vth +dir gdvtg +219739 hsdg.rss +dir mfhzl +285584 mhq +dir mllvdccz +234503 nfqs.crt +$ cd gdvtg +$ ls +294243 dllnh +27407 rws.vqt +$ cd .. +$ cd mfhzl +$ ls +dir dwvphbm +154477 nbphv.pjc +dir qpnncj +33994 splscqn.tqz +dir vnlmlq +$ cd dwvphbm +$ ls +87960 sct +$ cd .. +$ cd qpnncj +$ ls +182692 lqbbz +$ cd .. +$ cd vnlmlq +$ ls +285614 bfrjhpv.dvn +121146 nfqs.crt +84544 sbnhc +$ cd .. +$ cd .. +$ cd mllvdccz +$ ls +184878 bsjzsmw.pwt +184061 dcqq.bbm +243546 dwvphbm.rdw +dir ftmrszgl +8251 rbq.hpj +dir tgvchzn +$ cd ftmrszgl +$ ls +267439 bdrn.gfb +257447 npcrg.gjn +$ cd .. +$ cd tgvchzn +$ ls +227775 lqbftlg.scr +$ cd .. +$ cd .. +$ cd .. +$ cd sbnhc +$ ls +245520 tjp.pml +$ cd .. +$ cd sdrrzp +$ ls +dir dcqq +7894 gstzs +dir rnjcrjj +dir sbnhc +$ cd dcqq +$ ls +340987 sjb.nss +$ cd .. +$ cd rnjcrjj +$ ls +67782 rbq.hpj +$ cd .. +$ cd sbnhc +$ ls +156705 zwr.rtg +$ cd .. +$ cd .. +$ cd .. +$ cd vnlmlq +$ ls +dir dwvphbm +dir jgc +dir lbh +dir lrwt +dir rhszw +213882 sbnhc.dzl +dir vnlmlq +2798 vwwbhsnb.dms +$ cd dwvphbm +$ ls +257972 zccsn.bdr +$ cd .. +$ cd jgc +$ ls +85911 cqhdvmzp.npw +dir fnvjv +49760 grsw +dir ntz +249818 rgzqq.tlr +$ cd fnvjv +$ ls +288935 dcqq.bsq +dir nwlbbwtq +264238 tcwwzs.zwg +$ cd nwlbbwtq +$ ls +dir qcm +318151 sbnhc.lwr +322077 stb.cqj +$ cd qcm +$ ls +147721 crrdn +dir gctnt +59476 rbq.hpj +dir sbnhc +$ cd gctnt +$ ls +328909 dwvphbm +82536 rjnz +$ cd .. +$ cd sbnhc +$ ls +35956 nfqs.crt +89464 qvhvlcl.nzq +dir vvn +$ cd vvn +$ ls +119247 fztlb.qch +79030 vnlmlq +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd ntz +$ ls +234879 mfhzl +$ cd .. +$ cd .. +$ cd lbh +$ ls +dir dwvphbm +24310 jgsp.ggs +dir lft +$ cd dwvphbm +$ ls +295434 rbq.hpj +$ cd .. +$ cd lft +$ ls +dir dcqq +dir dwvphbm +123657 mfhzl.nhq +$ cd dcqq +$ ls +dir tgp +$ cd tgp +$ ls +271647 gmmq.tmp +$ cd .. +$ cd .. +$ cd dwvphbm +$ ls +dir pftcdtd +108321 qtqhqwnt +$ cd pftcdtd +$ ls +28073 hwqzcr.zcp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd lrwt +$ ls +38953 hzhzfw.tpv +59885 vnlmlq +$ cd .. +$ cd rhszw +$ ls +dir hsfbh +dir mmflqvsd +20071 rhdbms +162563 rpjjld +dir vnlmlq +$ cd hsfbh +$ ls +255050 lglw.jvw +99814 pzvw +28443 sbct.hng +168934 sbnhc.fnt +dir wnwztl +$ cd wnwztl +$ ls +dir brwhjj +215806 dcqq +214967 mqhv.wwq +82998 vcm.mhc +$ cd brwhjj +$ ls +171935 rbq.hpj +$ cd .. +$ cd .. +$ cd .. +$ cd mmflqvsd +$ ls +109141 dcqq.mdc +$ cd .. +$ cd vnlmlq +$ ls +dir blggqt +117656 dcqq.vlg +dir fpw +195879 gsb.dvw +dir mfhzl +5068 mnfdf +dir mtg +dir vnlmlq +$ cd blggqt +$ ls +195700 ntv.zjn +$ cd .. +$ cd fpw +$ ls +143105 sct +$ cd .. +$ cd mfhzl +$ ls +dir cpcczt +47767 nzzcn.qhp +dir zdv +$ cd cpcczt +$ ls +209755 vnlmlq.lbw +$ cd .. +$ cd zdv +$ ls +335546 sbnhc.ccg +$ cd .. +$ cd .. +$ cd mtg +$ ls +244632 dcqq.frr +240873 tpvqthc.ljw +dir zdtnqtcw +$ cd zdtnqtcw +$ ls +80980 nfqs.crt +$ cd .. +$ cd .. +$ cd vnlmlq +$ ls +153953 dwvphbm +$ cd .. +$ cd .. +$ cd .. +$ cd vnlmlq +$ ls +dir dcqq +dir dwvphbm +155333 mmhjscr.mrh +293720 nfqs.crt +dir qnv +dir rdvq +226720 zgmtqvws +160920 zgnft +$ cd dcqq +$ ls +142227 cqhdvmzp.npw +199798 twqppvs +$ cd .. +$ cd dwvphbm +$ ls +58807 cdbdnrqh.fgq +224321 hbnlqs +340073 sbnhc +337932 sct +2613 vdc.nwz +$ cd .. +$ cd qnv +$ ls +244311 cqhdvmzp.npw +273687 jhqt.glz +dir mnrh +240044 nfqs.crt +49861 pwsgmlq.hcw +dir rdrs +126195 vnlmlq.frr +$ cd mnrh +$ ls +276125 hbnlqs +$ cd .. +$ cd rdrs +$ ls +dir dqgw +213018 dwvphbm +13785 hbnlqs +dir lbpjczw +116081 nfqs.crt +154367 rbq.hpj +77634 sct +$ cd dqgw +$ ls +dir rpcfdr +$ cd rpcfdr +$ ls +dir swvlhbg +$ cd swvlhbg +$ ls +309244 sct +$ cd .. +$ cd .. +$ cd .. +$ cd lbpjczw +$ ls +69436 rbq.hpj +$ cd .. +$ cd .. +$ cd .. +$ cd rdvq +$ ls +128806 dcqq.qzr +64132 dcqq.vgc +dir hht +165359 jzj.rqv +dir sbnhc +$ cd hht +$ ls +dir vnlmlq +$ cd vnlmlq +$ ls +49895 wct +$ cd .. +$ cd .. +$ cd sbnhc +$ ls +265434 vnlmlq