diff --git a/README.md b/README.md index 884dc2c..a47835f 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,7 @@ - Day 4: 7:08 but top 100 required 3:33 still okay - Day 5: 11:56 but 7:58 for top 100... getting better? - Day 6: 3:50 but 2:25 for leaderboard :D -- Day 7: +- Day 7: 27:55 and 14:47 for leaderboard; okay, I would say +- Day 8: 61:00 and 10:00 for leaderboard; I need template code for searching coordinate systems +- Day 9: 58:00 and 7:32 for leaderboard; I need code for 2D stuff +- Day 10: diff --git a/d7.py b/d7.py new file mode 100644 index 0000000..6b92bd4 --- /dev/null +++ b/d7.py @@ -0,0 +1,117 @@ +import re +from string import ascii_lowercase, ascii_uppercase, digits + +EXAMPLE = """ +$ cd / +$ ls +dir a +14848514 b.txt +8504156 c.dat +dir d +$ cd a +$ ls +dir e +29116 f +2557 g +62596 h.lst +$ cd e +$ ls +584 i +$ cd .. +$ cd .. +$ cd d +$ ls +4060174 j +8033020 d.log +5626152 d.ext +7214296 k +""" + +def clean(text: str) -> list[str]: + return list(filter(lambda l: l.strip() != "", text.splitlines())) + +def solve(lines: list[str]): + sizes = {} + res = 0 + + current_dir = () + for line in lines: + if line.startswith("$ cd"): + c = line.replace("$ cd ", "").strip() + if c == "..": + current_dir = tuple(list(current_dir)[:-1]) + else: + current_dir = tuple(list(current_dir) + [c]) + elif line[0] in digits: + size, _ = line.split() + size = int(size) + try: + sizes[current_dir] += size + except KeyError: + sizes[current_dir] = size + + for i in range(1, len(current_dir)): + outer_dir = tuple(list(current_dir)[:-i]) + try: + sizes[outer_dir] += size + except KeyError: + sizes[outer_dir] = size + + for _, size in sizes.items(): + if size <= 100000: + res += size + # 23:50 + return res + +def solve2(lines: list[str]): + sizes = {} + res = 0 + + current_dir = () + for line in lines: + if line.startswith("$ cd"): + c = line.replace("$ cd ", "").strip() + if c == "..": + current_dir = tuple(list(current_dir)[:-1]) + else: + current_dir = tuple(list(current_dir) + [c]) + elif line[0] in digits: + size, _ = line.split() + size = int(size) + try: + sizes[current_dir] += size + except KeyError: + sizes[current_dir] = size + + for i in range(1, len(current_dir)): + outer_dir = tuple(list(current_dir)[:-i]) + try: + sizes[outer_dir] += size + except KeyError: + sizes[outer_dir] = size + total_space = 70000000 + unused_space = 30000000 + used_space = sizes[("/",)] + + res = 2**32 + for _, size in sizes.items(): + if total_space - used_space + size >= unused_space and size < res: + res = size + # 27:55 + return res + +def main(): + example = clean(EXAMPLE) + print("Example 1:", solve(example)) + + data = clean(open("i7.txt").read()) + print("Solution 1:", solve(data)) + + example = clean(EXAMPLE) + print("Example 2:", solve2(example)) + + data = clean(open("i7.txt").read()) + print("Solution 2:", solve2(data)) + +if __name__ == "__main__": + main() diff --git a/d8.py b/d8.py new file mode 100644 index 0000000..f1a5c39 --- /dev/null +++ b/d8.py @@ -0,0 +1,132 @@ +import re +from string import ascii_lowercase, ascii_uppercase + +EXAMPLE = """ +30373 +25512 +65332 +33549 +35390 +""" + +def clean(text: str) -> list[str]: + return list(filter(lambda l: l.strip() != "", text.splitlines())) + + +def is_visible(trees, y_tree, x_tree): + y_max = len(trees) + x_max = len(trees[0]) + tree_height = trees[y_tree][x_tree] + + for x in range(0, x_tree): + if trees[y_tree][x] >= tree_height: + break + else: + return True + + for x in range(x_tree + 1, x_max): + if trees[y_tree][x] >= tree_height: + break + else: + return True + + for y in range(0, y_tree): + if trees[y][x_tree] >= tree_height: + break + else: + return True + + for y in range(y_tree + 1, y_max): + if trees[y][x_tree] >= tree_height: + break + else: + return True + return False + +def solve(lines: list[str]): + res = 0 + trees = [] + for i in range(len(lines)): + line = lines[i] + trees.append(list(map(int, line))) + + for y in range(len(trees)): + for x in range(len(trees)): + if is_visible(trees, y, x): + res += 1 + else: + pass + return res + + +def scenic_score(trees, y_tree, x_tree): + y_max = len(trees) + x_max = len(trees[0]) + + if x_tree == 0 or y_tree == 0 or x_tree == x_max - 1 or y_tree == y_max - 1: + return 0 + + tree_height = trees[y_tree][x_tree] + left, right, up, down = 0, 0, 0, 0 + + for x in range(x_tree - 1, -1, -1): + if trees[y_tree][x] < tree_height: + left += 1 + else: + left += 1 + break + + for x in range(x_tree + 1, x_max): + if trees[y_tree][x] < tree_height: + right += 1 + else: + right += 1 + break + + for y in range(y_tree - 1, -1, -1): + if trees[y][x_tree] < tree_height: + up += 1 + else: + up += 1 + break + + for y in range(y_tree + 1, y_max): + if trees[y][x_tree] < tree_height: + down += 1 + else: + down += 1 + break + + score = up * down * left * right + # print(f"{y_tree=} {x_tree=} {left=} {right=} {up=} {down=} {score=}") + return score + +def solve2(lines: list[str]): + trees = [] + for i in range(len(lines)): + line = lines[i] + trees.append(list(map(int, line))) + + max_score = 0 + for y in range(len(trees)): + for x in range(len(trees)): + score = scenic_score(trees, y, x) + if score > max_score: + max_score = score + return max_score + +def main(): + example = clean(EXAMPLE) + print("Example 1:", solve(example)) + + data = clean(open("i8.txt").read()) + print("Solution 1:", solve(data)) + + example = clean(EXAMPLE) + print("Example 2:", solve2(example)) + + data = clean(open("i8.txt").read()) + print("Solution 2:", solve2(data)) + +if __name__ == "__main__": + main() diff --git a/d9.py b/d9.py new file mode 100644 index 0000000..8b6825e --- /dev/null +++ b/d9.py @@ -0,0 +1,128 @@ +EXAMPLE = """ +R 4 +U 4 +L 3 +D 1 +R 4 +D 1 +L 5 +R 2 +""" + +def clean(text: str) -> list[str]: + return list(filter(lambda l: l.strip() != "", text.splitlines())) + +def new_pos(h_pos, t_pos, dir): + if dir == "R": + new_h_pos = (h_pos[0] + 1, h_pos[1]) + elif dir == "U": + new_h_pos = (h_pos[0], h_pos[1] + 1) + elif dir == "L": + new_h_pos = (h_pos[0] - 1, h_pos[1]) + elif dir == "D": + new_h_pos = (h_pos[0], h_pos[1] - 1) + elif dir == "NONE": + new_h_pos = (h_pos[0], h_pos[1]) + else: + raise Exception("Unexpected direction.") + + # xxxxx + # x---x + # x-O-x + # x---x + # xxxxx + dx, dy = t_pos[0] - new_h_pos[0], t_pos[1] - new_h_pos[1] + delta = { + (-1, -1): (0, 0), + (-1, 0): (0, 0), + (-1, 1): (0, 0), + (0, -1): (0, 0), + (0, 0): (0, 0), + (0, 1): (0, 0), + (1, -1): (0, 0), + (1, 0): (0, 0), + (1, 1): (0, 0), + (-2, 2): (1, -1), + (-2, 1): (1, -1), + (-2, 0): (1, 0), + (-2, -1): (1, 1), + (-2, -2): (1, 1), + (2, 2): (-1, -1), + (2, 1): (-1, -1), + (2, 0): (-1, 0), + (2, -1): (-1, 1), + (2, -2): (-1, 1), + (-1, 2): (1, -1), + (-1, -2): (1, 1), + (0, 2): (0, -1), + (0, -2): (0, 1), + (1, 2): (-1, -1), + (1, -2): (-1, 1), + } + dx_, dy_ = delta[(dx, dy)] + new_t_pos = t_pos[0] + dx_, t_pos[1] + dy_ + # print(f"{h_pos=} {t_pos=} {dir=}") + # print(f"{new_h_pos=} {dx=} {dy=}") + # print(f"{new_t_pos=}") + # print("----") + return new_t_pos, new_h_pos + +def solve(lines: list[str]): + pos = set() + h_pos = (0, 0) + t_pos = (0, 0) + pos.add(t_pos) + for i in range(len(lines)): + dir, amount = lines[i].split() + for _ in range(int(amount)): + t_pos, h_pos = new_pos(h_pos, t_pos, dir) + pos.add(t_pos) + # 44:00 + return len(pos) + +EXAMPLE2 = """ +R 5 +U 8 +L 8 +D 3 +R 17 +D 10 +L 25 +U 20 +""" + +def solve2(lines: list[str]): + vis = set() + poss = [(0, 0) for _ in range(10)] + vis.add((0, 0)) + for i in range(len(lines)): + dir, amount = lines[i].split() + for _ in range(int(amount)): + for i in range(len(poss) - 1): + h_pos = poss[i] + t_pos = poss[i + 1] + if i == 0: + t_pos, h_pos = new_pos(h_pos, t_pos, dir) + else: + t_pos, h_pos = new_pos(h_pos, t_pos, "NONE") + poss[i] = h_pos + poss[i + 1] = t_pos + vis.add(poss[-1]) + # 58:00 + return len(vis) + +def main(): + example = clean(EXAMPLE) + print("Example 1:", solve(example)) + + data = clean(open("i9.txt").read()) + print("Solution 1:", solve(data)) + + example = clean(EXAMPLE2) + print("Example 2:", solve2(example)) + + data = clean(open("i9.txt").read()) + print("Solution 2:", solve2(data)) + +if __name__ == "__main__": + main() diff --git a/dx.py b/dx.py new file mode 100644 index 0000000..ed32b04 --- /dev/null +++ b/dx.py @@ -0,0 +1,39 @@ +import re +from string import ascii_lowercase, ascii_uppercase + +EXAMPLE = """ +""" + +def clean(text: str) -> list[str]: + return list(filter(lambda l: l.strip() != "", text.splitlines())) + +def solve(lines: list[str]): + res = 0 + for i, line in enumerate(lines): + print(i, line) + return res + +def solve2(lines: list[str]): + res = 0 + for i, line in enumerate(lines): + print(i, line) + return res + +def main(): + example = clean(EXAMPLE) + print("Example 1:", solve(example)) + return + + data = clean(open("i6.txt").read()) + print("Solution 1:", solve(data)) + return + + example = clean(EXAMPLE) + print("Example 2:", solve2(example)) + return + + data = clean(open("i6.txt").read()) + print("Solution 2:", solve2(data)) + +if __name__ == "__main__": + main() diff --git a/i7.txt b/i7.txt new file mode 100644 index 0000000..4c660fb --- /dev/null +++ b/i7.txt @@ -0,0 +1,1044 @@ +$ cd / +$ ls +dir dscbfp +283653 fsdfddfv +dir mjzqq +241330 rcm.psp +dir sjbpgc +dir zfsbvs +$ cd dscbfp +$ ls +dir fgtvzpl +dir hgfrgbv +dir hmwqgjnl +dir jvr +dir lcvdgm +dir mmhtpz +dir wqc +dir znl +dir zph +dir zwlpm +$ cd fgtvzpl +$ ls +dir fvrghzfg +28513 lbbg.rhq +$ cd fvrghzfg +$ ls +212295 cjb.nwg +dir ftqs +$ cd ftqs +$ ls +250415 mmhtpz +$ cd .. +$ cd .. +$ cd .. +$ cd hgfrgbv +$ ls +86365 cdrgnzrz.hwf +175318 wqtmwb +$ cd .. +$ cd hmwqgjnl +$ ls +dir dscbfp +dir dwtfrgj +130223 fnl.whg +66339 mtcv +dir rgvvz +$ cd dscbfp +$ ls +146043 wpzr +$ cd .. +$ cd dwtfrgj +$ ls +dir jwmw +dir pntqg +$ cd jwmw +$ ls +dir dscbfp +243410 lbbg.phv +dir mmhtpz +$ cd dscbfp +$ ls +dir mmhtpz +$ cd mmhtpz +$ ls +dir mdrddz +$ cd mdrddz +$ ls +167704 fgjsq.bpb +$ cd .. +$ cd .. +$ cd .. +$ cd mmhtpz +$ ls +233626 dtcmsq.pdl +163642 jczs.rgg +111667 msfmjd.vlr +23137 ndhvh.jbq +$ cd .. +$ cd .. +$ cd pntqg +$ ls +68578 lnjvpcgq.zqs +62492 rcm.psp +$ cd .. +$ cd .. +$ cd rgvvz +$ ls +dir hmwqgjnl +dir jrjgnch +110656 lnjvpcgq.zqs +206537 mmhtpz.wgd +198736 msfmjd.vlr +110172 rrl.wqz +dir wrb +$ cd hmwqgjnl +$ ls +141962 bsgljmww.whq +dir hsmr +123313 msfmjd.vlr +223573 rcm.psp +$ cd hsmr +$ ls +229737 fzptbrzb.lqv +$ cd .. +$ cd .. +$ cd jrjgnch +$ ls +4426 lbbg.fzh +dir zbnp +$ cd zbnp +$ ls +65658 cjqbfv.fjf +270282 pwv.bcz +$ cd .. +$ cd .. +$ cd wrb +$ ls +dir fgwnpp +249291 lbbg +dir mbd +dir rdnf +dir rgvvz +dir rnrr +dir vzjh +$ cd fgwnpp +$ ls +dir gdfrtgl +230060 lbbg.qfm +275250 rbd.fqj +dir zlgpdb +$ cd gdfrtgl +$ ls +dir gvw +dir rgvvz +$ cd gvw +$ ls +123285 mmhtpz.vbl +167405 qhfqz +$ cd .. +$ cd rgvvz +$ ls +254625 rcm.psp +$ cd .. +$ cd .. +$ cd zlgpdb +$ ls +72966 cjjl.wzp +217828 ndhvh.jbq +141199 wbnl.qdc +$ cd .. +$ cd .. +$ cd mbd +$ ls +dir hmwqgjnl +$ cd hmwqgjnl +$ ls +13420 mmhtpz.snz +$ cd .. +$ cd .. +$ cd rdnf +$ ls +dir frqb +dir jjjzcjdh +dir mwpd +dir nvz +152893 rcm.psp +$ cd frqb +$ ls +dir dscbfp +231903 gwlj.lgn +dir mmhtpz +298674 nhc.hpl +193867 rfmv.dzd +dir sqt +$ cd dscbfp +$ ls +280820 rgvvz.glj +$ cd .. +$ cd mmhtpz +$ ls +137192 jczs.rgg +273426 rcm.psp +$ cd .. +$ cd sqt +$ ls +dir fwvgbgbs +245416 rgvvz.cgh +12489 wnjgq +$ cd fwvgbgbs +$ ls +dir mfpd +170052 msfmjd.vlr +278273 mwr.stv +177661 vgwstqlt.zml +$ cd mfpd +$ ls +264130 gmwhsj.jvp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd jjjzcjdh +$ ls +dir cnjnnzw +dir flprjhlm +266398 fqclzm.mfw +dir gftmlvmh +113237 jgnmbml.rnr +148723 ljfg.vmc +237722 rrzvq.cqr +$ cd cnjnnzw +$ ls +231497 ldqdwn.bvf +$ cd .. +$ cd flprjhlm +$ ls +185486 hmwqgjnl.jdn +$ cd .. +$ cd gftmlvmh +$ ls +dir blpt +41840 qbr.tjw +$ cd blpt +$ ls +dir sbtg +$ cd sbtg +$ ls +7518 wsh.vrp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd mwpd +$ ls +35589 flgh +$ cd .. +$ cd nvz +$ ls +147018 mpmcpwnl.hqg +$ cd .. +$ cd .. +$ cd rgvvz +$ ls +280057 dhwzlmgn +156280 gmzvl.gtg +dir hmwqgjnl +dir pfcjgrgp +dir prhzdjqv +132543 qlwqmd.wmj +223249 rcm.psp +124899 zvzjh.sbg +$ cd hmwqgjnl +$ ls +99756 mvdpfcvs.wft +$ cd .. +$ cd pfcjgrgp +$ ls +dir lbbg +dir nlgf +130799 wtrdvzhs +$ cd lbbg +$ ls +193125 lnjvpcgq.zqs +dir vnlmr +$ cd vnlmr +$ ls +39935 lgd.hzz +$ cd .. +$ cd .. +$ cd nlgf +$ ls +106563 jfr +$ cd .. +$ cd .. +$ cd prhzdjqv +$ ls +dir jhhq +$ cd jhhq +$ ls +135155 mzjdptfm.fln +$ cd .. +$ cd .. +$ cd .. +$ cd rnrr +$ ls +249039 jczs.rgg +154853 whlwl +$ cd .. +$ cd vzjh +$ ls +dir hjrs +$ cd hjrs +$ ls +146991 mmhtpz +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd jvr +$ ls +13268 gwsldhjc.vbf +dir hbpwd +34369 mjtwr.rpv +dir tfvztnb +$ cd hbpwd +$ ls +253823 bzqc +dir dscbfp +237051 ggvvcpg.gmj +23097 mhl +211524 ndhvh.jbq +133936 qzslmmz.fzp +$ cd dscbfp +$ ls +184190 msfmjd.vlr +238872 ndhvh.jbq +dir pfsq +dir pljsm +dir tlgtcb +$ cd pfsq +$ ls +dir hmwqgjnl +249351 mmhtpz +$ cd hmwqgjnl +$ ls +301132 rcm.psp +$ cd .. +$ cd .. +$ cd pljsm +$ ls +263279 bqh.vhl +$ cd .. +$ cd tlgtcb +$ ls +50558 bgzrlnzz.rfm +83169 gtrjzl.hhh +212764 mgf.zlg +210599 mmhtpz.dqm +dir tqsvhc +$ cd tqsvhc +$ ls +264513 lnjvpcgq.zqs +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd tfvztnb +$ ls +dir mdz +$ cd mdz +$ ls +209155 dqjh +$ cd .. +$ cd .. +$ cd .. +$ cd lcvdgm +$ ls +135165 lbbg.gsz +282211 vlbwsps.plg +$ cd .. +$ cd mmhtpz +$ ls +dir dscbfp +dir mmhtpz +70564 msfmjd.vlr +dir nzdvqb +59232 rgvvz +dir ztbht +$ cd dscbfp +$ ls +dir cddzd +dir dscbfp +dir hmwqgjnl +142689 qnnc +dir whbjm +$ cd cddzd +$ ls +255928 dtnn.hzf +$ cd .. +$ cd dscbfp +$ ls +dir brvf +182587 fhmzbc.nlb +129514 lbbg +177841 ngw.tlj +dir qttp +dir zdmb +269964 zqn.htj +$ cd brvf +$ ls +24071 tzsvg.pwc +174118 vtdntn +$ cd .. +$ cd qttp +$ ls +54613 ccdnjnwz +131277 zzppc +$ cd .. +$ cd zdmb +$ ls +117682 bwjhr.gvw +dir hmwqgjnl +138816 jczs.rgg +273129 mmhtpz +89710 rcm.psp +dir rgvvz +$ cd hmwqgjnl +$ ls +102907 mmhtpz.dnp +235885 ndhvh.jbq +239856 rcm.psp +$ cd .. +$ cd rgvvz +$ ls +dir fpzzfc +292842 lbbg +70603 msfmjd.vlr +157797 qjs.zlm +dir zgn +$ cd fpzzfc +$ ls +dir rgvvz +$ cd rgvvz +$ ls +222407 crrwlp.zcd +$ cd .. +$ cd .. +$ cd zgn +$ ls +70915 hmwqgjnl.zdg +276918 lbbg.wlg +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd hmwqgjnl +$ ls +207726 cqn.rds +$ cd .. +$ cd whbjm +$ ls +44954 ndhvh.jbq +136649 pphznj +dir ptq +215264 rmpbqgrl.mqt +276795 tbtv +292696 vddnpnp +dir wnqgpj +$ cd ptq +$ ls +191976 jczs.rgg +59747 ncbs.mjc +77874 njqmf +dir zss +$ cd zss +$ ls +209276 vnv.nvm +$ cd .. +$ cd .. +$ cd wnqgpj +$ ls +211738 jczs.rgg +$ cd .. +$ cd .. +$ cd .. +$ cd mmhtpz +$ ls +dir hmwqgjnl +$ cd hmwqgjnl +$ ls +dir jzb +dir mmhtpz +$ cd jzb +$ ls +138393 drqp.ttd +250098 jczs.rgg +dir mfq +$ cd mfq +$ ls +dir nfn +$ cd nfn +$ ls +239922 rcm.psp +$ cd .. +$ cd .. +$ cd .. +$ cd mmhtpz +$ ls +158815 jvwqttqn +72929 jvzfccm +18353 lwz.clt +144822 rnvfllt.fwn +$ cd .. +$ cd .. +$ cd .. +$ cd nzdvqb +$ ls +226139 rcm.psp +$ cd .. +$ cd ztbht +$ ls +279766 jczs.rgg +222685 msfmjd.vlr +$ cd .. +$ cd .. +$ cd wqc +$ ls +dir cndf +dir hmwqgjnl +dir lbbg +$ cd cndf +$ ls +dir hmwqgjnl +284014 qsr.pjg +$ cd hmwqgjnl +$ ls +91921 zrsp.qwd +$ cd .. +$ cd .. +$ cd hmwqgjnl +$ ls +dir fccbrtcn +23864 msfmjd.vlr +286035 nrbmbpm +dir pwvgqth +91650 rgvvz +dir wllwhm +$ cd fccbrtcn +$ ls +87931 bmjdngzq.zbv +dir cwr +dir djngvdp +266568 lnjvpcgq.zqs +dir zdwhqb +$ cd cwr +$ ls +dir cmnv +$ cd cmnv +$ ls +dir dscbfp +dir dwdnwdz +291794 rcm.psp +$ cd dscbfp +$ ls +dir gtcg +$ cd gtcg +$ ls +73017 pgzcm.qbz +$ cd .. +$ cd .. +$ cd dwdnwdz +$ ls +dir hvgwfj +$ cd hvgwfj +$ ls +235064 rnjjh.qnp +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd djngvdp +$ ls +264940 jczs.rgg +162343 rgvvz +$ cd .. +$ cd zdwhqb +$ ls +233875 ggd +230766 ggqrt.pqn +$ cd .. +$ cd .. +$ cd pwvgqth +$ ls +dir nrm +dir rgvvz +289164 sgdsg.fbs +$ cd nrm +$ ls +135745 hmwqgjnl.fwb +$ cd .. +$ cd rgvvz +$ ls +269675 rcm.psp +$ cd .. +$ cd .. +$ cd wllwhm +$ ls +14033 rptrszg.lfh +$ cd .. +$ cd .. +$ cd lbbg +$ ls +dir fsz +dir hmwqgjnl +2856 jpmw.tsp +156026 ndhvh.jbq +dir rgmmpm +dir vzg +$ cd fsz +$ ls +29744 cdsr +dir frjzv +dir hmwqgjnl +75723 hmwqgjnl.jcj +222555 jczs.rgg +dir lbbg +dir pplp +184370 vzb +$ cd frjzv +$ ls +87553 lnjvpcgq.zqs +$ cd .. +$ cd hmwqgjnl +$ ls +94991 hsjmzpq +$ cd .. +$ cd lbbg +$ ls +177441 dscbfp +9637 lnjvpcgq.zqs +$ cd .. +$ cd pplp +$ ls +230787 gcjfcbg.sds +54478 twnslqqv.gtw +54723 wzwcw.pfj +$ cd .. +$ cd .. +$ cd hmwqgjnl +$ ls +dir drpt +dir dscbfp +18560 jczs.rgg +dir tpt +$ cd drpt +$ ls +dir gmcpd +10052 jczs.rgg +87927 mmhtpz.jdt +dir rgvvz +$ cd gmcpd +$ ls +dir rgvvz +$ cd rgvvz +$ ls +dir tjqcj +$ cd tjqcj +$ ls +273175 bgsjwb +$ cd .. +$ cd .. +$ cd .. +$ cd rgvvz +$ ls +104452 fbv +$ cd .. +$ cd .. +$ cd dscbfp +$ ls +dir bjn +dir rvm +$ cd bjn +$ ls +119619 mmhtpz.slf +$ cd .. +$ cd rvm +$ ls +dir hgl +$ cd hgl +$ ls +9146 jczs.rgg +294696 rcm.psp +$ cd .. +$ cd .. +$ cd .. +$ cd tpt +$ ls +102194 tmlbnm +$ cd .. +$ cd .. +$ cd rgmmpm +$ ls +25462 dcp.zfg +99756 frmlbqp +71786 msfmjd.vlr +275455 mvrszdhp.jbr +$ cd .. +$ cd vzg +$ ls +dir hmwqgjnl +160612 msfmjd.vlr +103726 pprnm.rmw +$ cd hmwqgjnl +$ ls +130188 ndhvh.jbq +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd znl +$ ls +256149 qcd +dir rgrhdq +dir wfhcc +$ cd rgrhdq +$ ls +dir nqpz +17930 rglm.wrj +$ cd nqpz +$ ls +253269 rcm.psp +$ cd .. +$ cd .. +$ cd wfhcc +$ ls +dir dpds +dir hmwqgjnl +82595 rcm.psp +dir rgvvz +$ cd dpds +$ ls +143467 bljj.ddw +283261 rcm.psp +$ cd .. +$ cd hmwqgjnl +$ ls +dir fnmqpt +$ cd fnmqpt +$ ls +288739 dscbfp +$ cd .. +$ cd .. +$ cd rgvvz +$ ls +41475 srcnvmj.tqb +$ cd .. +$ cd .. +$ cd .. +$ cd zph +$ ls +dir hmwqgjnl +dir tbwhzrtt +$ cd hmwqgjnl +$ ls +67069 rcm.psp +219165 rgvvz +$ cd .. +$ cd tbwhzrtt +$ ls +198892 gwlw.hbb +94996 mmhtpz +dir wwwj +$ cd wwwj +$ ls +dir lcttc +14000 lnjvpcgq.zqs +$ cd lcttc +$ ls +141874 jhlrtbjw.thr +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd zwlpm +$ ls +206595 ctvmprqd.nwz +292861 dscbfp.bpv +171719 ldmrl.zhz +23134 lnjvpcgq.zqs +dir mmhtpz +283001 msfmjd.vlr +dir pwrfgjdg +dir qdztzhl +$ cd mmhtpz +$ ls +90712 lzv.smr +102181 mcntll.fgt +260630 nhn.fll +219684 tlws +dir tpsvqmgb +$ cd tpsvqmgb +$ ls +dir bpmqlq +$ cd bpmqlq +$ ls +67400 lnjvpcgq.zqs +$ cd .. +$ cd .. +$ cd .. +$ cd pwrfgjdg +$ ls +30612 fflm +174894 jczs.rgg +$ cd .. +$ cd qdztzhl +$ ls +dir dscbfp +dir gcpjnrb +dir nlffhf +dir vnrgqg +dir zrpgb +$ cd dscbfp +$ ls +dir gdjvclf +dir mbhdvsq +dir tqb +dir vlqqslp +$ cd gdjvclf +$ ls +104663 hwwlf.mhv +$ cd .. +$ cd mbhdvsq +$ ls +98749 gqsjtd.rbv +200237 lbbg.nwb +$ cd .. +$ cd tqb +$ ls +101550 cqjmfvd.grg +dir hmwqgjnl +$ cd hmwqgjnl +$ ls +dir mlmmr +$ cd mlmmr +$ ls +dir rgvvz +$ cd rgvvz +$ ls +188297 gprgzd.rjf +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd vlqqslp +$ ls +191754 lbbg +$ cd .. +$ cd .. +$ cd gcpjnrb +$ ls +254902 nzzsg.bds +$ cd .. +$ cd nlffhf +$ ls +295353 hhjqvqnc +dir mmhb +58446 rgvvz.hsj +120084 rvgctqpr.qpp +302397 wtmlrm +$ cd mmhb +$ ls +57621 ndhvh.jbq +$ cd .. +$ cd .. +$ cd vnrgqg +$ ls +dir fpmpzvj +dir gtqwbhc +213709 hmwqgjnl +283893 hmwqgjnl.bbc +dir lnw +dir mmhtpz +177958 rcm.psp +68642 vzr.gwd +297210 zqcvpgfm.sgv +$ cd fpmpzvj +$ ls +62127 mmhtpz.mwv +$ cd .. +$ cd gtqwbhc +$ ls +174559 rgvvz +$ cd .. +$ cd lnw +$ ls +dir lbbg +162886 mlsb +dir rgvvz +dir szgmtgb +253283 zpvqj.crr +$ cd lbbg +$ ls +dir jgwj +dir ndljhbv +dir smhzdbn +68451 sznhpr +$ cd jgwj +$ ls +290222 fnpmb +148122 lnjvpcgq.zqs +dir ptwrtdcf +4669 rcm.psp +76708 thgtnwhq +$ cd ptwrtdcf +$ ls +dir gcjpt +$ cd gcjpt +$ ls +dir hmwqgjnl +$ cd hmwqgjnl +$ ls +259660 lnjvpcgq.zqs +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd ndljhbv +$ ls +226511 qmtttllc.wgt +$ cd .. +$ cd smhzdbn +$ ls +161029 mjwqn.bfs +49691 msfmjd.vlr +77941 ncwrv.fjc +12615 ndhvh.jbq +19222 rlrnrcqw.cgh +$ cd .. +$ cd .. +$ cd rgvvz +$ ls +270852 msfmjd.vlr +$ cd .. +$ cd szgmtgb +$ ls +167819 ndhvh.jbq +$ cd .. +$ cd .. +$ cd mmhtpz +$ ls +6153 msfmjd.vlr +$ cd .. +$ cd .. +$ cd zrpgb +$ ls +dir dgcrgg +dir dscbfp +dir gcdtbrnj +dir hmwqgjnl +284848 hnfqrh.nll +dir jsjrg +16735 lbbg.lpg +274897 vrp.fvm +$ cd dgcrgg +$ ls +dir gpvhhh +210466 lbbg +161257 tqc.qgg +dir zggnvwcb +$ cd gpvhhh +$ ls +100124 msfmjd.vlr +$ cd .. +$ cd zggnvwcb +$ ls +76550 dsmvrsp.hht +106682 swj.pnq +$ cd .. +$ cd .. +$ cd dscbfp +$ ls +297842 msfmjd.vlr +$ cd .. +$ cd gcdtbrnj +$ ls +78674 jmc.sst +$ cd .. +$ cd hmwqgjnl +$ ls +280262 hmwqgjnl +dir hrl +dir mmhtpz +159812 rcm.psp +$ cd hrl +$ ls +dir cqwbgn +dir nlqd +dir wmgqpt +$ cd cqwbgn +$ ls +91489 msfmjd.vlr +$ cd .. +$ cd nlqd +$ ls +1982 jczs.rgg +172223 rcm.psp +$ cd .. +$ cd wmgqpt +$ ls +dir hmwqgjnl +91172 jczs.rgg +125726 lbbg +147883 rgvvz +99929 rhzwrpw.jml +145844 tzzqwr +$ cd hmwqgjnl +$ ls +198790 mlccths +284058 mmhtpz.dvb +$ cd .. +$ cd .. +$ cd .. +$ cd mmhtpz +$ ls +60918 hmwqgjnl.jhw +220709 lnjvpcgq.zqs +$ cd .. +$ cd .. +$ cd jsjrg +$ ls +230757 czg +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd mjzqq +$ ls +33792 fsrws.tdp +dir lbbg +50734 lnz.fwp +268057 wbgjwnb +$ cd lbbg +$ ls +207413 cqf +$ cd .. +$ cd .. +$ cd sjbpgc +$ ls +73862 lbbg.ddv +$ cd .. +$ cd zfsbvs +$ ls +dir lbbg +10390 lqgh.fpl +147426 mqw.fmr +273227 rcm.psp +$ cd lbbg +$ ls +dir mmhtpz +$ cd mmhtpz +$ ls +25218 dtdt diff --git a/i8.txt b/i8.txt new file mode 100644 index 0000000..3346920 --- /dev/null +++ b/i8.txt @@ -0,0 +1,99 @@ +131102031022411233124153000402524132243245422402002121234345453535321113450535302430144220243210033 +210030011133442111442145434004231353202400601331445042106230540242340014332243105022302133441101011 +201302044230110302341330012044051130055046354663404014033243655520410125432425532024143403330032232 +210303103204034020151134514120046162664361356330261302226530654326452225134535222440444443410101130 +021310332113230035544033314213544254421233042151226601345516101654005025035545035333140023212102212 +220140301231432453044535532323066560244052510442522465306425021511260132313424322110345422300411332 +103013240142011245425311001542145655516105003352455141424412415222100145355043202120423034202120403 +314103304322445325255534650156565303510461206034672755654106425161056213552330050310445352323213402 +243430113305332145305400366156126611120357766767667531265661631510215134106224240155532142014202020 +344044011305120500223111213354316112154646744635155132374774442641061323024416155344101304242413014 +210001340311202411013214565026366577746364242672331436164352252445110000414212215202321411504422400 +001030344254033552521244445311464542617442572153467545366653342426676363026234406640015310103000111 +123004351234415456501532136126535464236513321263256111263236363424471316560661104630322511135024314 +243444301010130503501065440067414335615573435151661324666436573133444251763541254166141130405531401 +301333054435342646553265615125271561444757162666247563564724434377461174733226461663122454115301022 +313333115034033032461152521554721624436564356545874583322623147632365263427634464233444421123452114 +434441324240044110131332722354256132333522657745624745724323263635746316535120231124164652542245541 +020013043025261604606066777717675561448878622688884553346728286853164272251311263510330645452212040 +225405401530036646635664123763243188844858643328244728344354343287813231363771264361344552214134043 +444013205241103641532477643143435563484567276423226466226434857664377176552653732212146514023430325 +235444033555452351644577725572733823223422438445886848336238372267477767173715122521014452405344110 +022222500504231055646646534633724257646568684735488756288737857786232268232655151633323530463425151 +412102254551210100735562467375656382325864659764674335534465738553284326347575542675435335613154320 +202304233522424114651647265763556544532358373769578879369385574555386666783363244334360301665155255 +400235422666401262236327746826382638573848989589958764697958946664233887757677777164614616200413302 +413211350405512664175712772346875822558798479568486643787487763573785465875336133314155235265153544 +412112650043523364626154522655787734369585968849884958638795656846722736645822544573361050432101002 +040151232015244534675233447267274466883354564933934639355395374945757347634723116764261154205631025 +053511566106055552733487866435428673379594867554589579573759867856436754328455243315565403452366550 +402441261342655261311663778728277373873487457867467678497684746937764462833722831553364205512206541 +401560462601374333165687778774966694644847875679669694796453568554383377242683474675113640166014002 +245431640441276372256235534578677594558499466595957658548574676357557473852362834636123725105611001 +140325466637452621767678632447835458776865576466546548894776445753494487385328422645157221103664133 +253440020224216474125727543697395446885846849486744757588954688447585337348374328857266123303626032 +522360463154354425644334277863647479565896696996775849896649575745746557964548536537415577142552050 +402351634474624167474857559553949899894799879644496759587555549787974996993634823833353424316316042 +414140006077774645384224689955449865767867876647679668857949995687773539976755288762714471242526254 +032242255462211412258653836566746764685477947565799869886769647489953985859547537844111624535631156 +241646435225236526565228495485878686676559956669957869665758947786478934645637286347261114426145563 +512215356337536722737525437473645894558456658976958699776986594778559569864962457825216143344215016 +322625244746336257345525895486859454957989669585766859958667775649875866654855238722721513671212305 +044600535247217686848675385837958687859856856865869679556868995579875763985654342678317263541605554 +430320424173321746345287493633447589689698796959599858768985856685945573454358785585284454656334025 +232026013361136674773333583555589876467998965697988698997966777468454666855894285223681327425505166 +354332536226232536453676489538955896788985786767799998876886965757444485955456462568453444425456521 +016154147271566788586769489946847647867857556667888797775895768988576579978395627453672756147414326 +463454162462563733454784956555887864475857986666689767978699985965647598648778424456255355723655466 +021001072567511684363734454496747746785559778677966778897776558954997794766634668356686124441524525 +234605435156344755776859794859864756797769876888968689787579998559856654953446748662382433262116262 +030666223611312438477278595797684446757958596668696976678757986797965899875556377876865147373650335 +245046541536764737224694794369857786796969878968689968797958865856864988656773724353268427134461620 +265066622261247542566375373496969757789659688887789988798956868878668565665794723743572475263161166 +422245453144736877586299945587888888767997586686876996879786788998867747683776448657845662361505315 +210351625547722865278485967857788659769765586689699988976775596895984657648869967252632246417436621 +141004614422116428487735355858968995455599988699767679796595755979678769336598642342483777532511004 +533362561377622426377686383498446767487997987976886899988585956569875694463399574483265564264622314 +456163507723454276868637866355647859456998677889778989889969998954684957667483346372863274465245646 +030644251421316636263479555487765499846688669798677798668968599994746869757876565775844144255106462 +510135336311735337436764935399965949469956999767696876898578576969547984463869253278467243311543030 +466524526117724766584368696865578944888566858759789698699778689456856774865884337672615767136523254 +254110631463762333865539645936466585858655857657659586556989585456479575455563845762632676471423233 +562434653773762262468663566995359545869887797866957588766855659579865834576343438465353323754454240 +112066240641477224475587449447989749648974898785555767886979489566644938356955638286634724441631625 +330443313353347713822865768695549469777556759786896565758769775757475566378642426537546311412140051 +040065350247621726448577745444446666557767548565886798996759654466566755698345662584625446342463260 +330536625076531353825376746548345995946649894668956867559446757474398638639624464682343654214032311 +530251120326432762683357643388548466489576697998869899549584977659746869733837538723573545213461105 +255356015316555756432734833639785737748988987965669458947565666746847669548847254811135737404226043 +454354550123557227257454326863468487794448666674495859497588676766356646553276336612337324063553462 +144340525160235512164242786385886753536996894579865659848488534457479379684556654637432614663443613 +305316054035171372138527636345993984687638579458566486795488343446895753373444445772513544116215313 +543055400456632262131666826787874497775946535566897457748984377394483964377555447341647525602315351 +412546632444321676125286364645444448636496473746537653585847369856994564666782226566264742530022340 +044233444612165527122563533685825959374668734768758953663536843946435452847223172365277563546141540 +340030454102343151253211647666557354334348799955649644348678747758347287426221514313112316663165454 +011020051334501654522762446268866586389746656669789443696677886848328248582411315534364123146250501 +305413453334030464614216442476475733478966457359966737766476988846463467574624373625606065562242335 +034215112203016427473135421577622448726677469646375339565639944867546662453345521671403262325021214 +132210543140531252452317342463454885388566728556533533877354846446665578244115675240031664244524501 +201140051634662646614612354714626525722377445426842485568735384726362363654642742661135663265002510 +025011353243541235316415314133578633558245363633567643474723462264656821637416273202656565602515322 +121540314222665224011553176734444466578255884322834667368468238484254776573264467333645106223352155 +233134314541654641520531771126551528746557387438726348653238283875537147555615754035502132555444301 +424510000505066600303343337525732714723283556468834467558232644677477536766533666404266150255104242 +041433452552331436330125237255465337374884372735358382327855756643676341445255435062065033314033212 +141025211241314363206626056633223121353133645783244374622462256271457773212200625560321421020100213 +224101010422251643133220616233621223532466525114754865347141165612135423157400060111225313054434032 +004040052225144131342364656025377722754756627621767354111575442445436452322335541156250421012350243 +043322120521041516241540153402233524371432721521521276133447761312616332565246332656140342120501432 +200232013354533102134562014146621725413251577715376671261144475237357064044430050234040121014304202 +011420212054031401033241133121106532344212712314572323662643147467661343340045361122545415103011124 +102223410325432324313243446514164004156475643254444557477323147134144354265066260422110450012141414 +031411112311321035125554420606413626050373327654774373667767140605036115333551650220414205214132024 +210204032200320524351051665115025502044361230251377575706601164652440120455165201034431244211004301 +331131223444034015143142430503454436431142412165246111316106164251614223504203533022310134023423343 +120300034332102045152234220042512653414152606411234665213124345325420542210314454221024423343223220 +200230420442302210441134513143532363040132120013505235035543064245636124512505054404233133430423011 +000202411243122420140310501035333204626352325031215630345206242502134153000033354044334042221310101 +111301302244231442013332415144033330063530643146335532313306033656410450441505505240142210004121122 diff --git a/i9.txt b/i9.txt new file mode 100644 index 0000000..514b93e --- /dev/null +++ b/i9.txt @@ -0,0 +1,2000 @@ +R 2 +D 2 +U 2 +D 1 +L 1 +D 2 +R 2 +L 2 +R 1 +D 2 +L 1 +U 2 +R 1 +D 1 +R 1 +L 1 +D 1 +R 2 +U 2 +L 2 +R 2 +U 2 +R 1 +L 1 +D 2 +R 1 +D 1 +R 1 +D 1 +R 1 +L 2 +R 1 +D 1 +L 1 +U 2 +L 1 +D 1 +L 1 +R 1 +U 2 +D 1 +U 2 +L 2 +R 2 +D 1 +L 1 +R 1 +D 1 +L 1 +U 1 +R 2 +D 1 +R 1 +D 2 +L 1 +D 2 +L 1 +D 2 +R 1 +L 1 +D 2 +L 1 +R 1 +D 2 +L 2 +R 2 +L 1 +U 2 +R 1 +U 2 +R 2 +U 1 +D 1 +U 2 +L 1 +D 2 +L 2 +R 2 +L 1 +R 1 +U 2 +D 1 +R 1 +L 2 +U 1 +D 2 +U 1 +L 2 +R 2 +D 1 +U 1 +L 2 +U 2 +L 1 +R 1 +D 1 +R 2 +D 1 +R 1 +D 2 +R 1 +D 1 +R 1 +D 2 +L 2 +U 2 +L 1 +D 1 +L 1 +R 2 +U 1 +D 1 +U 2 +L 2 +D 3 +L 3 +U 3 +R 1 +D 3 +R 1 +D 3 +R 2 +D 2 +U 3 +D 2 +L 3 +R 3 +U 3 +R 1 +U 3 +D 3 +L 1 +D 2 +U 1 +R 2 +L 2 +R 3 +L 2 +D 3 +L 2 +R 1 +D 1 +U 1 +D 2 +R 2 +L 1 +U 1 +R 3 +U 2 +D 3 +L 3 +U 2 +L 3 +R 2 +D 2 +U 2 +R 1 +U 3 +R 2 +D 1 +U 2 +D 3 +U 2 +R 3 +U 2 +L 3 +U 3 +D 2 +R 3 +U 3 +L 3 +U 2 +L 1 +D 3 +L 2 +D 3 +R 3 +L 2 +R 3 +D 1 +U 1 +L 3 +R 3 +D 2 +L 3 +U 2 +R 2 +U 1 +R 3 +D 3 +R 1 +U 2 +L 2 +U 1 +R 1 +U 1 +D 2 +L 2 +R 1 +D 3 +R 1 +D 3 +U 1 +R 2 +U 2 +L 2 +U 2 +L 3 +D 3 +U 2 +L 3 +U 1 +L 2 +D 1 +U 3 +L 2 +R 3 +D 1 +R 3 +L 3 +U 1 +L 3 +R 2 +D 3 +U 3 +L 3 +D 4 +L 1 +U 1 +R 3 +L 1 +D 4 +U 4 +L 4 +D 4 +U 1 +D 3 +R 1 +D 4 +L 1 +U 2 +D 1 +R 3 +L 4 +D 2 +U 2 +R 1 +L 4 +U 4 +R 4 +D 1 +R 3 +D 1 +R 4 +U 4 +D 1 +U 3 +D 4 +L 3 +R 2 +D 4 +L 2 +U 4 +D 3 +U 4 +D 2 +U 2 +L 3 +R 4 +L 4 +U 2 +L 1 +U 4 +D 4 +R 4 +U 4 +R 2 +U 4 +R 1 +U 3 +R 3 +U 4 +R 4 +U 2 +L 1 +U 3 +D 4 +L 1 +R 1 +L 2 +R 2 +D 2 +U 3 +R 3 +L 1 +D 2 +R 4 +D 1 +R 4 +L 2 +U 4 +D 2 +R 4 +U 2 +D 4 +R 1 +U 3 +L 3 +D 2 +R 2 +U 1 +L 4 +R 1 +U 2 +R 4 +D 3 +R 1 +L 2 +U 1 +R 2 +L 2 +U 2 +R 3 +L 2 +D 4 +U 4 +L 1 +U 2 +D 1 +U 2 +D 1 +L 2 +R 4 +L 5 +D 2 +U 5 +L 1 +R 2 +L 3 +U 3 +D 3 +L 1 +D 1 +U 4 +L 4 +U 3 +D 5 +R 1 +L 4 +U 1 +L 2 +R 4 +D 1 +L 4 +D 1 +U 4 +D 1 +L 2 +D 5 +L 5 +D 4 +R 3 +U 2 +L 4 +U 4 +L 4 +R 5 +D 1 +L 2 +R 5 +U 4 +D 5 +L 2 +U 4 +D 1 +L 3 +R 5 +D 4 +L 1 +D 3 +L 3 +U 2 +R 2 +D 4 +L 4 +U 1 +D 2 +L 5 +D 2 +L 2 +U 3 +R 3 +U 3 +D 2 +U 4 +R 3 +L 3 +D 2 +L 2 +R 3 +D 2 +L 3 +R 4 +U 4 +R 4 +D 2 +R 1 +D 1 +L 4 +R 4 +D 3 +R 2 +U 4 +L 2 +D 3 +U 4 +L 3 +R 5 +L 2 +R 1 +D 4 +L 5 +D 2 +U 5 +L 4 +U 2 +R 3 +L 4 +R 1 +U 3 +R 3 +L 2 +U 2 +L 3 +R 5 +L 3 +R 3 +U 3 +L 3 +U 5 +D 4 +U 5 +D 4 +L 4 +D 2 +R 5 +L 3 +U 2 +D 3 +L 4 +R 1 +D 1 +R 5 +L 3 +R 2 +L 3 +U 3 +D 1 +U 5 +R 2 +L 2 +D 5 +R 3 +U 4 +R 3 +L 1 +R 6 +L 4 +D 4 +U 4 +R 4 +U 2 +R 4 +D 1 +U 3 +R 1 +U 5 +D 3 +L 4 +R 5 +L 3 +U 6 +L 5 +D 3 +R 1 +D 2 +U 5 +L 1 +R 5 +U 4 +R 1 +U 1 +R 3 +L 2 +D 5 +U 4 +L 1 +U 2 +R 3 +L 5 +R 2 +D 3 +U 3 +D 6 +R 1 +D 2 +L 3 +R 3 +L 3 +U 4 +R 4 +U 4 +R 6 +U 1 +L 6 +R 6 +L 4 +U 6 +L 2 +D 1 +R 5 +L 5 +U 3 +D 6 +U 5 +L 4 +U 2 +R 1 +L 3 +D 6 +U 5 +R 4 +U 2 +D 3 +R 4 +L 1 +D 4 +U 6 +R 1 +D 6 +U 2 +D 5 +U 4 +L 4 +R 6 +D 2 +R 6 +L 1 +R 3 +D 4 +R 5 +L 6 +U 5 +L 3 +R 6 +U 1 +L 3 +D 7 +U 2 +D 5 +R 5 +D 7 +R 6 +D 6 +R 7 +D 7 +L 3 +R 4 +L 1 +U 6 +R 2 +L 7 +U 7 +D 1 +R 1 +D 1 +U 5 +R 4 +U 2 +D 5 +U 6 +L 2 +R 1 +U 5 +L 1 +U 7 +R 1 +D 2 +L 4 +D 4 +L 5 +U 4 +L 2 +D 5 +R 7 +D 7 +R 5 +L 3 +U 7 +R 7 +D 1 +L 2 +U 3 +L 2 +U 7 +L 2 +U 3 +L 6 +D 6 +L 2 +D 6 +L 6 +U 3 +L 3 +U 7 +D 3 +L 4 +U 5 +D 5 +L 4 +D 7 +U 3 +R 7 +D 5 +R 3 +L 6 +U 2 +L 2 +U 1 +L 1 +U 4 +D 7 +L 7 +D 2 +U 6 +L 2 +U 2 +L 4 +R 3 +L 6 +R 2 +D 7 +L 6 +D 3 +L 6 +R 1 +U 4 +R 6 +L 7 +D 7 +R 4 +U 7 +L 6 +R 3 +D 1 +U 3 +D 2 +U 3 +R 2 +L 7 +U 1 +R 4 +D 4 +U 2 +R 5 +D 5 +R 4 +L 3 +U 1 +R 7 +L 5 +D 4 +L 3 +D 7 +U 2 +D 4 +U 4 +L 1 +D 4 +R 7 +L 6 +U 3 +L 4 +D 5 +U 1 +D 1 +L 6 +R 7 +D 1 +L 4 +D 1 +L 5 +R 8 +D 4 +L 8 +R 4 +D 4 +U 3 +L 5 +R 5 +L 8 +U 4 +R 2 +D 6 +R 5 +L 1 +U 8 +L 1 +D 5 +U 5 +D 4 +L 6 +U 6 +D 8 +R 6 +D 3 +U 7 +R 8 +D 7 +L 2 +U 4 +D 4 +L 2 +R 2 +U 5 +L 4 +R 3 +L 2 +U 5 +D 8 +L 8 +D 3 +U 4 +D 2 +L 2 +U 4 +R 5 +L 6 +U 4 +R 5 +U 4 +L 7 +D 8 +R 8 +D 7 +R 5 +D 6 +U 2 +R 1 +D 3 +L 6 +U 3 +D 5 +U 6 +L 7 +R 1 +L 4 +R 4 +L 4 +R 3 +L 4 +U 3 +D 7 +U 8 +D 4 +R 6 +L 7 +R 2 +L 2 +U 7 +D 2 +R 1 +D 5 +U 1 +D 7 +R 2 +L 8 +R 8 +U 4 +R 9 +L 4 +R 5 +L 2 +D 6 +L 9 +U 2 +R 5 +D 4 +R 9 +U 4 +D 8 +R 9 +U 5 +D 4 +U 4 +L 4 +U 3 +R 5 +L 8 +D 9 +U 2 +L 8 +U 5 +D 4 +L 1 +D 4 +U 3 +D 7 +U 5 +D 5 +R 9 +L 2 +D 5 +L 7 +D 1 +L 2 +R 6 +D 9 +U 1 +L 6 +R 2 +D 2 +R 5 +D 8 +R 2 +D 3 +L 4 +D 5 +R 2 +D 8 +L 3 +D 6 +U 2 +L 4 +D 9 +L 6 +R 5 +L 7 +U 2 +D 8 +U 5 +L 6 +U 1 +L 9 +R 9 +D 1 +R 3 +U 9 +L 2 +U 8 +R 8 +D 8 +R 7 +U 7 +R 6 +L 2 +U 4 +D 2 +L 4 +U 4 +D 2 +R 8 +L 6 +R 9 +D 9 +L 6 +D 4 +L 5 +U 8 +D 2 +R 6 +D 7 +U 3 +R 6 +L 9 +U 6 +L 8 +U 8 +D 6 +U 9 +D 5 +U 8 +L 6 +R 6 +L 6 +R 9 +L 2 +U 4 +L 4 +U 1 +D 4 +R 1 +U 7 +D 5 +R 4 +U 4 +D 5 +L 9 +R 2 +U 5 +L 2 +R 10 +L 5 +R 1 +L 2 +U 3 +D 2 +R 7 +L 2 +R 6 +L 3 +R 6 +U 7 +L 1 +U 6 +R 6 +U 2 +L 3 +R 3 +L 1 +R 9 +L 5 +U 9 +L 9 +D 9 +U 4 +D 2 +R 6 +D 6 +R 8 +D 2 +U 6 +L 5 +R 2 +U 10 +L 3 +D 6 +R 3 +D 6 +U 2 +D 7 +R 1 +U 7 +D 2 +R 8 +L 5 +U 4 +L 5 +R 6 +U 6 +D 1 +L 5 +D 5 +R 5 +D 4 +L 5 +U 3 +R 4 +L 5 +R 2 +L 5 +D 10 +R 4 +L 2 +R 4 +L 7 +U 9 +R 3 +D 6 +R 7 +L 10 +D 7 +U 4 +L 9 +D 6 +L 7 +R 3 +U 7 +R 5 +U 6 +L 1 +U 2 +L 5 +D 6 +R 8 +L 7 +R 7 +D 1 +U 9 +R 1 +L 4 +U 4 +R 1 +L 3 +D 2 +L 8 +D 10 +L 9 +D 8 +R 5 +D 6 +L 7 +D 2 +U 11 +D 2 +U 6 +L 3 +U 8 +D 11 +U 9 +D 9 +R 11 +U 11 +L 8 +U 11 +R 11 +U 2 +D 6 +R 11 +D 7 +L 6 +U 5 +R 1 +L 3 +D 11 +U 3 +D 5 +R 4 +U 4 +D 8 +L 6 +U 1 +R 10 +L 5 +D 3 +U 8 +R 7 +L 8 +R 2 +U 6 +D 9 +R 1 +D 1 +R 3 +U 3 +L 10 +U 7 +R 1 +D 3 +U 6 +L 10 +R 6 +L 6 +R 4 +L 2 +R 10 +L 11 +U 5 +R 5 +U 5 +R 2 +D 10 +L 8 +U 9 +D 11 +R 10 +D 11 +R 11 +D 2 +U 7 +R 11 +U 2 +L 9 +R 11 +U 1 +R 8 +L 5 +U 6 +D 5 +L 10 +U 1 +L 4 +R 7 +L 5 +D 2 +R 9 +D 10 +U 4 +R 1 +D 7 +R 10 +D 10 +L 5 +R 3 +L 8 +R 8 +U 10 +R 9 +D 11 +R 1 +D 9 +R 5 +L 3 +D 5 +L 8 +U 8 +R 10 +D 10 +U 1 +D 3 +R 6 +U 1 +L 2 +U 6 +L 7 +R 11 +U 2 +R 2 +L 5 +U 5 +R 2 +D 12 +U 3 +L 2 +D 5 +U 3 +R 11 +D 5 +R 10 +U 8 +L 7 +R 6 +D 2 +U 11 +L 10 +R 12 +D 8 +U 12 +L 7 +D 5 +R 11 +U 10 +R 12 +U 1 +L 1 +U 10 +L 2 +R 9 +U 1 +R 4 +U 2 +R 8 +D 1 +R 2 +L 3 +R 7 +D 7 +L 10 +R 2 +U 11 +R 8 +U 11 +D 12 +U 8 +L 5 +U 12 +L 12 +U 12 +L 7 +R 5 +D 4 +U 9 +L 5 +R 7 +L 10 +R 4 +L 11 +D 3 +R 1 +D 12 +U 10 +R 10 +D 5 +R 11 +U 2 +L 8 +R 4 +D 1 +L 10 +R 2 +D 11 +L 4 +U 12 +D 11 +L 11 +U 3 +L 9 +U 8 +D 8 +R 10 +L 8 +U 2 +D 9 +U 12 +D 7 +U 8 +L 8 +D 9 +L 6 +U 8 +D 11 +U 12 +D 9 +L 1 +D 4 +R 2 +U 10 +D 2 +L 10 +U 6 +L 9 +D 4 +U 4 +R 4 +L 5 +R 9 +U 2 +R 5 +U 4 +D 12 +R 3 +L 10 +U 7 +D 1 +U 9 +R 6 +L 4 +U 9 +L 13 +D 2 +L 8 +R 12 +D 7 +U 13 +D 6 +U 12 +L 4 +R 4 +D 10 +U 8 +L 4 +R 4 +D 2 +U 9 +L 9 +D 11 +L 6 +R 2 +L 8 +R 9 +L 6 +U 13 +R 10 +D 3 +U 10 +L 12 +R 9 +U 12 +R 10 +U 10 +D 11 +L 7 +R 5 +L 13 +U 11 +R 13 +U 11 +R 12 +U 8 +R 12 +D 4 +L 10 +R 1 +L 9 +R 13 +L 2 +U 7 +L 13 +R 4 +U 13 +L 6 +R 12 +D 1 +U 7 +L 10 +R 6 +D 6 +U 2 +R 2 +L 8 +D 5 +U 9 +D 5 +L 9 +R 1 +U 5 +L 13 +D 1 +R 5 +L 8 +U 5 +R 2 +U 8 +L 1 +U 13 +R 6 +U 12 +L 3 +D 1 +U 4 +L 12 +R 1 +D 6 +L 11 +U 7 +D 1 +L 9 +R 4 +U 7 +D 7 +U 9 +D 1 +L 10 +D 14 +U 3 +D 9 +L 7 +U 1 +L 9 +R 13 +L 14 +R 11 +D 8 +L 12 +U 11 +R 11 +U 9 +R 2 +U 13 +R 5 +D 3 +U 3 +R 9 +D 14 +U 2 +D 8 +L 7 +D 2 +U 8 +L 12 +U 7 +D 12 +R 11 +D 14 +R 13 +L 13 +R 9 +L 7 +U 4 +D 9 +U 9 +L 12 +U 3 +D 4 +R 5 +D 14 +L 9 +D 14 +U 3 +L 8 +R 1 +U 2 +R 14 +D 5 +L 6 +R 9 +D 12 +R 3 +D 1 +L 8 +U 11 +D 11 +L 7 +R 14 +D 9 +L 9 +R 13 +L 4 +D 11 +R 14 +U 6 +L 10 +R 7 +D 9 +U 7 +D 5 +R 8 +U 2 +R 9 +D 6 +R 13 +U 1 +L 14 +R 6 +L 9 +D 11 +L 3 +U 5 +R 12 +U 8 +L 3 +D 5 +U 7 +R 2 +D 14 +R 14 +L 2 +U 5 +L 11 +U 7 +L 14 +U 5 +D 6 +R 14 +D 12 +U 4 +D 5 +R 14 +L 14 +D 12 +L 10 +D 2 +L 1 +R 5 +D 8 +R 2 +L 14 +R 5 +L 12 +D 9 +L 6 +D 8 +L 8 +R 12 +U 1 +L 11 +U 3 +D 7 +R 11 +D 15 +L 4 +U 9 +R 15 +U 8 +D 4 +L 10 +U 2 +L 13 +U 9 +L 5 +D 13 +L 5 +R 1 +D 3 +U 11 +D 5 +L 13 +R 3 +D 4 +U 3 +R 5 +U 14 +R 4 +D 9 +R 3 +D 11 +U 13 +R 7 +U 10 +R 1 +L 9 +D 15 +R 6 +U 12 +L 4 +R 13 +U 7 +D 10 +R 13 +U 1 +R 4 +D 15 +L 10 +R 11 +U 9 +L 1 +D 6 +R 15 +U 10 +L 10 +D 6 +U 10 +L 8 +R 5 +L 14 +D 6 +L 2 +U 2 +L 9 +U 2 +L 7 +U 9 +L 2 +D 8 +R 6 +D 6 +R 7 +U 2 +L 13 +R 13 +U 3 +D 13 +U 14 +R 9 +L 4 +U 15 +R 1 +D 2 +U 15 +R 12 +U 12 +L 12 +U 9 +R 8 +U 3 +L 7 +D 3 +U 2 +R 7 +D 4 +R 6 +U 13 +D 7 +U 7 +D 8 +R 13 +U 10 +D 16 +L 12 +U 8 +R 6 +U 10 +L 14 +D 12 +R 2 +L 9 +U 8 +D 7 +U 6 +R 7 +L 14 +D 6 +L 10 +U 11 +L 3 +D 6 +R 2 +U 8 +L 2 +D 10 +R 16 +U 14 +R 10 +D 13 +R 3 +D 8 +R 2 +D 16 +L 12 +D 13 +U 6 +D 2 +L 4 +R 14 +D 16 +U 12 +L 1 +D 9 +L 7 +U 1 +L 3 +U 7 +R 7 +D 3 +L 11 +R 9 +D 5 +R 10 +D 12 +R 1 +U 8 +L 8 +D 5 +R 12 +U 8 +R 11 +U 3 +D 5 +R 9 +L 11 +U 14 +L 14 +D 5 +U 12 +L 9 +D 2 +U 6 +L 7 +D 6 +L 2 +R 2 +D 11 +R 13 +D 10 +U 4 +L 13 +U 5 +L 6 +R 3 +U 16 +D 13 +R 1 +U 2 +D 4 +R 3 +U 10 +D 16 +L 1 +U 1 +R 16 +D 6 +U 7 +D 3 +R 4 +U 2 +D 4 +L 8 +U 9 +R 8 +U 15 +D 4 +R 11 +D 4 +R 12 +U 1 +D 2 +R 4 +D 17 +L 4 +U 1 +D 1 +L 3 +R 16 +D 12 +R 6 +U 3 +R 4 +U 2 +D 8 +R 5 +D 4 +R 1 +U 5 +L 12 +D 1 +R 12 +U 3 +D 13 +L 13 +U 11 +D 8 +R 3 +D 14 +L 10 +D 1 +L 4 +D 4 +R 9 +L 10 +U 6 +L 8 +R 7 +L 2 +R 1 +L 4 +D 8 +R 14 +U 8 +L 13 +D 12 +R 17 +D 2 +R 5 +U 12 +R 8 +D 16 +L 6 +R 14 +D 9 +U 7 +L 5 +U 14 +L 10 +U 5 +L 4 +U 7 +R 17 +D 1 +U 6 +L 12 +D 10 +L 2 +D 17 +L 14 +R 3 +D 6 +U 11 +R 14 +L 11 +D 8 +U 1 +R 1 +L 14 +U 17 +L 15 +U 3 +R 5 +D 3 +L 12 +R 10 +U 17 +R 7 +D 2 +U 16 +D 10 +L 12 +R 5 +D 10 +L 14 +D 17 +U 4 +L 9 +D 11 +R 5 +D 4 +U 5 +L 16 +D 16 +L 5 +U 10 +D 8 +L 14 +U 11 +L 17 +D 1 +U 10 +R 9 +U 17 +L 8 +R 11 +L 15 +D 9 +U 18 +D 3 +R 4 +L 7 +R 2 +U 5 +L 17 +U 2 +R 11 +L 11 +U 7 +D 17 +U 11 +R 5 +D 14 +U 7 +R 17 +D 10 +U 18 +D 15 +L 7 +U 2 +D 3 +U 14 +R 6 +D 2 +L 5 +R 16 +D 8 +U 2 +D 16 +R 9 +U 12 +R 4 +D 14 +R 10 +U 1 +R 1 +L 8 +D 15 +L 8 +D 16 +U 9 +R 11 +L 17 +U 18 +L 2 +R 4 +L 1 +U 9 +L 13 +R 1 +U 17 +L 12 +R 3 +D 15 +R 3 +U 3 +D 8 +L 6 +R 4 +D 13 +U 2 +R 1 +L 10 +U 9 +R 2 +D 16 +R 9 +U 15 +R 10 +U 4 +R 6 +D 10 +U 4 +R 11 +D 1 +R 10 +U 17 +R 4 +D 9 +U 17 +R 7 +U 11 +L 10 +R 10 +L 10 +U 8 +L 18 +U 14 +R 16 +L 12 +U 18 +R 1 +D 4 +L 9 +R 18 +D 12 +L 17 +D 12 +U 4 +D 1 +U 16 +R 17 +U 3 +D 13 +L 14 +D 9 +L 19 +U 13 +L 2 +U 9 +D 7 +U 7 +D 4 +L 10 +R 6 +D 11 +R 7 +U 10 +D 13 +U 18 +L 14 +D 7 +L 4 +R 11 +D 8 +L 8 +R 9 +L 2 +U 11 +R 13 +L 13 +R 11 +L 16 +D 10 +L 6 +R 3 +D 8 +L 19 +U 18 +L 14 +D 15 +U 10 +D 11 +R 19 +D 14 +U 2 +R 7 +U 6 +D 15 +U 10 +D 4 +U 10 +L 9 +R 15 +L 8 +U 7 +R 4 +D 5 +R 18 +L 3 +R 11 +D 11 +R 2 +U 1 +L 6 +D 18 +R 15 +U 2 +R 10 +L 18 +R 1 +U 19 +D 15 +R 18 +L 18 +R 4 +L 7 +D 18 +R 19 +U 11 +D 3 +L 3 +R 11 +U 16 +R 3 +D 4 +U 2 +R 10 +U 9 +L 18 +U 6 +L 5 +D 7 +L 17 +U 3 +L 5 +D 6 +U 19 +R 14 +U 3 +D 1 +U 16 +L 16 +D 12 +L 11 +D 16 +R 15 +U 5 +D 14 +L 3 +U 18 +L 8 +U 10 +L 10 +D 10 +R 5