├── aoc22
├── inputs
│ ├── convert.sh
│ ├── 6.txt
│ ├── 3.txt
│ ├── 6.c
│ ├── 5.txt
│ ├── 7.txt
│ ├── 4.txt
│ ├── 1.txt
│ ├── 2.txt
│ ├── 3.c
│ └── 5.c
├── aoc2.c
├── aoc6.c
├── aoc1.c
├── README.md
├── aoc4.c
├── aoc7.c
├── aoc3.c
├── aoc5.c
└── common.c
├── LICENSE
└── README.md
/aoc22/inputs/convert.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | printf "#define INPUT "
3 | od -vtx1 -An|xargs|tr \ ,
4 | echo
5 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Olaf Bernstein
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/aoc22/aoc2.c:
--------------------------------------------------------------------------------
1 | #include "inputs/2.c"
2 | #include "common.c"
3 |
4 | /*
5 | * AOC 2022 Day 2: https://adventofcode.com/2022/day/2
6 | */
7 |
8 |
9 | /*
10 | * We could've done this using arithmetic, but that would require 6 lines
11 | * to detect A,B,C,X,Y,Z, so we might as well hard code every combination
12 | * in 9 lines and be way more efficient.
13 | */
14 |
15 | #define TBL1_4158 4 /* RR */
16 | #define TBL1_4258 1 /* PR */
17 | #define TBL1_4358 7 /* SR */
18 | #define TBL1_4159 8 /* RP */
19 | #define TBL1_4259 5 /* PP */
20 | #define TBL1_4359 2 /* SP */
21 | #define TBL1_415a 3 /* RS */
22 | #define TBL1_425a 9 /* PS */
23 | #define TBL1_435a 6 /* SS */
24 |
25 | #define TBL2_4158 3 /* RS Loose */
26 | #define TBL2_4258 1 /* PR Loose */
27 | #define TBL2_4358 2 /* SP Loose */
28 | #define TBL2_4159 4 /* RR Draw */
29 | #define TBL2_4259 5 /* PP Draw */
30 | #define TBL2_4359 6 /* SS Draw */
31 | #define TBL2_415a 8 /* RP Win */
32 | #define TBL2_425a 9 /* PS Win */
33 | #define TBL2_435a 7 /* SR Win */
34 |
35 |
36 | #define RUN__0end ,RUN_END
37 | #define CM_0run(P,s1,s2,x,...) B_CHECK(RUN__##x,RUN_NEXT)(,s1,s2,x,P##__VA_ARGS__)
38 |
39 | /* just sum up all scores */
40 | #define RUN_NEXT(P,s1,s2,a,_0,b,_1,...) (,0run, \
41 | B16_ADD(s1,B16_1(TBL1_##a##b)), \
42 | B16_ADD(s2,B16_1(TBL2_##a##b)), \
43 | P##__VA_ARGS__)
44 | #define RUN_END(P,s1,s2,...) ) B16_DECIMAL(s1) B16_DECIMAL(s2)
45 |
46 | #define RUN(...) CM(,0run,B16_0,B16_0,__VA_ARGS__,0end,)
47 |
48 |
49 |
50 | #define EXAMPLE 41,20,59,0a,42,20,58,0a,43,20,5a,0a
51 | expected 15 12, got RUN(EXAMPLE)
52 |
53 | final result: RUN(INPUT)
54 |
55 |
--------------------------------------------------------------------------------
/aoc22/aoc6.c:
--------------------------------------------------------------------------------
1 | #include "inputs/6.c"
2 | #include "common.c"
3 |
4 | /*
5 | * AOC 2022 Day 6: https://adventofcode.com/2022/day/6
6 | */
7 |
8 |
9 | #define CM_0distinct(P,n,m,a,...) B_IFe(B8_IS_0(n))(DISTINCT_END1)(DISTINCT_NEXT)(,n,m,B8_##a,P##__VA_ARGS__)
10 | #define DISTINCT_END0(...) )0
11 | #define DISTINCT_END1(...) )1
12 | #define DISTINCT_PROBE(...) ,DISTINCT_END0
13 | #define DISTINCT_NEXT(P,n,m,a,...) B_CHECK(B_APPLY(DISTINCT_PROBE,M8_AT(a,m)),DISTINCT_NEXT1)(,n,m,a,P##__VA_ARGS__)
14 | #define DISTINCT_NEXT1(P,n,m,a,...) (,0distinct,B8_DEC(n),M8_PUT(a,(),m),P##__VA_ARGS__)
15 |
16 |
17 | #define DISTINCT(P,n,...) CM(,0distinct,n,,P##__VA_ARGS__)
18 |
19 | DISTINCT(,B8(3),77,78,79,77,78) == 1
20 | DISTINCT(,B8(4),77,78,79,77,78) == 0
21 |
22 |
23 |
24 | /* we assume that there always is a marker */
25 | #define EQ(a,b) B_CHECK0(EQ_##a##b)
26 | #define RUN__000000 ,RUN_END
27 | #define CM_0run(P,n,cnt,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,Q,...) \
28 | B_IFe(DISTINCT(,n,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,Q))(RUN_END)(RUN_NEXT) \
29 | (,n,cnt,B,C,D,E,F,G,H,I,J,K,L,M,N,O,Q,P##__VA_ARGS__)
30 | #define RUN_END(P,n,cnt,...) ) B16_DECIMAL(cnt)
31 | #define RUN_NEXT(P,n,cnt,...) (,0run,n,B16_INC(cnt),P##__VA_ARGS__)
32 |
33 | #define RUN(n,...) CM(,0run,B8(n),B16(n),__VA_ARGS__,,,,,)
34 |
35 |
36 |
37 | #define EXAMPLE1 6d,6a,71,6a,70,71,6d,67,62,6c,6a,73,70,68,64,7a,74,6e,76,6a,66,71,77,72,63,67,73,6d,6c,62,0a
38 | #define EXAMPLE2 62,76,77,62,6a,70,6c,62,67,76,62,68,73,72,6c,70,67,64,6d,6a,71,77,66,74,76,6e,63,7a,0a
39 | #define EXAMPLE3 6d,6a,71,6a,70,71,6d,67,62,6c,6a,73,70,68,64,7a,74,6e,76,6a,66,71,77,72,63,67,73,6d,6c,62,0a
40 |
41 | expected 7, got RUN(4, EXAMPLE1)
42 | expected 5, got RUN(4, EXAMPLE2)
43 | expected 19, got RUN(e, EXAMPLE3)
44 |
45 | final result: RUN(4, INPUT) RUN(e, INPUT)
46 |
47 |
--------------------------------------------------------------------------------
/aoc22/aoc1.c:
--------------------------------------------------------------------------------
1 | #include "inputs/1.c"
2 | #include "common.c"
3 |
4 | /*
5 | * AOC 2022 Day 1: https://adventofcode.com/2022/day/1
6 | */
7 |
8 | /*
9 | * The problem can be reduced to the following three steps:
10 | * 1. parse decimal number:
11 | * For this we just need a single register "cur", which well update
12 | * with cur = (cur * 10) + x
13 | * 2. sum adjacent numbers:
14 | * Once we reach the first newline, we need to cumulate the decimal
15 | * numbers, and reset our "cur" register.
16 | * For this we create another register "sum",
17 | * which will be updated at ever first newline with sum += cur, cur = 0
18 | * 3. find the top3 highest sums:
19 | * We'll use three registers "m1,m2,m3" to store the largest sums,
20 | * who will be updated once we hit two newlines in a row,
21 | * which happens to be when we hit a newline and cur == 0.
22 | */
23 |
24 | #define RUN__0a ,RUN_NEWLINE
25 | #define RUN__0end ,RUN_END
26 | #define RUN__0batch ,RUN_BATCH
27 | #define CM_0run(P,m1,m2,m3,sum,cur,x,...) B_CHECK(RUN__##x,RUN_NEXT)(m1,m2,m3,sum,cur,x,__VA_ARGS__)
28 |
29 | #define RUN_BATCH(m1,m2,m3,sum,cur,...) )NEXT ,0run,(m1,m2,m3,sum,cur)
30 | #define RUN_END(m1,m2,m3,sum,cur,...) )END (B32_DECIMAL(m1) B32_DECIMAL(B32_ADD(m1,B32_ADD(m2,m3))))
31 |
32 | /* parse decimal number with cur = (cur * 10) + x */
33 | #define RUN_NEXT(m1,m2,m3,sum,cur,x,...) (,0run,m1,m2,m3,sum, \
34 | /* cur */ B32_ADD(B32_MUL_B4(cur,a),B32_1(ASCII_##x)), \
35 | __VA_ARGS__)
36 |
37 | /* update sum, or updated maximums depending on the value of "cur" */
38 | #define RUN_NEWLINE(m1,m2,m3,sum,cur,x,...) (,0run, \
39 | B_IFe(B32_IS_0(cur))( \
40 | /* m1,m2,m3 */ TOP3_OF_4(m1,m2,m3,sum), \
41 | /* sum */ B32_0 \
42 | ) /* else */ ( \
43 | /* m1,m2,m3,sum */ m1,m2,m3,B32_ADD(sum,cur) \
44 | ), \
45 | /* cur */ B32_0, \
46 | __VA_ARGS__)
47 |
48 | /* find the top3 largest values of 4 values */
49 | #define TOP3_OF_4(a,b,c,d) \
50 | B_IFe(B32_LT(a,d))(d,a,b)( \
51 | B_IFe(B32_LT(b,d))(a,d,b)( \
52 | B_IFe(B32_LT(c,d))(a,b,d)(a,b,c)))
53 |
54 | /* dispatch our CM_0run using the BATCH construct defined in common.c */
55 | #define RUN(x) BATCH(,0run,(B32_0,B32_0,B32_0,B32_0,B32_0),x)
56 |
57 |
58 | #define EXAMPLE 31,30,30,30,0a,32,30,30,30,0a,33,30,30,30,0a,0a,34,30,30,30,0a,0a,35,30,30,30,0a,36,30,30,30,0a,0a,37,30,30,30,0a,38,30,30,30,0a,39,30,30,30,0a,0a,31,30,30,30,30,0a,0a,0a,0a
59 |
60 |
61 | expected 24000 45000, got RUN(EXAMPLE)
62 |
63 | final result: RUN(INPUT)
64 |
65 |
--------------------------------------------------------------------------------
/aoc22/README.md:
--------------------------------------------------------------------------------
1 | # [Advent Of Code 2022](https://adventofcode.com/2022)
2 |
3 | This is my attempt at improving the boline library, by solving the [aoc 2022](https://adventofcode.com/2022) challenges.
4 | The goal is to learn what features are missing and to implement these features.
5 | Moreover, this can function as sample code, and it's in general also a personal challenge.
6 |
7 |
8 | ## The Basic Structure
9 |
10 | Because we sadly can't parse raw files using the preprocessor, we'll be using a [script](inputs/convert.sh) to convert each days input into a comma separated list of hexadecimal bytes:
11 |
12 |
13 | | inputs/N.txt | inputs/N.c |
14 | |
15 |
16 | ```c
17 | Hello World
18 | ```
19 |
20 | |
21 |
22 | ```c
23 | #define INPUT 48,65,6c,6c,6f,20,57,6f,72,6c,64,0a
24 | ```
25 |
26 | |
27 |
28 | The output should require as few postprocessing as possible/practical.
29 | So an expected output of `0.6` could be output as `3/5` and still count as a valid solution.
30 |
31 |
32 |
33 | ## Development Log
34 |
35 |
36 | | file | complexity | loc | runtime | added features | postprocessing | godbolt |
37 | | ---- | ---------- | --- | ------- | -------------- | -------------- | ------- |
38 | | [aoc1.c](aoc1.c) | 2/10 | 28 | 2.1 sec | `B_MUL_B4` | none | [WK4zdW5vK](https://godbolt.org/z/WK4zdW5vK) |
39 | | [aoc2.c](aoc2.c) | 1/10 | 31 | 2.8 sec | | none | [cKef7jPWs](https://godbolt.org/z/cKef7jPWs) |
40 | | [aoc3.c](aoc3.c) | 9/10 | 64 | 9.2 sec | `B_FROM_Bn` | none | [ezozv1jTT](https://godbolt.org/z/ezozv1jTT) |
41 | | [aoc4.c](aoc4.c) | 3/10 | 35 | 1.0 sec | | none | [8TP8zeeb1](https://godbolt.org/z/8TP8zeeb1) |
42 | | [aoc5.c](aoc5.c) | 4/10 | 71 | 2.1 sec | | none | [M1bedjhEv](https://godbolt.org/z/M1bedjhEv) |
43 | | [aoc6.c](aoc6.c) | 2/10 | 26 | 4.9 sec | `M_PUT/_AT` | none | [7694fsWe9](https://godbolt.org/z/7694fsWe9) |
44 | | [aoc7.c](aoc7.c) | 6/10 | 53 | 11.7 sec | | none | [ohjdhE378](https://godbolt.org/z/ohjdhE378) |
45 |
46 |
47 | * complexity: My personal rating of how complex the implementation was.
48 |
49 | * loc: The lines of code, may not correlate with my perceived complexity, as creating lookup tables is very easy, but adds a lot of lines.
50 |
51 | * runtime: Runtime on my PC with `tcc -P -E`. The runtime only partially reflect the performance of boline, since the inputs we are working with are raw bytes, which you wouldn't use in usual boline applications.
52 |
53 |
--------------------------------------------------------------------------------
/aoc22/aoc4.c:
--------------------------------------------------------------------------------
1 |
2 | #include "inputs/4.c"
3 | #include "common.c"
4 |
5 | /*
6 | * AOC 2022 Day 4: https://adventofcode.com/2022/day/4
7 | */
8 |
9 | /*
10 | * Instead of parsing the decimal digits properly, we can just interpret them as
11 | * hexadecimal, because we don't care about the exact values, only the ranges.
12 | * So we'll read a 13 as 0x13.
13 | *
14 | * The parsing can be simplified by filling and rotating four registers (m1..m4),
15 | * untill we try to rotate to an already filled up register.
16 | * This works especially well, because the Bn number format stors numbers in
17 | * reverse (LSB on the left and MSB on the right.)
18 | *
19 | * -> (0),,,
20 | * 12-3,2-4 -> (1,0),,,
21 | * 2-3,2-4 -> (2,1,0),,,
22 | * -3,2-4 -> (0),,,(2,1,0)
23 | * 3,2-4 -> (3,0),,,(2,1,0)
24 | * ,2-4 -> (0),,(2,1,0),(3,0)
25 | * 2-4 -> (2,0),,(2,1,0),(3,0)
26 | * -4 -> (0),(2,1,0),(3,0),(2,0)
27 | * 4 -> (4,0),(2,1,0),(3,0),(2,0)
28 | * -> update sums
29 | */
30 |
31 | /* dispatch digits to RUN_DIGIT */
32 | #define RUN__30 ,RUN_DIGIT
33 | #define RUN__31 ,RUN_DIGIT
34 | #define RUN__32 ,RUN_DIGIT
35 | #define RUN__33 ,RUN_DIGIT
36 | #define RUN__34 ,RUN_DIGIT
37 | #define RUN__35 ,RUN_DIGIT
38 | #define RUN__36 ,RUN_DIGIT
39 | #define RUN__37 ,RUN_DIGIT
40 | #define RUN__38 ,RUN_DIGIT
41 | #define RUN__39 ,RUN_DIGIT
42 |
43 | #define RUN__0end ,RUN_END
44 | #define RUN__0batch ,RUN_BATCH
45 | #define CM_0run(P,m1,m2,m3,m4,s1,s2,x,...) B_CHECK(RUN__##x,RUN_DEFAULT)(m1,m2,m3,m4,s1,s2,x,__VA_ARGS__)
46 |
47 | #define RUN_BATCH(m1,m2,m3,m4,s1,s2,...) )NEXT ,0run,(m1,m2,m3,m4,s1,s2)
48 | #define RUN_END(m1,m2,m3,m4,s1,s2,...) )END (B16_DECIMAL(s1) B16_DECIMAL(s2))
49 |
50 | /* prepend digits */
51 | #define RUN_DIGIT(m1,m2,m3,m4,s1,s2,x,...) (,0run,(ASCII_##x,B_OPEN m1),m2,m3,m4,s1,s2,__VA_ARGS__)
52 |
53 | /* rotate m1 to m4, unless the are allready filled, in that case update sum */
54 | #define RUN_PROBE(...) ,RUN_UPDATE
55 | #define RUN_DEFAULT(m1,m2,...) B_CHECK(RUN_PROBE m2,RUN_ROTATE)(m1,m2,__VA_ARGS__)
56 |
57 | #define RUN_ROTATE(m1,m2,m3,m4,s1,s2,x,...) (,0run,(0),m3,m4,m1,s1,s2,__VA_ARGS__)
58 |
59 | #define RUN_UPDATE(m4,m1,m2,m3,s1,s2,x,...) \
60 | (,0run,(0),,,, \
61 | RUN_UPDATE_SUMS(s1,s2,B16_FROM_Bn(m1),B16_FROM_Bn(m2),B16_FROM_Bn(m3),B16_FROM_Bn(m4)), \
62 | __VA_ARGS__)
63 | #define RUN_UPDATE_SUMS(s1,s2,m1,m2,m3,m4) \
64 | B_IFe(CONTAINS(m1,m2,m3,m4))(B16_INC(s1))(s1), \
65 | B_IFe(OVERLAPS(m1,m2,m3,m4))(B16_INC(s2))(s2) \
66 |
67 | #define CONTAINS(m1,m2,m3,m4) B1_ORqe(,B1_ANDqe(,B16_LE(m1,m3),B16_GE(m2,m4)),B1_ANDqe(,B16_LE(m3,m1),B16_GE(m4,m2)))
68 | #define OVERLAPS(m1,m2,m3,m4) B1_NOTe(B1_ORqe(,B16_LT(m2,m3),B16_GT(m1,m4)))
69 |
70 |
71 | #define RUN(x) BATCH(,0run,((0),,,,B16_0,B16_0),x)
72 |
73 |
74 | #define EXAMPLE 32,2d,34,2c,36,2d,38,0a,32,2d,33,2c,34,2d,35,0a,35,2d,37,2c,37,2d,39,0a,32,2d,38,2c,33,2d,37,0a,36,2d,36,2c,34,2d,36,0a,32,2d,36,2c,34,2d,38,0a
75 |
76 |
77 | expected 2 4, got RUN(EXAMPLE)
78 |
79 | final result: RUN(INPUT)
80 |
81 |
--------------------------------------------------------------------------------
/aoc22/aoc7.c:
--------------------------------------------------------------------------------
1 | #include "inputs/7.c"
2 | #include "common.c"
3 |
4 | /*
5 | * AOC 2022 Day 7: https://adventofcode.com/2022/day/7
6 | */
7 |
8 | #define EXAMPLE 24,20,63,64,20,2f,0a,24,20,6c,73,0a,64,69,72,20,61,0a,31,34,38,34,38,35,31,34,20,62,2e,74,78,74,0a,38,35,30,34,31,35,36,20,63,2e,64,61,74,0a,64,69,72,20,64,0a,24,20,63,64,20,61,0a,24,20,6c,73,0a,64,69,72,20,65,0a,32,39,31,31,36,20,66,0a,32,35,35,37,20,67,0a,36,32,35,39,36,20,68,2e,6c,73,74,0a,24,20,63,64,20,65,0a,24,20,6c,73,0a,35,38,34,20,69,0a,24,20,63,64,20,2e,2e,0a,24,20,63,64,20,2e,2e,0a,24,20,63,64,20,64,0a,24,20,6c,73,0a,34,30,36,30,31,37,34,20,6a,0a,38,30,33,33,30,32,30,20,64,2e,6c,6f,67,0a,35,36,32,36,31,35,32,20,64,2e,65,78,74,0a,37,32,31,34,32,39,36,20,6b,0a
9 |
10 | /*
11 | * parses the input into the following format:
12 | * B32, B32 B32 (,) , B32 ...
13 | * ^ ^ file ^ file ^ directory ^ cd ^ file
14 | * |
15 | * the first number is the total file system size
16 | */
17 |
18 | #define FILE__30 ,FILE_NEXT
19 | #define FILE__31 ,FILE_NEXT
20 | #define FILE__32 ,FILE_NEXT
21 | #define FILE__33 ,FILE_NEXT
22 | #define FILE__34 ,FILE_NEXT
23 | #define FILE__35 ,FILE_NEXT
24 | #define FILE__36 ,FILE_NEXT
25 | #define FILE__37 ,FILE_NEXT
26 | #define FILE__38 ,FILE_NEXT
27 | #define FILE__39 ,FILE_NEXT
28 | #define CM_0file(P,t,n,x,...) B_CHECK(FILE__##x,FILE_END)(,t,n,x,P##__VA_ARGS__)
29 | #define FILE_END(P,t,n,x,...) (,0skipln,B32_ADD(t,n),P##__VA_ARGS__)n
30 | #define FILE_NEXT(P,t,n,x,...) (,0file,t,B32_ADD(B32_MUL(n,B32(a)),B32(ASCII_##x)),P##__VA_ARGS__)
31 |
32 | #define CM_0skipln(P,t,x,...) (,B_IFe(B_CHECK0(EQ_0a##x))(0parse)(0skipln),t,P##__VA_ARGS__)
33 |
34 | #define CM_0skipln0(P,t,x,...) (,B_CATe(0skipln,B_CHECK0(EQ_0a##x)),t,P##__VA_ARGS__)
35 | #define CM_0skipln1(P,t,x,...) (,B_IFe(B_CHECK0(EQ_24##x))(0skipln0)(0parse),t,x,P##__VA_ARGS__)
36 |
37 | #define PARSE__0end ,PARSE_END
38 | #define PARSE__24 ,PARSE_SKIPLN
39 | #define PARSE__64 ,PARSE_DIR
40 | #define CM_0parse(P,t,x,...) B_CHECK(PARSE__##x,PARSE_FILE)(,t,x,P##__VA_ARGS__)
41 |
42 | #define PARSE_END(P,t,...) )t,
43 | #define PARSE_FILE(P,t,...) (,0file,t,B32_0,P##__VA_ARGS__)
44 | #define PARSE_SKIPLN(P,t,a,b,c,d,...) (,0skipln0,t,P##__VA_ARGS__),
45 | #define PARSE_DIR(P,t,a,b,c,d,e,...) (,0skipln,t,P##__VA_ARGS__)(,)
46 |
47 | #define PARSE(...) CM(,0parse,B32_0,__VA_ARGS__,0end,)
48 |
49 | #if 0
50 | PARSE(EXAMPLE)
51 | #endif
52 |
53 |
54 |
55 | /* sum directory sizes by poping an pushing them from a stack,
56 | * whenever a directory marker, or a cd seperator is reached */
57 | #define MIN B32(2,6,2,5,a,0,0) // 70000000 - 30000000
58 | #define MAX B32(1,8,6,a,0) // 100000
59 |
60 | #define RUN_PROBE(...) ,RUN_NEXT,
61 | #define CM_0run(P,t,m,n,c,s,x,...) B_CHECK(RUN_PROBE x,RUN_CD)(,t,m,n,c,s,x,P##__VA_ARGS__)
62 | #define RUN_CD(P,t,m,n,c,s,x,...) (,0run,t,\
63 | B_IFe(B32_LE(t,c))(B32_MIN(c,m))(m), \
64 | B_IFe(B32_LE(c,MAX))(B32_ADD(n,c))(n),\
65 | B32_0,c s,P##__VA_ARGS__)
66 |
67 | #define RUN__ ,RUN_DIR,
68 | #define RUN__0end ,RUN_END,
69 | #define RUN_NEXT_PROBE(x,...) RUN__##x
70 | #define SPLAT(...) (__VA_ARGS__),
71 | #define RUN_NEXT(P,t,m,n,c,s,x,...) B_APPLY(B_CHECK(RUN_NEXT_PROBE x,RUN_FILE),(,t,m,n,c,s,SPLAT x,P##__VA_ARGS__))
72 |
73 | #define SEQ_AT_1(x) B_FX(B_TUPLE_AT_0,SPLAT x)
74 |
75 | #define RUN_FILE(P,t,m,n,c,s,x,xs,...) (,0run,t,m,n,B32_ADD(c,x),s,xs,P##__VA_ARGS__)
76 | #define RUN_DIR(P,t,m,n,c,s,x,xs,...) (,0run,t,m,n,B32_ADD(c,SEQ_AT_1(s)),B_EAT s,xs,P##__VA_ARGS__)
77 | #define RUN_END(P,t,m,n,c,s,x,xs,...) )B32_DECIMAL(n) B32_DECIMAL(m)
78 |
79 |
80 | #define RUN2(a,...) CM(,0run,B32_SUB(a,MIN),B32(7,f,f,f,f,f,f,f),B32_0,B32_0,,__VA_ARGS__,(0end,))
81 | #define RUN1(...) RUN2(__VA_ARGS__)
82 | #define RUN(...) RUN1(PARSE(__VA_ARGS__))
83 |
84 |
85 |
86 | expected 95437 24933642, got RUN(EXAMPLE)
87 |
88 | final result: RUN(INPUT)
89 |
90 |
91 |
--------------------------------------------------------------------------------
/aoc22/inputs/6.txt:
--------------------------------------------------------------------------------
1 | bjbffsfnsnppzpphvhjvjtjmjwjrjdjffwrfrvvrqrrqwrrqpqhqnnddvccrbbwcwbcbclclhlzlznntrrzffctcggzqgqtgqtgtrgttlhttgstgtsgsfsnsddsvdsvddrzrvrnvnrvnrnmrrvfvbfbnbmmtbbgpgtptjptpctpccmccgbccqbcqczqccdssfqfzzjgzzvcvgggrjggncgctgtjjpttqtrrvmrvmmzzfcffpgfgfqggbwgghcctllfhlffbbcffspfpcplpjjlwldwldlpddwzzlqzqfzzcwcmwwcddhgddstsnsjsvjsvvndndsnnclcvcpvpwpqwpqwqllcjcsjjbppfdftfrrpwwqtqtvtllrsrhhczzgllsbsvsttbsszzgwgjwjqwjwvvcmcbczbbgppghghgshhvmhmvvvflllllsrsqsbbfsshhrhddcncbnnrfnnbtbftfltftdtndtdtcdcbdcbchhtddhhvbvsbstsjsjppmpjpttmjjvtjvvdcctcbbbbqzzssfdsdrdwdpplspllphpnhnshnncwnnhlnhhvvpttfftwfwjfjzjsjddjldjlddvzzfzczrzjrzrhzhshslhsllmcllhhthrttfssnqnjnbbzfbbmpmlplhlttmzzwrwjrjppzmpmrprcprplrprmrvrvqrrnlnccswwvggvgcgddlrlrccqhhgvgnvvmlmmcqqhrqrwqwsswgssfjjgvjvppfffhjhrhfhhlphpmpzmpmlppcspcpgpnpddcmcllwvvqfqbbpbcchjjpzpzbbhbzhhrrzrhzhphqphhqvqttmhhbvbcbcmbbfgbbmnmncmnmvnvffgdfggvhvthvhqqdwwvmvlmljjjvsjswjwzwjjqmqrmqmlljqqjvqvtvlldjjfbbpbvbttqhhgrrcssfdsdccrncrncnmnvvmccnrrrtctjtsjttrmrhhvdhdrdjdpdhphsppnttnhhvdvvztvtftsfsrfrppsggfbgbbvbmmjgjrjttfnngttscclzcztctcltcllsmllggbfbhffjljhhbjjjgddzdvdvrvzrrgqgllnvllnccqjqhhwrhhtfttfpfsfvfqvqgvgpppjjhzzcszczbcbtblltlffdfwddfsspgprgpgjgdgsgcccrllbzbqzbzwbwwtmwwvpvlpljlsjssfnfqfzqffthtjtptvptvvmlvlzzdnznwnddjtjpptnpnccbsccjmjqqcfcdddwtdtftntzzpbbbhcbblglttrmmclcdchhzttjwtwztwzwzczfccmrmcrmrsrnsrnrsnrrfmmmcpmmjtjrrwssvdssrvrqvrvcrchrhfhpprwprwpwtttvrtvrvffdcfcssfrfbbvsslvvhphrrwggssjtjbttqtllnmlnljlmmtllfjjtjtpjttbwbswsnwnnjdjbblfbfmmblmmwnmnncjcwwhzzdffvppvmmtzzrhrchhtjhttcssvnsnvnhvvdgvvvgtvtqtgqqzrzbzqzgqgmqmtqqztqqgllchlclwwbwrrwprwprrlgrgwggjhggtgmtggjddfhdddnzztrtjrjprpwrwttqzqnzzfnfcnfcftflfttvbvpbpllrtltslttlddbzdbzzfjfrjfjcjhjssbcsczcnznlzzggdccllhbhpbhbjbwjbwjwtwffptpqqqmssrlrddwqwqdqfqjqwqtqhtsrgvsdtrjmhtgrwvwrbfqtgvjbwphbrszdcgtcpqqrcqtzvzjstzpbmwrqlrcsmlnqpsprsfnpqqsdzbfglcshtjpphmchdzggrcjwttwlzdffgpswzfjdcgzntgzsqvjdnwwwwmtjvpqjgmltmstzztpzflfdhbhhljgdmthnrdzhmtwcmpsjnlgwcvnwdbdrbhcsscgwtptzrmqcwdcmsssmqjpnvclhhbgsjrmqgvvqhgmhzmnpqtczqwmnpvvpdhdtdpdsrmzwtsfchzmdlggrnvwcfbfmrgffssdjjlwbdvjqqwddgmgfwvbzldccwnwrnltcrmblwqswjslnsjtfqvssdrdtpwptdtvtdwhgtgqnmhqfljjjsdgwmptbctjtpdhzmtshgdwnnhfjthmhdrqqqprrdwhvsfwfbvwtfvhgglfphzwjqffwcclbpmtcqzmtjmswscngtbmbdsvfzfbgwvhwlhtgdsnscnrssdqzvhmhplqppzrgdncfvvpnzhgnjrvcmhrqmzvzmdhhpjmrrnwfrhdgqdhvvstbldrgdcwbgjvcwhfrpbgrnvgcszhpbbgvqnvvrrcgprtsftjqtnrbqrzspmzpnchbrbbbpnjdllhnnbcfdsjjhhjcrvvtsgnnfvczvqgvbgphzzjcczsgtlvfrddzlvwdfhprnsvrnzdcfqsbfhcmnrgmrfqwcblbzgrpnvbtrqqnnfslfllfsmrrfsthfzgrwswdprzcswgrjcpzwfhzbhpmsjjtsgcqpnhtwpvpcbpttdpcftrqsbtgtspdhlvmphvnglsdntqfzcrwvvzsmjftjpgjglnnjhnpbhpcmwshdrfbczwtmtslcpmnpngvhlccvtwrsglrrfcmngshtjlnvrtqpfngrrtvhhvmnbwpjtwplfnmfqrbzzqzwchthjbbrpgdppmsjlbljrzqvhmsbrtwglgwnhmmdwpmvmjqqrhtmjjmcnbgtpbbqbnphzhwfhzddqbhqhtmwvffjdcfjmwjjdrqwsfzfrrwlmhndhdvrsdqtmccdqgppwpfrtcgzzwczfblvtjhhdjmdlldbtwthfdpjhpsgbcjjznmwdgnczbnfdfslhsjcjnthgsjlslbcvvqgqbstdwlqllpmmtqlqrbtnvphvwhbshhpdzfbclsqgdmhrnjmbwjzwzdtqswzgmnmwcqcmtpnjzzcrqftvnrdqghszchhmnvlvmcmblpcqnspsjthgqrdpbrzvwtfmnfdcfgwtlvpvwjdwzdvqvgdrcqvzwlbmcwmbsqfhzmwfqmjvgjtsprwbbsrldnwmvhrtsmcdsbftpvcsmpnlmlggmlrgjfvljmpfldftqhjmqqhwfpjtzrrhtlrmmstjphtmldslnnmfhnccrpgjmrbffcvgvmghhnpqhpvdqmdzqcjtcjplhlffwgslpsfzpwqsfpngscdlszlpctpqgdmvwfdfgpwrpltvlwrzrgjjjnjtrwctjsnbtpbfbgqzftmjhfrzrtmtnztlhwwgqnvmfnrshfcdswbqnlrqvtgjdzmqqcdgpwjlgfwnnnjsmmtfbvpwqvnjdjphclnvjntqlfwdppjgcvlcjmfdsbtgngcglmdgsgzwdvsqlvgwcrjtttgdmrlthhwhnnrvvrjgqzqmbcbmhdwmndhjstlmbtwjbgmlrqqcmqzjzcbbfrqrqlmvvgfrdtrwrpgcfsrnjdbfddwgwqrlpvfjgnjjnrlzpbtnjphlqzmdwnqhvblmwzvtnsvbcgqdpmgvchqmgjmbvrfwmmzlchhbqrfmvdffczcsjlhjrmmlmdztmltszrjlrgjwrlfwvlgqtqznnscbqgdzbvdnnjbfmcztjvbgbfmdhvrjgjcngtpzndpnpwwldlfrtqhwpfwphrgdzjvslnbpmrvjpcjpbbsmpwvzmldrspmrlbsptzfdngcscsllswzccjzlmbglsrthvbzznzpjdswhqncmrpnqhzggzzfvhlgqbvlmfsqglpphhswhjbpqnqfpzltmhndmmzclwfmlqztvrqdzfqjpdhttgshjwffdcchmvrwmblpzffbgwrgnqhhvvsvlwnzmmhjwrszpfdsncjwllrnzrsfjsrdgnrbjqlrvpmzbstlqdznhjgbslzmplnqprwqgddjlwzbtrmfsfdlggddqrccztjffvbnsmfdzdhrgsflffmmjtjlbtnfcwhwzdsnbbphbjlrfrddbpncjrtglsnrppdbznrbjqqzdswnhvssffhjzrwnmlvmwmljnhtsnplpjdjpqzbbmzzfcmpm
2 |
--------------------------------------------------------------------------------
/aoc22/aoc3.c:
--------------------------------------------------------------------------------
1 | #include "inputs/3.c"
2 | #include "common.c"
3 |
4 | /*
5 | * AOC 2022 Day 3: https://adventofcode.com/2022/day/3
6 | */
7 |
8 | /*
9 | * I'll spare you the comments, this is a huge mess, and I'm not proud of it.
10 | * I even encountered an internal compiler error while throwing this monstrosity together.
11 | * But it works!
12 | */
13 |
14 |
15 | #define SEQ_OPEN(...) __VA_ARGS__,
16 | #define SEQ_EXTRACT(...) (__VA_ARGS__),
17 |
18 | #define EQ_0end_0end ,1
19 |
20 | #define CM_0contains(P,x,y,ys) B_CAT3e(CONTAINS,B_CHECK0(x##y),B_CHECK0(EQ_0end_##y))(x,y,ys)
21 | #define CONTAINS00(x,y,ys) (,0contains,x,SEQ_OPEN ys)
22 | #define CONTAINS10(x,y,ys) )y
23 | #define CONTAINS01(x,y,ys) )0
24 | #define SEQ_CONTIANS(ys,x) CM(,0contains,EQ_##x,SEQ_OPEN ys(0end))
25 |
26 | SEQ_CONTIANS((76)(4a)(72)(77)(70)(57)(74)(77),74) == 74
27 | SEQ_CONTIANS((76)(4a)(72)(77)(70)(57)(74)(77),nope) == 0
28 |
29 |
30 |
31 | #define INTERSECT_0end_0end ,INTERSECT_END
32 | #define CM_0intersect(P,xs,y,ys,rs) B_CHECK(INTERSECT_0end_##y,INTERSECT_NEXT)(SEQ_CONTIANS(xs,y),xs,y,ys,rs)
33 |
34 | #define INTERSECT_END(c,xs,y,ys,rs) )rs
35 | #define INTERSECT_NEXT(c,xs,y,ys,rs) \
36 | (,0intersect,xs,SEQ_OPEN ys,B_WHENe(B_BOOL(c))((c))rs)
37 |
38 |
39 | #define INTERSECT(xs,ys) CM(,0intersect,xs,SEQ_OPEN ys(0end),)
40 |
41 | INTERSECT((76)(4a)(72)(77)(4c)(57)(74)(77)(4a)(67)(57)(72),
42 | (68)(63)(73)(46)(4d)(4d)(66)(46)(46)(68)(46)(4c)) == (4c)
43 |
44 | INTERSECT((76)(4a)(72)(77)(4c)(57)(74)(77)(4a)(67)(57)(72),
45 | (68)(63)(57)(46)(4d)(4d)(66)(46)(46)(68)(46)(4c)) == (4c)(57)
46 |
47 |
48 |
49 |
50 | #define SCORE_EXTRACT(x) B8_##x,
51 | #define SCORE_SEQ(x) SCORE_SEQ_1(SCORE_EXTRACT x)
52 | #define SCORE_SEQ_1(...) SCORE_SEQ_2(__VA_ARGS__)
53 | #define SCORE_SEQ_2(x,...) SCORE_B8(x)
54 | #define SCORE_B8(x) B_IFe(B8_LT(x,B8(6,1)))(B8_SUB(x,B8(2,6)))(B8_SUB(x,B8(6,0)))
55 |
56 | #define CM_0score(P,xs,ys,len) \
57 | B_IFe(B8_IS_0(len)) \
58 | ((,0intersect,xs,SEQ_OPEN ys(0end),)) \
59 | ((,0score,xs SEQ_EXTRACT ys,B8_DEC(B8_DEC(len))))
60 |
61 | #define SCORE(xs,len) SCORE_SEQ(CM(,0score,,xs,len))
62 |
63 | SCORE((76)(4a)(72)(77)(70)(57)(74)(77)(4a)(67)(57)(72)(68)(63)(73)(46)(4d)(4d)(66)(46)(46)(68)(46)(70), B8(1,8)) == B8(1,0)
64 |
65 | SCORE ((6a)(71)(48)(52)(4e)(71)(52)(6a)(71)(7a)(6a)(47)(44)(4c)(47)(4c)(72)(73)(46)(4d)(66)(46)(5a)(53)(72)(4c)(72)(46)(5a)(73)(53)(4c),B8(1,e)) == B8(2,6)
66 |
67 |
68 |
69 |
70 | #define RUN__0a ,RUN_NEWLINE
71 | #define RUN__0end ,RUN_END
72 | #define RUN__0batch ,RUN_BATCH
73 | #define CM_0run(P,xs,len,sum1,cnt,ys,sum2,x,...) B_CHECK(RUN__##x,RUN_NEXT)(xs,len,sum1,cnt,ys,sum2,x,__VA_ARGS__)
74 |
75 | #define RUN_BATCH(xs,len,sum1,cnt,ys,sum2,...) )NEXT ,0run,(xs,len,sum1,cnt,ys,sum2)
76 | #define RUN_END(xs,len,sum1,cnt,ys,sum2,...) )END (B16_DECIMAL(sum1) \
77 | B16_DECIMAL(B16_ADD(sum2,B16_FROM_Bn(SCORE_SEQ(ys(26))))))
78 |
79 | #define RUN_NEXT(xs,len,sum1,cnt,ys,sum2,x,...) (,0run,xs(x),B8_INC(len),sum1,cnt,ys,sum2,__VA_ARGS__)
80 |
81 | #define RUN_NEWLINE(xs,len,sum1,cnt,ys,sum2,x,...) RUN_NEWLINE_1(SCORE(xs,len),sum1,PART2(cnt,ys,xs,sum2),__VA_ARGS__)
82 | #define RUN_NEWLINE_1(score,sum1,part2,...) (,0run,,B8_0,B16_ADD(B16_FROM_Bn(score),sum1),part2,__VA_ARGS__)
83 |
84 |
85 | #define PART2(cnt,ys,xs,sum) \
86 | B_IFe(B8_IS_0(cnt))( \
87 | B8(2),xs,B16_ADD(sum,B16_FROM_Bn(SCORE_SEQ(ys(26)))) \
88 | ) /* else */ ( \
89 | B8_DEC(cnt),INTERSECT(ys,xs),sum \
90 | )
91 |
92 | #define RUN(x) BATCH(,0run,(,B8_0,B16_0,B8_0,,B16_0),x)
93 |
94 |
95 |
96 | #define EXAMPLE 76,4a,72,77,70,57,74,77,4a,67,57,72,68,63,73,46,4d,4d,66,46,46,68,46,70,0a,6a,71,48,52,4e,71,52,6a,71,7a,6a,47,44,4c,47,4c,72,73,46,4d,66,46,5a,53,72,4c,72,46,5a,73,53,4c,0a,50,6d,6d,64,7a,71,50,72,56,76,50,77,77,54,57,42,77,67,0a,77,4d,71,76,4c,4d,5a,48,68,48,4d,76,77,4c,48,6a,62,76,63,6a,6e,6e,53,42,6e,76,54,51,46,6e,0a,74,74,67,4a,74,52,47,4a,51,63,74,54,5a,74,5a,54,0a,43,72,5a,73,4a,73,50,50,5a,73,47,7a,77,77,73,4c,77,4c,6d,70,77,4d,44,77,0a
97 |
98 | expected 157 70, got RUN(EXAMPLE)
99 |
100 | final result: RUN(INPUT)
101 |
102 |
103 |
--------------------------------------------------------------------------------
/aoc22/aoc5.c:
--------------------------------------------------------------------------------
1 | #include "inputs/5.c"
2 | #include "common.c"
3 |
4 | /*
5 | * AOC 2022 Day 5: https://adventofcode.com/2022/day/5
6 | */
7 |
8 |
9 | /*
10 | * I've decided to ignore the example this time around, because assuming there
11 | * are nine containers drastically simplifies the code.
12 | *
13 | * The idea of how to parse this is the following:
14 | * 1. Fill 9 initial containers, by extracting the values until the
15 | * second character of a line is "1".
16 | * 2. Rearrange containers by parsing the move commands, here we need to
17 | * distinguish between the number of containers to move being one or two
18 | * digits wide.
19 | */
20 |
21 |
22 |
23 | /* parse the inital containers */
24 | #define MAYBE_20_20 ,1
25 | #define MAYBE(x) B_IFe(B_CHECK0(MAYBE_20_##x))()((ASCII_##x))
26 |
27 | /* end if the second character after a newlien is "1" */
28 | #define INIT__31 ,INIT_END
29 | #define CM_0init(P,a,b,c,d,e,f,g,h,i,_a,A,...) \
30 | B_CHECK(INIT__##A,INIT_NEXT)(,MAYBE,a,b,c,d,e,f,g,h,i,_a,A,P##__VA_ARGS__)
31 |
32 | /* extract containers from line */
33 | #define INIT_NEXT(P,M,a,b,c,d,e,f,g,h,i, \
34 | _a,A,_b,_c, \
35 | _d,B,_e,_f, \
36 | _g,C,_h,_i, \
37 | _j,D,_k,_l, \
38 | _m,E,_n,_o, \
39 | _p,F,_q,_r, \
40 | _s,G,_t,_u, \
41 | _v,H,_w,_x, \
42 | _y,I,_z,_0,...) \
43 | (,0init,a M(A),b M(B),c M(C),d M(D),e M(E),f M(F),g M(G),h M(H),i M(I),P##__VA_ARGS__)
44 | /* consume the leftover lines, until the move commands start */
45 | #define INIT_END_CONSUME(P,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar, \
46 | as,at,au,av,aw,ax,ay,az,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,...) P##__VA_ARGS__
47 | #define INIT_END(P,M,a,b,c,d,e,f,g,h,i,...) ) (a,b,c,d,e,f,g,h,i),INIT_END_CONSUME(,P##__VA_ARGS__)
48 |
49 | #define INIT(...) CM(,0init,,,,,,,,,,__VA_ARGS__,)
50 |
51 |
52 |
53 | /* helpers to implement the move functions */
54 | #define EAT(x)
55 | #define SEQ_SPLAT(x) (x),
56 | #define SEQ_AT_1(x) B_FX(B_TUPLE_AT_0,SEQ_SPLAT x)
57 |
58 | #define SPLAT(x) x,
59 | #define SEQ_AT_1_OPEN(x) B_FX(B_TUPLE_AT_0,SPLAT x)
60 |
61 | #define REMOVE_1(a,b,c,d,e,f,g,h,i) SEQ_AT_1(a),EAT a,b,c,d,e,f,g,h,i
62 | #define REMOVE_2(a,b,c,d,e,f,g,h,i) SEQ_AT_1(b),a,EAT b,c,d,e,f,g,h,i
63 | #define REMOVE_3(a,b,c,d,e,f,g,h,i) SEQ_AT_1(c),a,b,EAT c,d,e,f,g,h,i
64 | #define REMOVE_4(a,b,c,d,e,f,g,h,i) SEQ_AT_1(d),a,b,c,EAT d,e,f,g,h,i
65 | #define REMOVE_5(a,b,c,d,e,f,g,h,i) SEQ_AT_1(e),a,b,c,d,EAT e,f,g,h,i
66 | #define REMOVE_6(a,b,c,d,e,f,g,h,i) SEQ_AT_1(f),a,b,c,d,e,EAT f,g,h,i
67 | #define REMOVE_7(a,b,c,d,e,f,g,h,i) SEQ_AT_1(g),a,b,c,d,e,f,EAT g,h,i
68 | #define REMOVE_8(a,b,c,d,e,f,g,h,i) SEQ_AT_1(h),a,b,c,d,e,f,g,EAT h,i
69 | #define REMOVE_9(a,b,c,d,e,f,g,h,i) SEQ_AT_1(i),a,b,c,d,e,f,g,h,EAT i
70 |
71 | #define APPEND_1(X,a,b,c,d,e,f,g,h,i) X a,b,c,d,e,f,g,h,i
72 | #define APPEND_2(X,a,b,c,d,e,f,g,h,i) a,X b,c,d,e,f,g,h,i
73 | #define APPEND_3(X,a,b,c,d,e,f,g,h,i) a,b,X c,d,e,f,g,h,i
74 | #define APPEND_4(X,a,b,c,d,e,f,g,h,i) a,b,c,X d,e,f,g,h,i
75 | #define APPEND_5(X,a,b,c,d,e,f,g,h,i) a,b,c,d,X e,f,g,h,i
76 | #define APPEND_6(X,a,b,c,d,e,f,g,h,i) a,b,c,d,e,X f,g,h,i
77 | #define APPEND_7(X,a,b,c,d,e,f,g,h,i) a,b,c,d,e,f,X g,h,i
78 | #define APPEND_8(X,a,b,c,d,e,f,g,h,i) a,b,c,d,e,f,g,X h,i
79 | #define APPEND_9(X,a,b,c,d,e,f,g,h,i) a,b,c,d,e,f,g,h,X i
80 |
81 |
82 |
83 |
84 | /* moves each container one at a time (part 1) */
85 | #define CM_0move1(P,S,n,x,y) B_CATe(MOVE1__,B8_IS_0(n))(,S,n,x,y)
86 | #define MOVE1__0(P,S,n,x,y) (,0move1,(B_FX(y,x S)),B8_DEC(n),x,y)
87 | #define MOVE1__1(P,S,...) )S
88 |
89 | #define MOVE1(S,n,x,y) CM(,0move1,S,n,B_CATe(REMOVE_,ASCII_##x),B_CATe(APPEND_,ASCII_##y))
90 |
91 |
92 |
93 | /* moves containers simultaneously (part 2) */
94 |
95 | #define MOVE2_REMOVE(X,a,b,c,d,e,f,g,h,i) X,(a,b,c,d,e,f,g,h,i)
96 | #define MOVE2_APPEND(y,...) APPEND_##y(__VA_ARGS__)
97 |
98 | #define CM_0move2(P,i,S,n,x,y) B_CATe(MOVE2__,B8_IS_0(n))(,i,S,n,x,y)
99 | #define MOVE2__0(P,i,S,n,x,y) \
100 | (,0move2, \
101 | i B_FX(MOVE2_REMOVE,x S), \
102 | B8_DEC(n),x,y)
103 | #define MOVE2__1(P,i,S,n,x,y) )(MOVE2_APPEND(y,i,B_OPEN S))
104 |
105 | #define MOVE2(S,n,x,y) CM(,0move2,,S,n,B_CATe(REMOVE_,ASCII_##x),ASCII_##y)
106 |
107 |
108 |
109 |
110 | /* call INIT and issue the apropriate move commands */
111 | #define RUN__0end ,RUN_END
112 | #define CM_0run(P,mv,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,...) \
113 | B_CHECK(RUN__##a,RUN_NEXT)(,mv,S,f,g,m,n,r,s,t,P##__VA_ARGS__)
114 |
115 | #define RUN_END(P,mv,S,...) ) S
116 |
117 | #define RUN_NEXT__20 ,RUN_1DIGIT
118 | #define RUN_NEXT(P,mv,S,f,g,...) B_CHECK(RUN_NEXT__##g,RUN_2DIGIT)(,mv,S,f,g,P##__VA_ARGS__)
119 | #define RUN_1DIGIT(P,mv,S,f,g,m,n,r,s,t,...) (,0run,mv,mv(S,B8(ASCII_##f),m,r),t,P##__VA_ARGS__)
120 | #define RUN_2DIGIT(P,mv,S,f,g,m,n,r,s,t,...) (,0run,mv,mv(S,B8_ADD(B8_MUL(B8(a),B8(ASCII_##f)),B8(ASCII_##g)),n,s),P##__VA_ARGS__)
121 |
122 | /* extract top most containers and concatinate them */
123 | #define TOP(x) TOP_1 x
124 | #define TOP_1(a,b,c,d,e,f,g,h,i) TOP_2(SEQ_AT_1_OPEN,a,b,c,d,e,f,g,h,i)
125 | #define TOP_2(F,a,b,c,d,e,f,g,h,i) B_STRe(F(a)F(b)F(c)F(d)F(e)F(f)F(g)F(h)F(i))
126 |
127 | #define RUN(mv,...) TOP(CM(,0run,mv,INIT(__VA_ARGS__)0end,,,,,,,,,,,,,,,,,,,,,,,,))
128 |
129 |
130 |
131 | final result: RUN(MOVE1,INPUT) RUN(MOVE2,INPUT)
132 |
133 |
134 |
135 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | 
3 |
4 | > A low level preprocessor meta programming library.
5 |
6 | ---
7 |
8 | ## Samples
9 |
10 | ### conditionals
11 |
12 |
13 | | code.c | output |
14 | |
15 |
16 | ```c
17 | #include "boline/boline.c"
18 | B_IF(1)(true)(false)
19 | B_UNLESS(1)(true)
20 | B_WHEN(1)(true)
21 |
22 | #define TRUE 1
23 | B_IFe(FALSE)(false)(true)
24 | B_UNLESSe(FALSE)(false)
25 | B_WHENe(FALSE)(flase)
26 | ```
27 |
28 | |
29 |
30 | ```c
31 |
32 | true
33 |
34 | true
35 |
36 | false
37 | false
38 |
39 | ```
40 |
41 | |
42 |
43 |
44 | ### checks
45 |
46 |
47 | | code.c | output |
48 | |
49 |
50 | ```c
51 | #include "boline/boline.c"
52 | #define MYWORD word
53 | #define EQ_word_word ,1
54 | B_CHECK0(B_CATe(EQ_word_,MYWORD))
55 |
56 | #define BRANCH__word1 ,BRANCH_1
57 | #define BRANCH__word2 ,BRANCH_2
58 | B_CHECK(B_CATe(BRANCH__,MYWORD),BRANCH_DEFAULT)
59 | ```
60 |
61 | |
62 |
63 | ```c
64 |
65 |
66 |
67 | 1
68 |
69 |
70 |
71 | BRANCH_DEFAULT
72 | ```
73 |
74 | |
75 |
76 | ### boolean logic
77 |
78 |
79 | | code.c | output |
80 | |
81 |
82 | ```c
83 | #include "boline/boline.c"
84 | B1_ANDe(1, B1_OR(1, 0))
85 | B1_ANDe(1, B1_OR(0, 0))
86 | B1_XORe(B1_NOTe(B1_ANDe(1, 0)), B1_OR(1, 1))
87 | ```
88 |
89 | |
90 |
91 | ```c
92 |
93 | 1
94 | 0
95 | 0
96 | ```
97 |
98 | |
99 |
100 | ### Integer types
101 |
102 |
103 | | code.c | output |
104 | |
105 |
106 | ```c
107 | #include "boline/boline.c"
108 | B8_HEX(B8(1,f))
109 | B16_HEX(B16(1,2,3))
110 | B32_HEX(B32(1,2,3,4,5,6))
111 | B64_HEX(B64(1,2,3,4,5,6,7,8,9,a,b,c,d,e,f))
112 |
113 | B8_HEX(B8_FROM_Bn(B32(1,2,3,4,5,6)))
114 | B32_HEX(B32_FROM_Bn(B8(1,2)))
115 |
116 | B16_HEX(B16_2(1,2))
117 | B16_HEX(B16_0)
118 |
119 | B16(1,2) // internal representation
120 | ```
121 |
122 | |
123 |
124 | ```c
125 |
126 | 0x1f
127 | 0x0123
128 | 0x00123456
129 | 0x0123456789abcdef
130 |
131 | 0x56
132 | 0x00000012
133 |
134 | 0x0012
135 | 0x0000
136 |
137 | (2,1,0,0)
138 | ```
139 |
140 | |
141 |
142 | ### basic math
143 |
144 |
145 | | code.c | output |
146 | |
147 |
148 | ```c
149 | #include "boline/boline.c"
150 | B32_HEX(B32_ADD(B32(1,2,3), B32(1,a)))
151 | B32_HEX(B32_MUL(B32(1,2,3), B32(1,a)))
152 | B32_HEX(B32_UDIV(B32(1,2,3), B32(1,a)))
153 | B32_HEX(B32_UREM(B32(1,2,3), B32(1,a)))
154 |
155 | B32_HEX(B32_INC(B32(1,2,0)))
156 | B32_HEX(B32_DEC(B32(1,2,0)))
157 | B32_HEX(B32_NOT(B32(1,f,0)))
158 | B32_HEX(B32_NEG(B32(1)))
159 | B32_HEX(B32_ABS(B32_DEC(B32_0)))
160 |
161 | B8_HEX(B8_AND(B8(3,7),B8(9,4)))
162 | B8_HEX(B8_OR(B8(3,7),B8(9,4)))
163 | B8_HEX(B8_XOR(B8(3,7),B8(9,4)))
164 | ```
165 |
166 | |
167 |
168 | ```c
169 |
170 | 0x0000013d
171 | 0x00001d8e
172 | 0x0000000b
173 | 0x00000005
174 |
175 | 0x00000121
176 | 0x0000011f
177 | 0xfffffe0f
178 | 0xffffffff
179 | 0x00000001
180 |
181 | 0x14
182 | 0xb7
183 | 0xa3
184 | ```
185 |
186 | |
187 |
188 | ### Comparisons
189 |
190 |
191 | | code.c | output |
192 | |
193 |
194 | ```c
195 | #include "boline/boline.c"
196 | B32_LT(B32(a,3), B32(1,2))
197 | B32_GT(B32(a,3), B32(1,2))
198 | B32_EQ(B32(a,3),B32(a,3))
199 | B32_NE(B32(a,3),B32(a,3))
200 | B32_IS_0(B32(a,3))
201 | B32_IS_NEG(B32_DEC(B32_0))
202 | ```
203 |
204 | |
205 |
206 | ```c
207 |
208 | 0
209 | 1
210 | 1
211 | 0
212 | 0
213 | ```
214 |
215 | |
216 |
217 |
218 | ### Memory
219 |
220 |
221 |
222 | | code.c | output |
223 | |
224 |
225 | ```c
226 | #include "/home/camel/git/boline/boline/boline.c"
227 |
228 | M8_AT(B8(4,2),M8_PUT(B8(1,2),X,M8_PUT(B8(4,2),Y,)))
229 | M8_PUT(B8(1,e),X,)
230 | M8_PUT(B8(2,0),Z,M8_PUT(B8(1,f),Y,M8_PUT(B8(1,e),X,)))
231 | ```
232 |
233 | |
234 |
235 | ```c
236 |
237 |
238 | Y
239 | (,(,,,,,,,,,,,,,,X,),,,,,,,,,,,,,,)
240 | (,(,,,,,,,,,,,,,,X,Y),(Z,,,,,,,,,,,,,,,),,,,,,,,,,,,,)
241 | ```
242 |
243 | |
244 |
245 |
246 | ### Continuation Machine (Recursion)
247 |
248 |
249 |
250 | | code.c | output |
251 | |
252 |
253 | ```c
254 | #include "boline/boline.c"
255 | #include "boline/cm.c"
256 |
257 | #define SUM_PROPE(...) ,SUM_NEXT
258 | #define CM_0sum(P,total,x,...) B_CHECK(SUM_PROPE x,SUM_END)(,total,x,P##__VA_ARGS__)
259 | #define SUM_END(P,total,...) ) B16_HEX(total)
260 | #define SUM_NEXT(P,total,x,...) (,0sum,B16_ADD(total,x),P##__VA_ARGS__)
261 |
262 | #define SUM(...) CM(,0sum,B16_0,__VA_ARGS__,0end)
263 |
264 | SUM(B16(1),B16(a),B16(1,2),B16(a,f),B16(1,1,1,1))
265 | ```
266 |
267 | |
268 |
269 | ```c
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 | 0x11dd
281 | ```
282 |
283 | |
284 |
285 |
286 | ### Advent Of Code 2022 (Samples)
287 |
288 | Check out the [Advent Of Code 2022](https://adventofcode.com/2022) solutions in [aoc22/](aoc22/).
289 |
290 | ## Licensing
291 |
292 | This project is licensed under [LICENSE](LICENSE).
293 |
294 |
--------------------------------------------------------------------------------
/aoc22/inputs/3.txt:
--------------------------------------------------------------------------------
1 | QJRBMDMtRDCtJzBtJMfjNjhwvmNDvwjLVVgh
2 | TPSNNPZGTjgmSmvfjL
3 | bPlpZZbpsTlTsWprpGFCJtRtzMNdMMBBcWnJQB
4 | tppvbQBhpQQdrzMMcLwhMc
5 | gZnWRccRNgFGRGRFRNNgZgJMddddLLLMCPqwLCNPwqPJ
6 | nRRmFSnWmlgZlTlTllSlSWWWTsfvfDQpBfBcpQvpVQpTfQQf
7 | lRlsVFgTlMgRNsSNTlFgmbWnMPppPnMqWZMWPPWW
8 | fDjgBJdCfCHHBnfLWpqnmnpZmf
9 | GjQHHcdvJHQBHSSNsFQFslwwRg
10 | NPwDLDHNwjLLHWjbdSbDfJJQTZsZDS
11 | BcFBcvgFvghnFLrBpvrgcgrJSZJpQdfSTZbCsSdfZZfbCf
12 | VrngVFRmrVWHLGVMlL
13 | SNBBBDlfZDLqNGmgFjjmBsQgCFtF
14 | VPPVbhpbhMhRhncnScRncbrQtCgQQFmjjjsgtRtQHmFQ
15 | nhWcPJVhpbvMvwvwllvSlGlD
16 | wNlNNqtqHHHPhqCz
17 | MMMMcQSWSpQCWFnRRPchLVvPLLzhmhLzhh
18 | CrgRSWrnrQpppRQrCTnRTRtGtBDBfbNBllbTJlZtfNBN
19 | QNbbNrnNnCwHmNPQmzqQNPsCCfBFFGtsBBddBDtCJDJd
20 | gvVgpZWgTWvRvlvLPDDJjGBfdsdpDDJGdd
21 | ZRMWWRMVgRZghTggPSMZzQwwnqwmnzhNnNwHcQHm
22 | VmPHzBmpmQHbVHSpNHBVQCtRPPCPvFFMqqntZCZqMR
23 | dWlDcfcfcjcfDWjlsZfjJhdGvFLGnLsLqsRnvRvRGGRttC
24 | wfJhZTllcfdZdfjJfjdmQzHVSzHzgHQTpHpmpV
25 | qNnqmzmCBfvmDvBm
26 | HcdhtQdttbbhtVcrVVDMfZvdMBTqsWZMBsWZ
27 | HQGtctRblwqpNwRN
28 | SBtBLBMZzPDDNFFDQnVVVnnDmf
29 | dgCjblRdgRvrbwjJGzQQQzwJVJ
30 | WpWbCWWvlgrcCHdvvCdvWbSLZzhhZhtLBPPStSPhMSpM
31 | PlPnGGGzCqqlrqTRsbTmFRWgDPmR
32 | wwpLtjwpzjDwFWRsWTWW
33 | NZtJjHNNhHfnCBcJMBlCSz
34 | wSrwggPrhJhCdddw
35 | tLMNvMTFhDZdhTBh
36 | LtMvFttGbNcWRsLFLsccRRgfnSrPjPnfljSfPWlnPhrS
37 | TSZlwZSSccSHZLHVcllSvmDLmJhjDDffJmGjQjgQQJ
38 | sdBdzsNnBMBstNNMFhNPNbPzgGfDgJrtrfjCjDrCfJmmDQJf
39 | BnnBznRsFRFBsspzzbZpSTqVTpHVhpTvlqVW
40 | VtVjjhdFmCCfhRRzzSDbDzpmgzmvgb
41 | CHJqrswsWvbvJbpD
42 | CqCPcZHGHTcsCBQsBrTGHMFnLVQjMjLVVhdhnFQVRL
43 | tvlPSrlNNvtglTtPccldQdhbQbZdcqqZ
44 | mRmBGHWmDFRsZqHrfbdhqhZZ
45 | jjMGjWrJpttNjtgg
46 | HPtCMJNjvJLMDZRdBgLSBSfsWBgG
47 | VmnrhwwqhbbzrwnDrqpdWBgfdSdfBGgffGWRdh
48 | qmnTFbVnpqVzpnvlDFJZDClNZPZN
49 | NNRFQfzbNWhLHTVh
50 | dGjptnrPqgvqjccvndnnPPhlHrVVTHLWMHlwmrlHMmVTWm
51 | tDggGnPqDcPPpPpddjGhggtJCCSssfJbQsDfbZsbsbRZFQ
52 | bqZWhbvvvqfvhqvQCChhZlllGwlwGjNRrNGrwGwNRQ
53 | PmspSscJVJStzSVzWJlgwlwNlGRLDGrPgNwN
54 | pdHmWMVStWJWFBBCCbMhCfbC
55 | wtwbctGLwGWhGwfWwhNrnLrlrQFNmPNNVrrl
56 | CSdqZRsMStdJMMSZqPnFmVqPQlnjNjqj
57 | TMtsTBSSRZBCJStMJSZTHtfvpgvzzWwhbpwhggbzHpbW
58 | HncMbCwCncHlcbMDMnMFGsNsJVFJGchVTTcmcG
59 | RRfBRNjRLLJTLTThsq
60 | zpBRjWRrRvBpNtRWrgwbrwQPDPMDwCnn
61 | TDcPLTVRjntFwDwDnb
62 | SJJhffHqHZZgHGSFFbdrGTGnGv
63 | NQHWZgJQHNHgHQhlLLLBjpRTjLjMNNLM
64 | sMNnNRNrlGlsZBrGsrFQpclWlWLfpWjtzTfDtpzj
65 | gvhPgwTgdSHtHDtpDPLp
66 | gwhSwdvTSTbSgRrZNrrNFFNBGb
67 | rtZnDHJrrDtGtGHvGHDWfdfwCjcBhjBCffwwLv
68 | lzVlzsTRsmzVNTspVsMMsmwCLcmjmcdbBBChwfBbCW
69 | sVTMpTpppsVMsPRPVzMNFqMFwZtQrHZDGqgHZrSQQrQQJDGn
70 | wGQQMMQvCTPPQnHPBS
71 | FsWdJddszWrrRRJRTmRmpppRHBNPBppNHp
72 | rWdFWlFJzbzzMTwcvvMbGMgc
73 | WTnnTpqSnCLmjGgSgjztgg
74 | rQRHQvbNLwrgtGtrmDglJt
75 | PwHRNvQPsvHvPTTpLTcCLVnq
76 | qTsqJDJHjjfMCSDj
77 | RnGGNFGznzGVnBCWmfSMSLwWRwSj
78 | NnBbVQFVCClctHQc
79 | BHzmfDHfJLGcQBGgQLDcstNttlZgdlltldshgZZg
80 | PwPPSJwPvSNZlvSl
81 | CJwwjnJFFnWRMcMzcHMHRzGL
82 | rmZpvcZcqccsqmqzzzcBRLBZbBBRLBlRGVdfZR
83 | PwjFggwMDgNFwPgTwNFgtFJjfGLhBLsGRGbfBfBLbbTVLbdf
84 | DWJwgDWMJJDWCCNHmrnscmqqcnpWSQ
85 | bsRlVgMhtzHvhRvpzcLSZcTWLGzTTrGc
86 | QJnDjmqjJdmDqqrGWWsZsZTc
87 | nQPsnwCJdBDJDDJvhHhpMRCVlhlgRV
88 | NBNwMCtNgqCHClHClq
89 | JpQmFrQQfHfWjJTfLTjfLRRFRvnvhvnDGDcRcvVGGV
90 | HTzzpzzdHgbBZZtdMB
91 | SWcVvBFBVBjShWhGQtZnHFDHRGGQsR
92 | pMZpmmJPbwbTTQttrDrRrttT
93 | mZflqdlbMVcNjdWLSj
94 | tvjdccdbLjhvhlcjRMvRTCQJmBPBCFRG
95 | qgnqZfHpZDVnCpZzZJQFQBgmmPFJBmRQJQ
96 | SHDZDDzpNVpfsNsHqpDSjLwCbbWLChwtwjtCWc
97 | FsWTbcwmGfFFFrpl
98 | LMhzdfqjLdHQQnSvldGvnS
99 | VZjVNzfNLtjzDMhVDNtqDqwJwRmmmZJgmgcbWgRRwCbJ
100 | ZJbPwwfJcGlwCrrZrMMddMMMtt
101 | pTNvvSSHmmnbpFRp
102 | SLSjSLDSQNLHNDbJbcfJclBzjGsz
103 | WSQCWQWstCWCCgNNsDCZMZDBjjlLPnHMMLPrHlcrcLHHTjTh
104 | bVFJFwfdRFFgjTPgnc
105 | GmzRRqvRddbdRRdfJRJfsqsSSsZDsDBQZtCSgpgt
106 | FPjprPpPCCFpFPHWsWvqnnllQsdLQMMlLtslLQMc
107 | wmzJgzRSRRJghBbwGBBSbtGfLfGlcNnlltdddQtrMd
108 | zDmRBmwDrpVFDTVDVp
109 | FPGqjsZGlDJmzsHcTcTMMs
110 | SQNLSvdbvVbrSbHcftGcrpHGfMmf
111 | CNNGSCCdSCZqjqljZF
112 | GvqpqrpqdqdsdGshSMhhRsSMhhlSlJ
113 | DLCzzjzBwCbQWtQlRRFRRJFptfffgM
114 | WzpLbLDbBcLPjWQWDBzzmnvNndHNqZqZNZNvcrNT
115 | scHCGfWHsvWHVfGsggHfgvVcSLwLLPRwwDLPLllRPDzlPr
116 | tbjqqNNTlPDTTSrD
117 | QntmNbNnnddqJqqbFJHZWWHWJWvZHGVJsSsp
118 | WZjpjwwGBGZQsqBLBHLHSRLP
119 | mJhtdfVtDVJtvVLSmNRSccPPPlNHcH
120 | JJLCFDhLCfVGGwbGGCwrGC
121 | nBnsGSCrptmsLWGhWRvVRJVJ
122 | rllMZZbcWWLJvhTl
123 | MHwzczHwwHqZcdzMdbqSmwsssmtNCrBmtrnQNB
124 | LzwrZNrNzBMrJBzJsfqqntMlVlSfhnhb
125 | HTDPWDHPTgGHWTGcPFRgFpPPtfqmsfqlccmlSmnblbshqnmm
126 | jWGgpRGPFRHjzdBBsrBJvj
127 | hjNghjlwqjzGhwhGwLrMMrsMdsMfczPfsr
128 | ZJQSFZFZpCTQSZHTTFbcWWPbWsWrdLVmrMWMfr
129 | tttHSCpFQBQQpJZSJLgBNNDhqhBqvBvvRq
130 | hLLJJJLcLPLfLwcJDchfhpSmqGbmdQGmGSdbqdbmqGGGdG
131 | zgCCVVvVCNVssdbqmtMWvbnndD
132 | rCCZZCVTjVZNzFZJBlflBLccDhBFFB
133 | wwPPHfCMHQsrcwPbMPMcvQFJvqWgFTZgDFJltgZt
134 | jRBVLhpNqpBmRhhRdNJZJgWTBBtgZWltZJJJ
135 | mSjndhSzphjLRVqmhphNShrGMGrcbGbnGCHGwrwGfbbG
136 | PVBRhBdlwRtRhRBwtBlVzDcGpVcZnggGzGMMsg
137 | fFFWQqbFbLWCWvvFbTjjGnsZMfgsZcZzSZGMpSgD
138 | QJTCCLFFLjFqFbHTbbltmhBNwwcNmthNhlHr
139 | qwPJJsJdbPdwJddQCRCgCTMTRGGwMG
140 | cLFcFBZNWWQLSQRfZjpljTGRCgGR
141 | cFvrcNBFJDhzdQzv
142 | zTsVTqDqQNtNwwMVmN
143 | pHpSzPbRrvbRrGzGMwZwlBJmNtclwJpB
144 | SjHRPfRbffPHqzCCCdTsTzqj
145 | jnbMBnPjjjFtBtMjFPRtGfvvfzgWWHMfWHTlGgHH
146 | dCpdqrVrmdpHfTJTCWGJgG
147 | qVdrppqSTddqNwZcDPPPhZRBPBLBRLjF
148 | VbHqLlGQlgjLjjQsNvCZTsNjMtCZvT
149 | SJtttppwwpwBwdPvsvCvBZrvNrTrvM
150 | JDnWJpDSSpmSwmpPzSwznhDlqGqqtqqHGHLlhblGbR
151 | RqRJJVMPdRVVpqMdFwmvnSMwZcfCGfDSZc
152 | CssQgjssvZvjffmS
153 | zNlbbWTBLWCbCPPFPbVH
154 | nvQsHSsGvNvnQghTRMrrjpjM
155 | ttlLDlzPtGDcRRtpZTFjtgMj
156 | PBLBwPPDzzLwblzffzLlVHHsCCHqsfvCCSsGSNWC
157 | jHrTrThrtHgttThgHTtfgTgsmZZmBSZGSGsSGfZBZFFmQs
158 | qCCPdbcCJddbRcsQSGhFzmZqZGmq
159 | VVNNdVvclDcPbMWMwnnlwhphjp
160 | ZdBgJqFWNNNqnZZNGsBCCCRvrCwCjCssCB
161 | htDPMSPtMPzPTLMzMTMbRRbTbvwRCjfRfsbWWs
162 | LhMmtMDWmHlpppplJZJgNd
163 | mhtsjtbChcpLqmpmzL
164 | DPlPprrfBrpGHHVGNVHRqcNvvLLqLcvJzzTvLc
165 | VFfVPrrBQFPlDDwDwBpBtSgQjnghMhCdbSnnhtMM
166 | DPDMpbsHPDPNtdtrgMtdnQ
167 | WShWlSCJVlzccSBvBvhVZZWlgTNTrNrrQTjQjjjjgDSgSdNt
168 | cvmCDvCJCcsRbmpFmqms
169 | sSfFssmLnLwPtrrmttsFbDvWgCvddVgfgWdRDWlChD
170 | nnGnHBzqHjqBJGChlRClhvghJWDd
171 | jNzNcczMcGntPMwwSsSr
172 | GGPCThCCvCTVWBCBGMVMsTgZJsrZtHNNtrsHJrgH
173 | zjRwcwwfvSjmwznfzQSHDJtgrNrRNrLDsRrHtD
174 | fjvzmcfSlSznwcnmnSQnhdlhWBpGpdBqhGhqhVPd
175 | sHGGqpRqfNRVbDDtVwwzWf
176 | CCLQZllTQLTcSShTQvjhQLnnWrDzVpwtDDwVDnczwMwM
177 | vggZLZTldlhpCTlZlZCRRPNRmqdmGBHPFqsGqN
178 | wwFDFLMDjjCNgNwNlwwgvR
179 | frPbSJMSSPBqrfppSqrBZqMQhHlmNsRZmmslvghsmhsgggtZ
180 | TPSPfBQrdJSfTTqSbbBfTfdcGWjFWWFDWnGMjLjGVFCj
181 | LZRZbHtqnVztHTTTjMBQjQHH
182 | rJcDGpwwgDwCCWFGSFMSffVWfF
183 | cNNNgvhNglDnhdzsbLbmVs
184 | RwmrGVPmNLzdmVpmrVtHDjjgDHHRqjFtngFt
185 | CBlWhQWlTWshsblFGntjHtGbHG
186 | WsTSGZSTQZZJpPNdzSrzwvpr
187 | CVsggSgdwSwghVSTCgVZjJlRvlQNJHJGZVvjvj
188 | qrrnzrrpDFMzbDbbzrMbBcNjRBHHQHGRRllHHPBNBljl
189 | rnFppcpWcqnWMLDNsggSmWmsWfggdg
190 | wjQzPjJcplwmDDBL
191 | vghWhhnfWqzhftWtfnbFBmnGDnLGDbDmmC
192 | zZNvZrNsWfgVftNZhQcSdPHPTcPHQQTTJV
193 | WjvPVbWnbbFvjfLlcplQvLQvCwCl
194 | sJhmrrTRTDDJHhhsmJhmrNDdQwLQQlHllHwwLpCLclBBlcPC
195 | RJTRDdmPmmzNTDhnWtzMfMWtqjqqWM
196 | vvpjqtllDMlHDtDBsPSSfBJFlSffNS
197 | gwTmJrTcJWrNSmsNBBPfmf
198 | VzzJzgTnddzWrwngnWqbHqbtLqjqvpvqhbMd
199 | TlpzwGZGGFmZJdPpRtpHPrpcPs
200 | CMJCMgQjMQvrfMHtMfHv
201 | DjnNjCBqCCNnWWgDBQQDnCZwFJwmwwTznmFVwFmzTJJm
202 | CcDPppDCFdDrFcFsMsdlLVjjLsMHvM
203 | fqSmmtNGqLNffhHHbsMsbjbjNjbv
204 | SthSGmLnmfwfWGWhSQGSQRnGpDpJPCDJrBPTcPrDwPzFcpFT
205 | FdqjDtPWzqPdnPPtPFbssllqLJlqNppsJGppLp
206 | TwfrcvwRgvfTBWRgBssJhspHfffJHlHNGh
207 | MMZCQrrRBwQCCZMQwcTMwPztnFZSDWVWPttPSZzdzd
208 | prHlrpJbdccllrrPbFdrgPzZfZhZVhRZVScNRNWtSZjWRW
209 | LmwCCnvqwGCLMnsWtGRZWVfbfbftRW
210 | bwnvBnLBvbsBvszHzpgBlPzHHlzg
211 | grSJNTSgBHgpqhvCGbbZddGCGbbT
212 | nDLMssQMRLwMtMWRWCZdQfqjfGvZQfCjCc
213 | PqsDWPMLnwlRllJzghmgmSNhpgrl
214 | TQGcWQBDnSzzsBSL
215 | mJJlqJwVJdbSrhlrlhhsLL
216 | JPtwMtdPbJbVqVNpPtmbpwZcQDFFcCccFjCQjpQWSWZg
217 | JfbfpZJmzffmpZnZZwsrwDFvwHPP
218 | RDdQtWTWQQSTGNRhsFsjnvjwrhPjtH
219 | QccddTVQQldcGGRdGlgmVmBzfVpDmbgggmpL
220 | HVnhVcHvpVFWDpmP
221 | QswNZblTTwmqlntDPdqD
222 | sGZzNwsGNThhMrhBBhzn
223 | fQllBlVQncgwLlfWwWDvppZZggZqGpZgpGdvGG
224 | shPTRsFbNFJmvqpGjrpvPDdr
225 | RNFDtRRRssRTStRmTlnzwSVQlVVWfWzcQc
226 | WmCpPCWTjQPCWWSjSTmrqRLGDRFGrTFDRFDLDD
227 | gJnVcnVzdfnZgchvrslMDZGlRRDZLR
228 | fdHhfncwfbfzJbnJzJfcczhhSmLCCNBjSpjmpjHjBQjpmpNW
229 | BDvDPGRwRvCmLssGLmsL
230 | frRjjlldrqtNspLWpqFcCmzm
231 | ndSnVNtllldrdfSjfNvgVRHBwbbVMRbVPJgH
232 | PpgjhpVLghPZhSgZVVzzcJWccPNCrcJzrFsJ
233 | BdBNNMqMdfDnDNTFHHJCqHrJHzrFzF
234 | wfMNtMndlBTlmTBndRpgghhjZRjvSZVjRw
235 | ZQnQMWMcjHDHrWNF
236 | TvtCvvBVgdRdmvBVNzDHlGFjFHjfRfDD
237 | dvtCCbdJmhvhhhhbhVBPMwqZswnZqZjjMccsZJ
238 | DDMzRBBSzRDTMQRZsbvssCbhZtCDtP
239 | dLmwNplnmmwjGvPVCRtVVvVd
240 | NNmjLmqWJjFRwFSrgcrSHBzcTz
241 | TwTwTMBWcWBJJBtTWHddCmfgzlCzClsvmfsM
242 | PPLDnNqPRLQNVnGNVsDQnNmzdhvdddlvdlqgqmdlrfvv
243 | SQQsjPPLGLbDSnGLLNnWTFZJHbcpFctHZpwJWB
244 | FzMltgtMzFpZtmzdjPpnvRTQTvRWTDfnnTlvwW
245 | JcbVcBrqLCVJHJSNCcZVqVqqTRQRWWfNsTfTvDfsWvwTsnwv
246 | rcZqVJVhmhgPmhmd
247 | ttvSnlWvWWgcScMDsHHMPMjPmH
248 | pzLGLfNRpJsvmmfvMDfs
249 | GhpzRqqpZppNrhvFgwSlWnnBFn
250 | sbQcDJQJJDbQhwchSctVnVnqTMvMWSqTMPSMlP
251 | jtjCtNRLNCRgRnlTPPWg
252 | pzpHdLtFNdJbDhJHsQhs
253 | pSqnfqDnWPHNPCCHCp
254 | GdJZQdgZbBvgQLcCZZCCZlPLRH
255 | PzBgQggbvBthtMdMvbzvVfFfzTWqDmWDqzqWrfff
256 | nnJdrfgfrdMCMdgrqMnWdgwNTTTzFhPSSHfSHhllzjzNFT
257 | vBRvmvGZsLZZsHFNFFzTNPzb
258 | LZVRmcDRvpQLmvvVGDGmpntJJwCWCnCPJwgJDrPDqM
259 | QddMvdzlVfvdSQmGhmwLbGbmzbns
260 | JtCCWqqZDsLpGhbGjD
261 | FNrhqCTWMSRSrQQg
262 | ZsBZJFsZSmmJsJSmrJrJrvsrdGdCQGQphMGwRMGQRGdbBChM
263 | FlgfqNNNWnNnHfVnnHdbGwpwGWQhGdRMMdRM
264 | LFnggHlDqDLvjDmZPcPmvP
265 | CRHJWfvJvrQfrCsDlGGBszQBjjGB
266 | LmPHVnMmpLlPssBPlDtd
267 | MmMSZmVnncMFcmSVHvfSrffCwSvfbHWv
268 | wsrJrpdJLsMCZDWL
269 | BbLtGGbNmLQggqgQQtGgMmDCTnWZCZWZTmMmCZnT
270 | qNBGNNgQcbbtGbbFBLVjfcfwHvrHHJHJcr
271 | pCZCpdjBljhjBlpVccCpbDDwRWDsLhLbwDsDwsDw
272 | HNgFSSNvSmdqwsFLFWLGttbw
273 | gMMndNrzNHnzJZVlMCMCTcpc
274 | CfsFNszCrrGzrsggsPfPVNVlqTdSjSqMTdSVTdLL
275 | vRhcHllwJDmnJmDMMdhqSqpVMhdjdp
276 | cvHRvwQBPZZlrQgz
277 | TsFhCtQtQsBBLtBLPvgz
278 | jjWZZjZSMNlNNjljNnlmjjfJLMBGGLvBdzPQpggJJLQzpg
279 | wjbcmmlnQZmlrTsCFVwshwTr
280 | nRGFnFjcdlwLSHSpNNnBfWHN
281 | TgQvPbCMPRhbMPQvtQPvMCRBSHNQHBrQSNfWqpHHrWNWSf
282 | PCgMbPvTZVDgtPRggtCCbgmmFJJLmcGFLjdmJFcDwJmm
283 | dgWPssfdvQCLPLhL
284 | pMtSMtpSmpMpFSMMFZjQCLbLQZZbVbVhNTLblZ
285 | mpqcpzncfWwhzfRf
286 | vntvVnRCsvpBpMjCpTpj
287 | rQdZfhzczNzWcNLTpWgSvjjjpGpMSB
288 | ZqNDQhfcNchLchQqcDqRHJtHVwnwbtvHsbVs
289 | qtJGQgTrqtqQdQDgbGjPzZHWWzVjslPZlG
290 | vBShwRRvvSRSvFvwLSvfcnfBWmHZHVWWHPzlNPWVWjZsWnWV
291 | cLBFBFhCBLlwpFccFBFftqJDQdgdTDJJCbJgCCdg
292 | wfmsPvPwNfvmfLNFvzzJbRMnllhlnLhRLC
293 | gjtqDDTtjgpJcbnMTzCRnCCWhC
294 | SDqtpGSStVtdqpgBVjBGZmFPJNJmffvfPsHZPZQd
295 | HQMBBWrQQmPBvmBWnvrTnMSsbFfcfwgfCgscsmGgwgcJGg
296 | NzzlJLthtlgswGFcwGst
297 | JqNNRqpzhVRWTSQrrvSQ
298 | mFpDZjvmtPPGvFjmmGTzTcFRbHczHTbzQgRS
299 | fNdqhJsNrnnVNhwNVdrdsVczQCcwCMHSTCHgHCRzHgcM
300 | JlgnNhsqVqNqNpPlvZvDDDGlZZ
301 |
--------------------------------------------------------------------------------
/aoc22/inputs/6.c:
--------------------------------------------------------------------------------
1 | #define INPUT 62,6a,62,66,66,73,66,6e,73,6e,70,70,7a,70,70,68,76,68,6a,76,6a,74,6a,6d,6a,77,6a,72,6a,64,6a,66,66,77,72,66,72,76,76,72,71,72,72,71,77,72,72,71,70,71,68,71,6e,6e,64,64,76,63,63,72,62,62,77,63,77,62,63,62,63,6c,63,6c,68,6c,7a,6c,7a,6e,6e,74,72,72,7a,66,66,63,74,63,67,67,7a,71,67,71,74,67,71,74,67,74,72,67,74,74,6c,68,74,74,67,73,74,67,74,73,67,73,66,73,6e,73,64,64,73,76,64,73,76,64,64,72,7a,72,76,72,6e,76,6e,72,76,6e,72,6e,6d,72,72,76,66,76,62,66,62,6e,62,6d,6d,74,62,62,67,70,67,74,70,74,6a,70,74,70,63,74,70,63,63,6d,63,63,67,62,63,63,71,62,63,71,63,7a,71,63,63,64,73,73,66,71,66,7a,7a,6a,67,7a,7a,76,63,76,67,67,67,72,6a,67,67,6e,63,67,63,74,67,74,6a,6a,70,74,74,71,74,72,72,76,6d,72,76,6d,6d,7a,7a,66,63,66,66,70,67,66,67,66,71,67,67,62,77,67,67,68,63,63,74,6c,6c,66,68,6c,66,66,62,62,63,66,66,73,70,66,70,63,70,6c,70,6a,6a,6c,77,6c,64,77,6c,64,6c,70,64,64,77,7a,7a,6c,71,7a,71,66,7a,7a,63,77,63,6d,77,77,63,64,64,68,67,64,64,73,74,73,6e,73,6a,73,76,6a,73,76,76,6e,64,6e,64,73,6e,6e,63,6c,63,76,63,70,76,70,77,70,71,77,70,71,77,71,6c,6c,63,6a,63,73,6a,6a,62,70,70,66,64,66,74,66,72,72,70,77,77,71,74,71,74,76,74,6c,6c,72,73,72,68,68,63,7a,7a,67,6c,6c,73,62,73,76,73,74,74,62,73,73,7a,7a,67,77,67,6a,77,6a,71,77,6a,77,76,76,63,6d,63,62,63,7a,62,62,67,70,70,67,68,67,68,67,73,68,68,76,6d,68,6d,76,76,76,66,6c,6c,6c,6c,6c,73,72,73,71,73,62,62,66,73,73,68,68,72,68,64,64,63,6e,63,62,6e,6e,72,66,6e,6e,62,74,62,66,74,66,6c,74,66,74,64,74,6e,64,74,64,74,63,64,63,62,64,63,62,63,68,68,74,64,64,68,68,76,62,76,73,62,73,74,73,6a,73,6a,70,70,6d,70,6a,70,74,74,6d,6a,6a,76,74,6a,76,76,64,63,63,74,63,62,62,62,62,71,7a,7a,73,73,66,64,73,64,72,64,77,64,70,70,6c,73,70,6c,6c,70,68,70,6e,68,6e,73,68,6e,6e,63,77,6e,6e,68,6c,6e,68,68,76,76,70,74,74,66,66,74,77,66,77,6a,66,6a,7a,6a,73,6a,64,64,6a,6c,64,6a,6c,64,64,76,7a,7a,66,7a,63,7a,72,7a,6a,72,7a,72,68,7a,68,73,68,73,6c,68,73,6c,6c,6d,63,6c,6c,68,68,74,68,72,74,74,66,73,73,6e,71,6e,6a,6e,62,62,7a,66,62,62,6d,70,6d,6c,70,6c,68,6c,74,74,6d,7a,7a,77,72,77,6a,72,6a,70,70,7a,6d,70,6d,72,70,72,63,70,72,70,6c,72,70,72,6d,72,76,72,76,71,72,72,6e,6c,6e,63,63,73,77,77,76,67,67,76,67,63,67,64,64,6c,72,6c,72,63,63,71,68,68,67,76,67,6e,76,76,6d,6c,6d,6d,63,71,71,68,72,71,72,77,71,77,73,73,77,67,73,73,66,6a,6a,67,76,6a,76,70,70,66,66,66,68,6a,68,72,68,66,68,68,6c,70,68,70,6d,70,7a,6d,70,6d,6c,70,70,63,73,70,63,70,67,70,6e,70,64,64,63,6d,63,6c,6c,77,76,76,71,66,71,62,62,70,62,63,63,68,6a,6a,70,7a,70,7a,62,62,68,62,7a,68,68,72,72,7a,72,68,7a,68,70,68,71,70,68,68,71,76,71,74,74,6d,68,68,62,76,62,63,62,63,6d,62,62,66,67,62,62,6d,6e,6d,6e,63,6d,6e,6d,76,6e,76,66,66,67,64,66,67,67,76,68,76,74,68,76,68,71,71,64,77,77,76,6d,76,6c,6d,6c,6a,6a,6a,76,73,6a,73,77,6a,77,7a,77,6a,6a,71,6d,71,72,6d,71,6d,6c,6c,6a,71,71,6a,76,71,76,74,76,6c,6c,64,6a,6a,66,62,62,70,62,76,62,74,74,71,68,68,67,72,72,63,73,73,66,64,73,64,63,63,72,6e,63,72,6e,63,6e,6d,6e,76,76,6d,63,63,6e,72,72,72,74,63,74,6a,74,73,6a,74,74,72,6d,72,68,68,76,64,68,64,72,64,6a,64,70,64,68,70,68,73,70,70,6e,74,74,6e,68,68,76,64,76,76,7a,74,76,74,66,74,73,66,73,72,66,72,70,70,73,67,67,66,62,67,62,62,76,62,6d,6d,6a,67,6a,72,6a,74,74,66,6e,6e,67,74,74,73,63,63,6c,7a,63,7a,74,63,74,63,6c,74,63,6c,6c,73,6d,6c,6c,67,67,62,66,62,68,66,66,6a,6c,6a,68,68,62,6a,6a,6a,67,64,64,7a,64,76,64,76,72,76,7a,72,72,67,71,67,6c,6c,6e,76,6c,6c,6e,63,63,71,6a,71,68,68,77,72,68,68,74,66,74,74,66,70,66,73,66,76,66,71,76,71,67,76,67,70,70,70,6a,6a,68,7a,7a,63,73,7a,63,7a,62,63,62,74,62,6c,6c,74,6c,66,66,64,66,77,64,64,66,73,73,70,67,70,72,67,70,67,6a,67,64,67,73,67,63,63,63,72,6c,6c,62,7a,62,71,7a,62,7a,77,62,77,77,74,6d,77,77,76,70,76,6c,70,6c,6a,6c,73,6a,73,73,66,6e,66,71,66,7a,71,66,66,74,68,74,6a,74,70,74,76,70,74,76,76,6d,6c,76,6c,7a,7a,64,6e,7a,6e,77,6e,64,64,6a,74,6a,70,70,74,6e,70,6e,63,63,62,73,63,63,6a,6d,6a,71,71,63,66,63,64,64,64,77,74,64,74,66,74,6e,74,7a,7a,70,62,62,62,68,63,62,62,6c,67,6c,74,74,72,6d,6d,63,6c,63,64,63,68,68,7a,74,74,6a,77,74,77,7a,74,77,7a,77,7a,63,7a,66,63,63,6d,72,6d,63,72,6d,72,73,72,6e,73,72,6e,72,73,6e,72,72,66,6d,6d,6d,63,70,6d,6d,6a,74,6a,72,72,77,73,73,76,64,73,73,72,76,72,71,76,72,76,63,72,63,68,72,68,66,68,70,70,72,77,70,72,77,70,77,74,74,74,76,72,74,76,72,76,66,66,64,63,66,63,73,73,66,72,66,62,62,76,73,73,6c,76,76,68,70,68,72,72,77,67,67,73,73,6a,74,6a,62,74,74,71,74,6c,6c,6e,6d,6c,6e,6c,6a,6c,6d,6d,74,6c,6c,66,6a,6a,74,6a,74,70,6a,74,74,62,77,62,73,77,73,6e,77,6e,6e,6a,64,6a,62,62,6c,66,62,66,6d,6d,62,6c,6d,6d,77,6e,6d,6e,6e,63,6a,63,77,77,68,7a,7a,64,66,66,76,70,70,76,6d,6d,74,7a,7a,72,68,72,63,68,68,74,6a,68,74,74,63,73,73,76,6e,73,6e,76,6e,68,76,76,64,67,76,76,76,67,74,76,74,71,74,67,71,71,7a,72,7a,62,7a,71,7a,67,71,67,6d,71,6d,74,71,71,7a,74,71,71,67,6c,6c,63,68,6c,63,6c,77,77,62,77,72,72,77,70,72,77,70,72,72,6c,67,72,67,77,67,67,6a,68,67,67,74,67,6d,74,67,67,6a,64,64,66,68,64,64,64,6e,7a,7a,74,72,74,6a,72,6a,70,72,70,77,72,77,74,74,71,7a,71,6e,7a,7a,66,6e,66,63,6e,66,63,66,74,66,6c,66,74,74,76,62,76,70,62,70,6c,6c,72,74,6c,74,73,6c,74,74,6c,64,64,62,7a,64,62,7a,7a,66,6a,66,72,6a,66,6a,63,6a,68,6a,73,73,62,63,73,63,7a,63,6e,7a,6e,6c,7a,7a,67,67,64,63,63,6c,6c,68,62,68,70,62,68,62,6a,62,77,6a,62,77,6a,77,74,77,66,66,70,74,70,71,71,71,6d,73,73,72,6c,72,64,64,77,71,77,71,64,71,66,71,6a,71,77,71,74,71,68,74,73,72,67,76,73,64,74,72,6a,6d,68,74,67,72,77,76,77,72,62,66,71,74,67,76,6a,62,77,70,68,62,72,73,7a,64,63,67,74,63,70,71,71,72,63,71,74,7a,76,7a,6a,73,74,7a,70,62,6d,77,72,71,6c,72,63,73,6d,6c,6e,71,70,73,70,72,73,66,6e,70,71,71,73,64,7a,62,66,67,6c,63,73,68,74,6a,70,70,68,6d,63,68,64,7a,67,67,72,63,6a,77,74,74,77,6c,7a,64,66,66,67,70,73,77,7a,66,6a,64,63,67,7a,6e,74,67,7a,73,71,76,6a,64,6e,77,77,77,77,6d,74,6a,76,70,71,6a,67,6d,6c,74,6d,73,74,7a,7a,74,70,7a,66,6c,66,64,68,62,68,68,6c,6a,67,64,6d,74,68,6e,72,64,7a,68,6d,74,77,63,6d,70,73,6a,6e,6c,67,77,63,76,6e,77,64,62,64,72,62,68,63,73,73,63,67,77,74,70,74,7a,72,6d,71,63,77,64,63,6d,73,73,73,6d,71,6a,70,6e,76,63,6c,68,68,62,67,73,6a,72,6d,71,67,76,76,71,68,67,6d,68,7a,6d,6e,70,71,74,63,7a,71,77,6d,6e,70,76,76,70,64,68,64,74,64,70,64,73,72,6d,7a,77,74,73,66,63,68,7a,6d,64,6c,67,67,72,6e,76,77,63,66,62,66,6d,72,67,66,66,73,73,64,6a,6a,6c,77,62,64,76,6a,71,71,77,64,64,67,6d,67,66,77,76,62,7a,6c,64,63,63,77,6e,77,72,6e,6c,74,63,72,6d,62,6c,77,71,73,77,6a,73,6c,6e,73,6a,74,66,71,76,73,73,64,72,64,74,70,77,70,74,64,74,76,74,64,77,68,67,74,67,71,6e,6d,68,71,66,6c,6a,6a,6a,73,64,67,77,6d,70,74,62,63,74,6a,74,70,64,68,7a,6d,74,73,68,67,64,77,6e,6e,68,66,6a,74,68,6d,68,64,72,71,71,71,70,72,72,64,77,68,76,73,66,77,66,62,76,77,74,66,76,68,67,67,6c,66,70,68,7a,77,6a,71,66,66,77,63,63,6c,62,70,6d,74,63,71,7a,6d,74,6a,6d,73,77,73,63,6e,67,74,62,6d,62,64,73,76,66,7a,66,62,67,77,76,68,77,6c,68,74,67,64,73,6e,73,63,6e,72,73,73,64,71,7a,76,68,6d,68,70,6c,71,70,70,7a,72,67,64,6e,63,66,76,76,70,6e,7a,68,67,6e,6a,72,76,63,6d,68,72,71,6d,7a,76,7a,6d,64,68,68,70,6a,6d,72,72,6e,77,66,72,68,64,67,71,64,68,76,76,73,74,62,6c,64,72,67,64,63,77,62,67,6a,76,63,77,68,66,72,70,62,67,72,6e,76,67,63,73,7a,68,70,62,62,67,76,71,6e,76,76,72,72,63,67,70,72,74,73,66,74,6a,71,74,6e,72,62,71,72,7a,73,70,6d,7a,70,6e,63,68,62,72,62,62,62,70,6e,6a,64,6c,6c,68,6e,6e,62,63,66,64,73,6a,6a,68,68,6a,63,72,76,76,74,73,67,6e,6e,66,76,63,7a,76,71,67,76,62,67,70,68,7a,7a,6a,63,63,7a,73,67,74,6c,76,66,72,64,64,7a,6c,76,77,64,66,68,70,72,6e,73,76,72,6e,7a,64,63,66,71,73,62,66,68,63,6d,6e,72,67,6d,72,66,71,77,63,62,6c,62,7a,67,72,70,6e,76,62,74,72,71,71,6e,6e,66,73,6c,66,6c,6c,66,73,6d,72,72,66,73,74,68,66,7a,67,72,77,73,77,64,70,72,7a,63,73,77,67,72,6a,63,70,7a,77,66,68,7a,62,68,70,6d,73,6a,6a,74,73,67,63,71,70,6e,68,74,77,70,76,70,63,62,70,74,74,64,70,63,66,74,72,71,73,62,74,67,74,73,70,64,68,6c,76,6d,70,68,76,6e,67,6c,73,64,6e,74,71,66,7a,63,72,77,76,76,7a,73,6d,6a,66,74,6a,70,67,6a,67,6c,6e,6e,6a,68,6e,70,62,68,70,63,6d,77,73,68,64,72,66,62,63,7a,77,74,6d,74,73,6c,63,70,6d,6e,70,6e,67,76,68,6c,63,63,76,74,77,72,73,67,6c,72,72,66,63,6d,6e,67,73,68,74,6a,6c,6e,76,72,74,71,70,66,6e,67,72,72,74,76,68,68,76,6d,6e,62,77,70,6a,74,77,70,6c,66,6e,6d,66,71,72,62,7a,7a,71,7a,77,63,68,74,68,6a,62,62,72,70,67,64,70,70,6d,73,6a,6c,62,6c,6a,72,7a,71,76,68,6d,73,62,72,74,77,67,6c,67,77,6e,68,6d,6d,64,77,70,6d,76,6d,6a,71,71,72,68,74,6d,6a,6a,6d,63,6e,62,67,74,70,62,62,71,62,6e,70,68,7a,68,77,66,68,7a,64,64,71,62,68,71,68,74,6d,77,76,66,66,6a,64,63,66,6a,6d,77,6a,6a,64,72,71,77,73,66,7a,66,72,72,77,6c,6d,68,6e,64,68,64,76,72,73,64,71,74,6d,63,63,64,71,67,70,70,77,70,66,72,74,63,67,7a,7a,77,63,7a,66,62,6c,76,74,6a,68,68,64,6a,6d,64,6c,6c,64,62,74,77,74,68,66,64,70,6a,68,70,73,67,62,63,6a,6a,7a,6e,6d,77,64,67,6e,63,7a,62,6e,66,64,66,73,6c,68,73,6a,63,6a,6e,74,68,67,73,6a,6c,73,6c,62,63,76,76,71,67,71,62,73,74,64,77,6c,71,6c,6c,70,6d,6d,74,71,6c,71,72,62,74,6e,76,70,68,76,77,68,62,73,68,68,70,64,7a,66,62,63,6c,73,71,67,64,6d,68,72,6e,6a,6d,62,77,6a,7a,77,7a,64,74,71,73,77,7a,67,6d,6e,6d,77,63,71,63,6d,74,70,6e,6a,7a,7a,63,72,71,66,74,76,6e,72,64,71,67,68,73,7a,63,68,68,6d,6e,76,6c,76,6d,63,6d,62,6c,70,63,71,6e,73,70,73,6a,74,68,67,71,72,64,70,62,72,7a,76,77,74,66,6d,6e,66,64,63,66,67,77,74,6c,76,70,76,77,6a,64,77,7a,64,76,71,76,67,64,72,63,71,76,7a,77,6c,62,6d,63,77,6d,62,73,71,66,68,7a,6d,77,66,71,6d,6a,76,67,6a,74,73,70,72,77,62,62,73,72,6c,64,6e,77,6d,76,68,72,74,73,6d,63,64,73,62,66,74,70,76,63,73,6d,70,6e,6c,6d,6c,67,67,6d,6c,72,67,6a,66,76,6c,6a,6d,70,66,6c,64,66,74,71,68,6a,6d,71,71,68,77,66,70,6a,74,7a,72,72,68,74,6c,72,6d,6d,73,74,6a,70,68,74,6d,6c,64,73,6c,6e,6e,6d,66,68,6e,63,63,72,70,67,6a,6d,72,62,66,66,63,76,67,76,6d,67,68,68,6e,70,71,68,70,76,64,71,6d,64,7a,71,63,6a,74,63,6a,70,6c,68,6c,66,66,77,67,73,6c,70,73,66,7a,70,77,71,73,66,70,6e,67,73,63,64,6c,73,7a,6c,70,63,74,70,71,67,64,6d,76,77,66,64,66,67,70,77,72,70,6c,74,76,6c,77,72,7a,72,67,6a,6a,6a,6e,6a,74,72,77,63,74,6a,73,6e,62,74,70,62,66,62,67,71,7a,66,74,6d,6a,68,66,72,7a,72,74,6d,74,6e,7a,74,6c,68,77,77,67,71,6e,76,6d,66,6e,72,73,68,66,63,64,73,77,62,71,6e,6c,72,71,76,74,67,6a,64,7a,6d,71,71,63,64,67,70,77,6a,6c,67,66,77,6e,6e,6e,6a,73,6d,6d,74,66,62,76,70,77,71,76,6e,6a,64,6a,70,68,63,6c,6e,76,6a,6e,74,71,6c,66,77,64,70,70,6a,67,63,76,6c,63,6a,6d,66,64,73,62,74,67,6e,67,63,67,6c,6d,64,67,73,67,7a,77,64,76,73,71,6c,76,67,77,63,72,6a,74,74,74,67,64,6d,72,6c,74,68,68,77,68,6e,6e,72,76,76,72,6a,67,71,7a,71,6d,62,63,62,6d,68,64,77,6d,6e,64,68,6a,73,74,6c,6d,62,74,77,6a,62,67,6d,6c,72,71,71,63,6d,71,7a,6a,7a,63,62,62,66,72,71,72,71,6c,6d,76,76,67,66,72,64,74,72,77,72,70,67,63,66,73,72,6e,6a,64,62,66,64,64,77,67,77,71,72,6c,70,76,66,6a,67,6e,6a,6a,6e,72,6c,7a,70,62,74,6e,6a,70,68,6c,71,7a,6d,64,77,6e,71,68,76,62,6c,6d,77,7a,76,74,6e,73,76,62,63,67,71,64,70,6d,67,76,63,68,71,6d,67,6a,6d,62,76,72,66,77,6d,6d,7a,6c,63,68,68,62,71,72,66,6d,76,64,66,66,63,7a,63,73,6a,6c,68,6a,72,6d,6d,6c,6d,64,7a,74,6d,6c,74,73,7a,72,6a,6c,72,67,6a,77,72,6c,66,77,76,6c,67,71,74,71,7a,6e,6e,73,63,62,71,67,64,7a,62,76,64,6e,6e,6a,62,66,6d,63,7a,74,6a,76,62,67,62,66,6d,64,68,76,72,6a,67,6a,63,6e,67,74,70,7a,6e,64,70,6e,70,77,77,6c,64,6c,66,72,74,71,68,77,70,66,77,70,68,72,67,64,7a,6a,76,73,6c,6e,62,70,6d,72,76,6a,70,63,6a,70,62,62,73,6d,70,77,76,7a,6d,6c,64,72,73,70,6d,72,6c,62,73,70,74,7a,66,64,6e,67,63,73,63,73,6c,6c,73,77,7a,63,63,6a,7a,6c,6d,62,67,6c,73,72,74,68,76,62,7a,7a,6e,7a,70,6a,64,73,77,68,71,6e,63,6d,72,70,6e,71,68,7a,67,67,7a,7a,66,76,68,6c,67,71,62,76,6c,6d,66,73,71,67,6c,70,70,68,68,73,77,68,6a,62,70,71,6e,71,66,70,7a,6c,74,6d,68,6e,64,6d,6d,7a,63,6c,77,66,6d,6c,71,7a,74,76,72,71,64,7a,66,71,6a,70,64,68,74,74,67,73,68,6a,77,66,66,64,63,63,68,6d,76,72,77,6d,62,6c,70,7a,66,66,62,67,77,72,67,6e,71,68,68,76,76,73,76,6c,77,6e,7a,6d,6d,68,6a,77,72,73,7a,70,66,64,73,6e,63,6a,77,6c,6c,72,6e,7a,72,73,66,6a,73,72,64,67,6e,72,62,6a,71,6c,72,76,70,6d,7a,62,73,74,6c,71,64,7a,6e,68,6a,67,62,73,6c,7a,6d,70,6c,6e,71,70,72,77,71,67,64,64,6a,6c,77,7a,62,74,72,6d,66,73,66,64,6c,67,67,64,64,71,72,63,63,7a,74,6a,66,66,76,62,6e,73,6d,66,64,7a,64,68,72,67,73,66,6c,66,66,6d,6d,6a,74,6a,6c,62,74,6e,66,63,77,68,77,7a,64,73,6e,62,62,70,68,62,6a,6c,72,66,72,64,64,62,70,6e,63,6a,72,74,67,6c,73,6e,72,70,70,64,62,7a,6e,72,62,6a,71,71,7a,64,73,77,6e,68,76,73,73,66,66,68,6a,7a,72,77,6e,6d,6c,76,6d,77,6d,6c,6a,6e,68,74,73,6e,70,6c,70,6a,64,6a,70,71,7a,62,62,6d,7a,7a,66,63,6d,70,6d,0a
2 |
3 |
--------------------------------------------------------------------------------
/aoc22/inputs/5.txt:
--------------------------------------------------------------------------------
1 | [L] [H] [W]
2 | [J] [Z] [J] [Q] [Q]
3 | [S] [M] [C] [T] [F] [B]
4 | [P] [H] [B] [D] [G] [B] [P]
5 | [W] [L] [D] [D] [J] [W] [T] [C]
6 | [N] [T] [R] [T] [T] [T] [M] [M] [G]
7 | [J] [S] [Q] [S] [Z] [W] [P] [G] [D]
8 | [Z] [G] [V] [V] [Q] [M] [L] [N] [R]
9 | 1 2 3 4 5 6 7 8 9
10 |
11 | move 1 from 3 to 5
12 | move 2 from 2 to 8
13 | move 4 from 1 to 3
14 | move 2 from 1 to 4
15 | move 1 from 7 to 1
16 | move 2 from 9 to 7
17 | move 4 from 5 to 9
18 | move 7 from 8 to 9
19 | move 2 from 5 to 2
20 | move 1 from 2 to 9
21 | move 1 from 1 to 8
22 | move 1 from 2 to 7
23 | move 3 from 8 to 2
24 | move 6 from 9 to 7
25 | move 5 from 4 to 1
26 | move 7 from 9 to 5
27 | move 1 from 4 to 5
28 | move 4 from 1 to 7
29 | move 1 from 8 to 1
30 | move 4 from 7 to 9
31 | move 1 from 5 to 8
32 | move 9 from 9 to 3
33 | move 1 from 8 to 9
34 | move 1 from 1 to 5
35 | move 4 from 3 to 2
36 | move 10 from 5 to 3
37 | move 8 from 2 to 8
38 | move 7 from 8 to 3
39 | move 9 from 7 to 5
40 | move 1 from 9 to 3
41 | move 3 from 6 to 4
42 | move 3 from 7 to 6
43 | move 1 from 8 to 7
44 | move 1 from 1 to 8
45 | move 1 from 4 to 7
46 | move 5 from 7 to 6
47 | move 14 from 3 to 7
48 | move 16 from 3 to 9
49 | move 1 from 8 to 4
50 | move 2 from 4 to 9
51 | move 1 from 3 to 7
52 | move 1 from 6 to 8
53 | move 15 from 7 to 2
54 | move 10 from 9 to 7
55 | move 7 from 2 to 4
56 | move 1 from 2 to 7
57 | move 11 from 6 to 7
58 | move 5 from 5 to 9
59 | move 15 from 7 to 8
60 | move 1 from 7 to 2
61 | move 2 from 9 to 7
62 | move 4 from 5 to 1
63 | move 5 from 4 to 9
64 | move 6 from 2 to 4
65 | move 2 from 2 to 5
66 | move 2 from 1 to 4
67 | move 1 from 1 to 5
68 | move 3 from 5 to 6
69 | move 8 from 7 to 9
70 | move 9 from 4 to 9
71 | move 1 from 4 to 8
72 | move 11 from 9 to 7
73 | move 4 from 6 to 1
74 | move 17 from 8 to 7
75 | move 26 from 7 to 1
76 | move 1 from 4 to 8
77 | move 24 from 1 to 7
78 | move 22 from 9 to 3
79 | move 1 from 8 to 2
80 | move 6 from 3 to 4
81 | move 2 from 1 to 2
82 | move 1 from 7 to 9
83 | move 16 from 7 to 3
84 | move 1 from 9 to 5
85 | move 6 from 4 to 1
86 | move 1 from 2 to 7
87 | move 6 from 3 to 2
88 | move 1 from 5 to 4
89 | move 6 from 3 to 5
90 | move 1 from 4 to 1
91 | move 3 from 1 to 4
92 | move 4 from 5 to 4
93 | move 7 from 1 to 7
94 | move 6 from 4 to 3
95 | move 1 from 1 to 6
96 | move 1 from 2 to 5
97 | move 1 from 1 to 7
98 | move 15 from 3 to 1
99 | move 2 from 2 to 7
100 | move 3 from 5 to 8
101 | move 9 from 7 to 5
102 | move 8 from 5 to 7
103 | move 3 from 8 to 5
104 | move 1 from 6 to 9
105 | move 5 from 7 to 8
106 | move 3 from 2 to 4
107 | move 2 from 2 to 5
108 | move 4 from 3 to 7
109 | move 5 from 8 to 3
110 | move 1 from 5 to 8
111 | move 5 from 3 to 1
112 | move 2 from 5 to 7
113 | move 1 from 9 to 8
114 | move 1 from 5 to 8
115 | move 19 from 1 to 4
116 | move 19 from 7 to 1
117 | move 7 from 1 to 4
118 | move 1 from 7 to 4
119 | move 3 from 3 to 5
120 | move 22 from 4 to 5
121 | move 3 from 8 to 3
122 | move 7 from 1 to 8
123 | move 3 from 3 to 5
124 | move 3 from 3 to 6
125 | move 3 from 6 to 9
126 | move 3 from 9 to 1
127 | move 1 from 3 to 4
128 | move 2 from 8 to 9
129 | move 25 from 5 to 6
130 | move 4 from 1 to 5
131 | move 5 from 5 to 4
132 | move 2 from 8 to 2
133 | move 1 from 9 to 2
134 | move 3 from 5 to 7
135 | move 12 from 6 to 8
136 | move 1 from 7 to 3
137 | move 7 from 8 to 1
138 | move 1 from 5 to 7
139 | move 1 from 3 to 8
140 | move 2 from 7 to 4
141 | move 6 from 8 to 5
142 | move 10 from 6 to 3
143 | move 2 from 6 to 2
144 | move 1 from 6 to 3
145 | move 17 from 4 to 6
146 | move 3 from 3 to 9
147 | move 3 from 8 to 4
148 | move 1 from 7 to 5
149 | move 1 from 3 to 8
150 | move 1 from 2 to 5
151 | move 10 from 1 to 7
152 | move 3 from 2 to 7
153 | move 2 from 1 to 8
154 | move 15 from 6 to 3
155 | move 7 from 5 to 9
156 | move 9 from 9 to 5
157 | move 1 from 9 to 3
158 | move 2 from 3 to 5
159 | move 3 from 8 to 6
160 | move 1 from 9 to 3
161 | move 11 from 5 to 8
162 | move 9 from 3 to 8
163 | move 1 from 5 to 6
164 | move 9 from 8 to 5
165 | move 10 from 7 to 5
166 | move 5 from 5 to 3
167 | move 4 from 6 to 8
168 | move 2 from 6 to 8
169 | move 2 from 5 to 6
170 | move 1 from 2 to 1
171 | move 9 from 5 to 3
172 | move 2 from 7 to 5
173 | move 3 from 5 to 4
174 | move 1 from 4 to 1
175 | move 2 from 4 to 3
176 | move 1 from 7 to 1
177 | move 2 from 1 to 7
178 | move 3 from 4 to 5
179 | move 2 from 7 to 3
180 | move 14 from 3 to 9
181 | move 13 from 3 to 1
182 | move 8 from 1 to 4
183 | move 6 from 1 to 2
184 | move 11 from 8 to 6
185 | move 4 from 3 to 9
186 | move 2 from 9 to 2
187 | move 1 from 5 to 2
188 | move 6 from 4 to 9
189 | move 6 from 8 to 9
190 | move 6 from 9 to 4
191 | move 2 from 4 to 7
192 | move 4 from 4 to 6
193 | move 4 from 2 to 9
194 | move 2 from 7 to 9
195 | move 2 from 2 to 1
196 | move 3 from 5 to 3
197 | move 2 from 1 to 7
198 | move 1 from 5 to 2
199 | move 7 from 9 to 7
200 | move 2 from 2 to 8
201 | move 10 from 6 to 5
202 | move 5 from 5 to 6
203 | move 9 from 7 to 8
204 | move 3 from 3 to 9
205 | move 4 from 5 to 1
206 | move 10 from 9 to 3
207 | move 7 from 6 to 2
208 | move 5 from 3 to 9
209 | move 3 from 1 to 7
210 | move 1 from 4 to 7
211 | move 1 from 4 to 9
212 | move 1 from 3 to 7
213 | move 1 from 2 to 1
214 | move 1 from 5 to 1
215 | move 1 from 1 to 7
216 | move 3 from 6 to 3
217 | move 3 from 3 to 4
218 | move 6 from 7 to 4
219 | move 3 from 9 to 8
220 | move 9 from 8 to 1
221 | move 3 from 8 to 1
222 | move 13 from 9 to 5
223 | move 2 from 2 to 8
224 | move 4 from 8 to 3
225 | move 11 from 1 to 2
226 | move 14 from 2 to 6
227 | move 6 from 3 to 8
228 | move 4 from 9 to 7
229 | move 10 from 5 to 3
230 | move 2 from 7 to 3
231 | move 1 from 1 to 8
232 | move 1 from 1 to 7
233 | move 1 from 7 to 8
234 | move 1 from 1 to 4
235 | move 8 from 4 to 2
236 | move 2 from 5 to 1
237 | move 1 from 1 to 9
238 | move 1 from 7 to 3
239 | move 1 from 9 to 5
240 | move 1 from 4 to 2
241 | move 1 from 4 to 6
242 | move 1 from 7 to 3
243 | move 11 from 6 to 9
244 | move 4 from 2 to 5
245 | move 4 from 2 to 5
246 | move 10 from 5 to 6
247 | move 9 from 9 to 5
248 | move 1 from 9 to 2
249 | move 2 from 8 to 4
250 | move 1 from 9 to 6
251 | move 5 from 2 to 1
252 | move 5 from 8 to 6
253 | move 4 from 1 to 9
254 | move 1 from 8 to 1
255 | move 3 from 9 to 4
256 | move 5 from 5 to 1
257 | move 1 from 9 to 7
258 | move 11 from 6 to 3
259 | move 4 from 4 to 9
260 | move 9 from 6 to 5
261 | move 2 from 6 to 5
262 | move 3 from 9 to 1
263 | move 1 from 4 to 8
264 | move 4 from 1 to 3
265 | move 3 from 5 to 4
266 | move 2 from 4 to 9
267 | move 2 from 9 to 4
268 | move 1 from 9 to 8
269 | move 6 from 5 to 4
270 | move 1 from 7 to 8
271 | move 3 from 5 to 2
272 | move 3 from 8 to 5
273 | move 1 from 2 to 1
274 | move 24 from 3 to 9
275 | move 2 from 2 to 1
276 | move 10 from 1 to 7
277 | move 18 from 9 to 8
278 | move 5 from 3 to 7
279 | move 5 from 9 to 5
280 | move 12 from 7 to 2
281 | move 1 from 7 to 6
282 | move 8 from 4 to 7
283 | move 1 from 4 to 5
284 | move 12 from 5 to 9
285 | move 1 from 6 to 9
286 | move 3 from 2 to 8
287 | move 5 from 7 to 3
288 | move 21 from 8 to 7
289 | move 3 from 3 to 8
290 | move 11 from 9 to 5
291 | move 10 from 5 to 6
292 | move 3 from 7 to 2
293 | move 3 from 6 to 4
294 | move 2 from 3 to 1
295 | move 2 from 3 to 5
296 | move 1 from 1 to 7
297 | move 1 from 1 to 4
298 | move 3 from 4 to 1
299 | move 1 from 9 to 1
300 | move 1 from 4 to 3
301 | move 3 from 5 to 8
302 | move 1 from 9 to 6
303 | move 4 from 2 to 3
304 | move 6 from 8 to 6
305 | move 1 from 9 to 3
306 | move 7 from 2 to 4
307 | move 5 from 4 to 5
308 | move 1 from 2 to 6
309 | move 3 from 1 to 9
310 | move 3 from 9 to 4
311 | move 1 from 1 to 9
312 | move 2 from 5 to 3
313 | move 3 from 5 to 2
314 | move 4 from 7 to 2
315 | move 2 from 4 to 3
316 | move 2 from 2 to 3
317 | move 2 from 4 to 8
318 | move 5 from 2 to 3
319 | move 6 from 6 to 4
320 | move 8 from 7 to 3
321 | move 4 from 4 to 5
322 | move 1 from 3 to 1
323 | move 2 from 8 to 6
324 | move 7 from 7 to 5
325 | move 1 from 9 to 1
326 | move 14 from 3 to 6
327 | move 4 from 7 to 1
328 | move 6 from 5 to 3
329 | move 4 from 1 to 2
330 | move 9 from 3 to 5
331 | move 1 from 7 to 2
332 | move 2 from 3 to 7
333 | move 1 from 4 to 8
334 | move 1 from 4 to 9
335 | move 3 from 3 to 6
336 | move 9 from 5 to 2
337 | move 1 from 8 to 9
338 | move 1 from 1 to 7
339 | move 1 from 9 to 3
340 | move 1 from 4 to 8
341 | move 1 from 9 to 4
342 | move 3 from 5 to 1
343 | move 2 from 1 to 9
344 | move 1 from 4 to 9
345 | move 15 from 6 to 9
346 | move 3 from 3 to 5
347 | move 2 from 1 to 3
348 | move 2 from 7 to 4
349 | move 5 from 6 to 5
350 | move 6 from 2 to 9
351 | move 1 from 7 to 2
352 | move 2 from 4 to 6
353 | move 2 from 3 to 1
354 | move 1 from 1 to 6
355 | move 1 from 8 to 3
356 | move 1 from 3 to 9
357 | move 3 from 5 to 1
358 | move 3 from 6 to 2
359 | move 6 from 5 to 3
360 | move 6 from 6 to 8
361 | move 4 from 1 to 6
362 | move 12 from 9 to 7
363 | move 4 from 6 to 8
364 | move 1 from 5 to 1
365 | move 2 from 8 to 2
366 | move 2 from 2 to 1
367 | move 5 from 3 to 6
368 | move 3 from 1 to 6
369 | move 5 from 8 to 6
370 | move 1 from 3 to 6
371 | move 5 from 2 to 7
372 | move 8 from 9 to 4
373 | move 15 from 7 to 8
374 | move 5 from 6 to 3
375 | move 1 from 3 to 8
376 | move 15 from 8 to 3
377 | move 7 from 2 to 9
378 | move 1 from 7 to 4
379 | move 10 from 9 to 5
380 | move 4 from 6 to 4
381 | move 3 from 8 to 6
382 | move 1 from 8 to 6
383 | move 1 from 7 to 3
384 | move 10 from 6 to 9
385 | move 7 from 3 to 2
386 | move 10 from 9 to 7
387 | move 8 from 5 to 7
388 | move 8 from 3 to 7
389 | move 1 from 5 to 9
390 | move 1 from 6 to 8
391 | move 1 from 5 to 4
392 | move 1 from 8 to 6
393 | move 5 from 3 to 8
394 | move 9 from 4 to 2
395 | move 1 from 9 to 2
396 | move 4 from 2 to 3
397 | move 2 from 2 to 9
398 | move 2 from 4 to 8
399 | move 4 from 9 to 1
400 | move 1 from 4 to 9
401 | move 1 from 7 to 8
402 | move 9 from 2 to 1
403 | move 1 from 2 to 5
404 | move 1 from 5 to 3
405 | move 1 from 9 to 3
406 | move 4 from 3 to 6
407 | move 4 from 8 to 9
408 | move 2 from 3 to 6
409 | move 2 from 6 to 9
410 | move 1 from 4 to 8
411 | move 3 from 6 to 3
412 | move 2 from 6 to 5
413 | move 1 from 5 to 2
414 | move 2 from 2 to 1
415 | move 9 from 7 to 3
416 | move 7 from 3 to 9
417 | move 9 from 9 to 8
418 | move 10 from 7 to 1
419 | move 3 from 9 to 3
420 | move 3 from 3 to 1
421 | move 5 from 8 to 3
422 | move 1 from 9 to 3
423 | move 1 from 5 to 6
424 | move 3 from 8 to 4
425 | move 1 from 8 to 4
426 | move 2 from 8 to 2
427 | move 7 from 3 to 8
428 | move 4 from 4 to 2
429 | move 1 from 4 to 6
430 | move 1 from 8 to 1
431 | move 5 from 7 to 5
432 | move 2 from 6 to 7
433 | move 3 from 8 to 7
434 | move 2 from 2 to 1
435 | move 23 from 1 to 6
436 | move 2 from 3 to 5
437 | move 1 from 3 to 6
438 | move 1 from 7 to 2
439 | move 22 from 6 to 4
440 | move 5 from 2 to 7
441 | move 6 from 5 to 3
442 | move 17 from 4 to 1
443 | move 5 from 8 to 2
444 | move 23 from 1 to 7
445 | move 5 from 3 to 1
446 | move 15 from 7 to 2
447 | move 2 from 3 to 4
448 | move 1 from 8 to 4
449 | move 5 from 1 to 9
450 | move 6 from 7 to 1
451 | move 8 from 4 to 6
452 | move 4 from 9 to 5
453 | move 3 from 5 to 7
454 | move 1 from 9 to 1
455 | move 7 from 7 to 4
456 | move 7 from 1 to 5
457 | move 10 from 2 to 3
458 | move 4 from 2 to 4
459 | move 6 from 2 to 8
460 | move 7 from 6 to 7
461 | move 7 from 3 to 1
462 | move 3 from 6 to 2
463 | move 5 from 8 to 7
464 | move 7 from 5 to 7
465 | move 1 from 5 to 6
466 | move 1 from 6 to 2
467 | move 2 from 3 to 4
468 | move 1 from 3 to 7
469 | move 1 from 2 to 6
470 | move 3 from 7 to 6
471 | move 1 from 8 to 3
472 | move 4 from 4 to 2
473 | move 2 from 4 to 9
474 | move 2 from 1 to 7
475 | move 1 from 4 to 9
476 | move 1 from 3 to 5
477 | move 4 from 6 to 1
478 | move 3 from 4 to 5
479 | move 2 from 4 to 1
480 | move 8 from 7 to 1
481 | move 1 from 4 to 1
482 | move 6 from 2 to 3
483 | move 1 from 2 to 4
484 | move 4 from 3 to 2
485 | move 1 from 4 to 5
486 | move 3 from 2 to 5
487 | move 11 from 7 to 5
488 | move 2 from 9 to 1
489 | move 8 from 7 to 4
490 | move 2 from 3 to 5
491 | move 1 from 2 to 1
492 | move 8 from 4 to 1
493 | move 1 from 9 to 4
494 | move 7 from 5 to 4
495 | move 22 from 1 to 5
496 | move 5 from 4 to 2
497 | move 6 from 1 to 7
498 | move 4 from 2 to 7
499 | move 19 from 5 to 4
500 | move 1 from 7 to 6
501 | move 3 from 1 to 6
502 | move 3 from 7 to 9
503 | move 1 from 2 to 4
504 | move 20 from 4 to 6
505 | move 13 from 5 to 9
506 | move 2 from 1 to 3
507 | move 10 from 9 to 8
508 | move 3 from 9 to 4
509 | move 1 from 8 to 1
510 | move 1 from 1 to 8
511 | move 1 from 3 to 1
512 | move 2 from 9 to 2
513 |
--------------------------------------------------------------------------------
/aoc22/common.c:
--------------------------------------------------------------------------------
1 | /* bypass godbolt's relative include detection */
2 | #define INDIRECT_BOLINE_C "../boline/boline.c"
3 | #define INDIRECT_CM_C "../boline/cm.c"
4 | #ifndef GODBOLT
5 | #include INDIRECT_BOLINE_C
6 | #include INDIRECT_CM_C
7 | #endif
8 |
9 | /*
10 | * Some common utilities used in multiple aoc solutions
11 | */
12 |
13 |
14 | /*
15 | * Helper for iterating through a large comma separated input faster.
16 | *
17 | * This construct can be used to run a nested CM on a batch of inputs at a time,
18 | * to reduce the overhead of copying every following input in each iteration.
19 | *
20 | * minimal usage:
21 | * #define RUN__0end ,RUN_END
22 | * #define RUN__0batch ,RUN_BATCH
23 | * #define CM_0run(P,data,x,...) B_CHECK(RUN__##x,RUN_NEXT)(,data,x,P##__VA_ARGS__)
24 | *
25 | * #define RUN_BATCH(P,data,...) )NEXT ,0run,(data x)
26 | * #define RUN_END(P,data,...) )END (data)
27 | * #define RUN_NEXT(P,data,x,...) (,0run,data x,P##__VA_ARGS__)
28 | *
29 | * #define RUN(...) BATCH(,0run,(),__VA_ARGS__)
30 | *
31 | * RUN(1,2,3) -> (1 2 3)
32 | */
33 |
34 | #define CM_0batch(_,fx,xx,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z, \
35 | A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,...) \
36 | B_CATe(BATCH__,CM(,fx,B_OPEN _##xx, \
37 | a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z, \
38 | A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0batch,)),_##__VA_ARGS__)
39 | /*
40 | * The user needs to ensure that the nested execution ends in either
41 | * NEXT ,fx,(arguments)
42 | * , to handle the next batch, when the 0batch input was reached, or
43 | * END (out)
44 | * , to signal the end of input, when the 0end input was reached.
45 | */
46 | #define BATCH__NEXT BATCH_NEXT(
47 | #define BATCH__END BATCH_END(
48 |
49 | #define BATCH_NEXT(P,fx,xx,...) (,0batch,fx,P##xx,P##__VA_ARGS__)
50 | #define BATCH_END(xx,...) )B_SCAN(B_OPEN xx)
51 |
52 | /* The arguments need to be properly padded to avoid having
53 | * too few arguments for CM_0batch */
54 | #define BATCH_PADDING52 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
55 | #define BATCH_PADDING BATCH_PADDING52 BATCH_PADDING52
56 | #define BATCH(P,fx,xx,...) CM(,0batch,fx,P##xx,P##__VA_ARGS__,0end,BATCH_PADDING)
57 |
58 |
59 | /*
60 | * Lookup table to convert hex ASCII characters to tokens:
61 | */
62 | #define ASCII_20
63 | #define ASCII_21 !
64 | #define ASCII_24 $
65 | #define ASCII_25 %
66 | #define ASCII_26 &
67 | #define ASCII_28 (
68 | #define ASCII_29 )
69 | #define ASCII_2a *
70 | #define ASCII_2b +
71 | #define ASCII_2c ,
72 | #define ASCII_2d -
73 | #define ASCII_2e .
74 | #define ASCII_2f /
75 | #define ASCII_30 0
76 | #define ASCII_31 1
77 | #define ASCII_32 2
78 | #define ASCII_33 3
79 | #define ASCII_34 4
80 | #define ASCII_35 5
81 | #define ASCII_36 6
82 | #define ASCII_37 7
83 | #define ASCII_38 8
84 | #define ASCII_39 9
85 | #define ASCII_3a :
86 | #define ASCII_3b ;
87 | #define ASCII_3c <
88 | #define ASCII_3d =
89 | #define ASCII_3e >
90 | #define ASCII_3f ?
91 | #define ASCII_40 @
92 | #define ASCII_41 A
93 | #define ASCII_42 B
94 | #define ASCII_43 C
95 | #define ASCII_44 D
96 | #define ASCII_45 E
97 | #define ASCII_46 F
98 | #define ASCII_47 G
99 | #define ASCII_48 H
100 | #define ASCII_49 I
101 | #define ASCII_4a J
102 | #define ASCII_4b K
103 | #define ASCII_4c L
104 | #define ASCII_4d M
105 | #define ASCII_4e N
106 | #define ASCII_4f O
107 | #define ASCII_50 P
108 | #define ASCII_51 Q
109 | #define ASCII_52 R
110 | #define ASCII_53 S
111 | #define ASCII_54 T
112 | #define ASCII_55 U
113 | #define ASCII_56 V
114 | #define ASCII_57 W
115 | #define ASCII_58 X
116 | #define ASCII_59 Y
117 | #define ASCII_5a Z
118 | #define ASCII_5b [
119 | #define ASCII_5d ]
120 | #define ASCII_5e ^
121 | #define ASCII_5f _
122 | #define ASCII_61 a
123 | #define ASCII_62 b
124 | #define ASCII_63 c
125 | #define ASCII_64 d
126 | #define ASCII_65 e
127 | #define ASCII_66 f
128 | #define ASCII_67 g
129 | #define ASCII_68 h
130 | #define ASCII_69 i
131 | #define ASCII_6a j
132 | #define ASCII_6b k
133 | #define ASCII_6c l
134 | #define ASCII_6d m
135 | #define ASCII_6e n
136 | #define ASCII_6f o
137 | #define ASCII_70 p
138 | #define ASCII_71 q
139 | #define ASCII_72 r
140 | #define ASCII_73 s
141 | #define ASCII_74 t
142 | #define ASCII_75 u
143 | #define ASCII_76 v
144 | #define ASCII_77 w
145 | #define ASCII_78 x
146 | #define ASCII_79 y
147 | #define ASCII_7a z
148 | #define ASCII_7b {
149 | #define ASCII_7c |
150 | #define ASCII_7d }
151 | #define ASCII_7e ~
152 |
153 | #define EQ_0000 ,1
154 | #define EQ_0101 ,1
155 | #define EQ_0202 ,1
156 | #define EQ_0303 ,1
157 | #define EQ_0404 ,1
158 | #define EQ_0505 ,1
159 | #define EQ_0606 ,1
160 | #define EQ_0707 ,1
161 | #define EQ_0808 ,1
162 | #define EQ_0909 ,1
163 | #define EQ_0a0a ,1
164 | #define EQ_0b0b ,1
165 | #define EQ_0c0c ,1
166 | #define EQ_0d0d ,1
167 | #define EQ_0e0e ,1
168 | #define EQ_0f0f ,1
169 | #define EQ_1010 ,1
170 | #define EQ_1111 ,1
171 | #define EQ_1212 ,1
172 | #define EQ_1313 ,1
173 | #define EQ_1414 ,1
174 | #define EQ_1515 ,1
175 | #define EQ_1616 ,1
176 | #define EQ_1717 ,1
177 | #define EQ_1818 ,1
178 | #define EQ_1919 ,1
179 | #define EQ_1a1a ,1
180 | #define EQ_1b1b ,1
181 | #define EQ_1c1c ,1
182 | #define EQ_1d1d ,1
183 | #define EQ_1e1e ,1
184 | #define EQ_1f1f ,1
185 | #define EQ_2020 ,1
186 | #define EQ_2121 ,1
187 | #define EQ_2222 ,1
188 | #define EQ_2323 ,1
189 | #define EQ_2424 ,1
190 | #define EQ_2525 ,1
191 | #define EQ_2626 ,1
192 | #define EQ_2727 ,1
193 | #define EQ_2828 ,1
194 | #define EQ_2929 ,1
195 | #define EQ_2a2a ,1
196 | #define EQ_2b2b ,1
197 | #define EQ_2c2c ,1
198 | #define EQ_2d2d ,1
199 | #define EQ_2e2e ,1
200 | #define EQ_2f2f ,1
201 | #define EQ_3030 ,1
202 | #define EQ_3131 ,1
203 | #define EQ_3232 ,1
204 | #define EQ_3333 ,1
205 | #define EQ_3434 ,1
206 | #define EQ_3535 ,1
207 | #define EQ_3636 ,1
208 | #define EQ_3737 ,1
209 | #define EQ_3838 ,1
210 | #define EQ_3939 ,1
211 | #define EQ_3a3a ,1
212 | #define EQ_3b3b ,1
213 | #define EQ_3c3c ,1
214 | #define EQ_3d3d ,1
215 | #define EQ_3e3e ,1
216 | #define EQ_3f3f ,1
217 | #define EQ_4040 ,1
218 | #define EQ_4141 ,1
219 | #define EQ_4242 ,1
220 | #define EQ_4343 ,1
221 | #define EQ_4444 ,1
222 | #define EQ_4545 ,1
223 | #define EQ_4646 ,1
224 | #define EQ_4747 ,1
225 | #define EQ_4848 ,1
226 | #define EQ_4949 ,1
227 | #define EQ_4a4a ,1
228 | #define EQ_4b4b ,1
229 | #define EQ_4c4c ,1
230 | #define EQ_4d4d ,1
231 | #define EQ_4e4e ,1
232 | #define EQ_4f4f ,1
233 | #define EQ_5050 ,1
234 | #define EQ_5151 ,1
235 | #define EQ_5252 ,1
236 | #define EQ_5353 ,1
237 | #define EQ_5454 ,1
238 | #define EQ_5555 ,1
239 | #define EQ_5656 ,1
240 | #define EQ_5757 ,1
241 | #define EQ_5858 ,1
242 | #define EQ_5959 ,1
243 | #define EQ_5a5a ,1
244 | #define EQ_5b5b ,1
245 | #define EQ_5c5c ,1
246 | #define EQ_5d5d ,1
247 | #define EQ_5e5e ,1
248 | #define EQ_5f5f ,1
249 | #define EQ_6060 ,1
250 | #define EQ_6161 ,1
251 | #define EQ_6262 ,1
252 | #define EQ_6363 ,1
253 | #define EQ_6464 ,1
254 | #define EQ_6565 ,1
255 | #define EQ_6666 ,1
256 | #define EQ_6767 ,1
257 | #define EQ_6868 ,1
258 | #define EQ_6969 ,1
259 | #define EQ_6a6a ,1
260 | #define EQ_6b6b ,1
261 | #define EQ_6c6c ,1
262 | #define EQ_6d6d ,1
263 | #define EQ_6e6e ,1
264 | #define EQ_6f6f ,1
265 | #define EQ_7070 ,1
266 | #define EQ_7171 ,1
267 | #define EQ_7272 ,1
268 | #define EQ_7373 ,1
269 | #define EQ_7474 ,1
270 | #define EQ_7575 ,1
271 | #define EQ_7676 ,1
272 | #define EQ_7777 ,1
273 | #define EQ_7878 ,1
274 | #define EQ_7979 ,1
275 | #define EQ_7a7a ,1
276 | #define EQ_7b7b ,1
277 | #define EQ_7c7c ,1
278 | #define EQ_7d7d ,1
279 | #define EQ_7e7e ,1
280 | #define EQ_7f7f ,1
281 | #define EQ_8080 ,1
282 | #define EQ_8181 ,1
283 | #define EQ_8282 ,1
284 | #define EQ_8383 ,1
285 | #define EQ_8484 ,1
286 | #define EQ_8585 ,1
287 | #define EQ_8686 ,1
288 | #define EQ_8787 ,1
289 | #define EQ_8888 ,1
290 | #define EQ_8989 ,1
291 | #define EQ_8a8a ,1
292 | #define EQ_8b8b ,1
293 | #define EQ_8c8c ,1
294 | #define EQ_8d8d ,1
295 | #define EQ_8e8e ,1
296 | #define EQ_8f8f ,1
297 | #define EQ_9090 ,1
298 | #define EQ_9191 ,1
299 | #define EQ_9292 ,1
300 | #define EQ_9393 ,1
301 | #define EQ_9494 ,1
302 | #define EQ_9595 ,1
303 | #define EQ_9696 ,1
304 | #define EQ_9797 ,1
305 | #define EQ_9898 ,1
306 | #define EQ_9999 ,1
307 | #define EQ_9a9a ,1
308 | #define EQ_9b9b ,1
309 | #define EQ_9c9c ,1
310 | #define EQ_9d9d ,1
311 | #define EQ_9e9e ,1
312 | #define EQ_9f9f ,1
313 | #define EQ_a0a0 ,1
314 | #define EQ_a1a1 ,1
315 | #define EQ_a2a2 ,1
316 | #define EQ_a3a3 ,1
317 | #define EQ_a4a4 ,1
318 | #define EQ_a5a5 ,1
319 | #define EQ_a6a6 ,1
320 | #define EQ_a7a7 ,1
321 | #define EQ_a8a8 ,1
322 | #define EQ_a9a9 ,1
323 | #define EQ_aaaa ,1
324 | #define EQ_abab ,1
325 | #define EQ_acac ,1
326 | #define EQ_adad ,1
327 | #define EQ_aeae ,1
328 | #define EQ_afaf ,1
329 | #define EQ_b0b0 ,1
330 | #define EQ_b1b1 ,1
331 | #define EQ_b2b2 ,1
332 | #define EQ_b3b3 ,1
333 | #define EQ_b4b4 ,1
334 | #define EQ_b5b5 ,1
335 | #define EQ_b6b6 ,1
336 | #define EQ_b7b7 ,1
337 | #define EQ_b8b8 ,1
338 | #define EQ_b9b9 ,1
339 | #define EQ_baba ,1
340 | #define EQ_bbbb ,1
341 | #define EQ_bcbc ,1
342 | #define EQ_bdbd ,1
343 | #define EQ_bebe ,1
344 | #define EQ_bfbf ,1
345 | #define EQ_c0c0 ,1
346 | #define EQ_c1c1 ,1
347 | #define EQ_c2c2 ,1
348 | #define EQ_c3c3 ,1
349 | #define EQ_c4c4 ,1
350 | #define EQ_c5c5 ,1
351 | #define EQ_c6c6 ,1
352 | #define EQ_c7c7 ,1
353 | #define EQ_c8c8 ,1
354 | #define EQ_c9c9 ,1
355 | #define EQ_caca ,1
356 | #define EQ_cbcb ,1
357 | #define EQ_cccc ,1
358 | #define EQ_cdcd ,1
359 | #define EQ_cece ,1
360 | #define EQ_cfcf ,1
361 | #define EQ_d0d0 ,1
362 | #define EQ_d1d1 ,1
363 | #define EQ_d2d2 ,1
364 | #define EQ_d3d3 ,1
365 | #define EQ_d4d4 ,1
366 | #define EQ_d5d5 ,1
367 | #define EQ_d6d6 ,1
368 | #define EQ_d7d7 ,1
369 | #define EQ_d8d8 ,1
370 | #define EQ_d9d9 ,1
371 | #define EQ_dada ,1
372 | #define EQ_dbdb ,1
373 | #define EQ_dcdc ,1
374 | #define EQ_dddd ,1
375 | #define EQ_dede ,1
376 | #define EQ_dfdf ,1
377 | #define EQ_e0e0 ,1
378 | #define EQ_e1e1 ,1
379 | #define EQ_e2e2 ,1
380 | #define EQ_e3e3 ,1
381 | #define EQ_e4e4 ,1
382 | #define EQ_e5e5 ,1
383 | #define EQ_e6e6 ,1
384 | #define EQ_e7e7 ,1
385 | #define EQ_e8e8 ,1
386 | #define EQ_e9e9 ,1
387 | #define EQ_eaea ,1
388 | #define EQ_ebeb ,1
389 | #define EQ_ecec ,1
390 | #define EQ_eded ,1
391 | #define EQ_eeee ,1
392 | #define EQ_efef ,1
393 | #define EQ_f0f0 ,1
394 | #define EQ_f1f1 ,1
395 | #define EQ_f2f2 ,1
396 | #define EQ_f3f3 ,1
397 | #define EQ_f4f4 ,1
398 | #define EQ_f5f5 ,1
399 | #define EQ_f6f6 ,1
400 | #define EQ_f7f7 ,1
401 | #define EQ_f8f8 ,1
402 | #define EQ_f9f9 ,1
403 | #define EQ_fafa ,1
404 | #define EQ_fbfb ,1
405 | #define EQ_fcfc ,1
406 | #define EQ_fdfd ,1
407 | #define EQ_fefe ,1
408 | #define EQ_ffff ,1
409 |
410 |
411 | #define B8_00 (0,0)
412 | #define B8_01 (1,0)
413 | #define B8_02 (2,0)
414 | #define B8_03 (3,0)
415 | #define B8_04 (4,0)
416 | #define B8_05 (5,0)
417 | #define B8_06 (6,0)
418 | #define B8_07 (7,0)
419 | #define B8_08 (8,0)
420 | #define B8_09 (9,0)
421 | #define B8_0a (a,0)
422 | #define B8_0b (b,0)
423 | #define B8_0c (c,0)
424 | #define B8_0d (d,0)
425 | #define B8_0e (e,0)
426 | #define B8_0f (f,0)
427 | #define B8_10 (0,1)
428 | #define B8_11 (1,1)
429 | #define B8_12 (2,1)
430 | #define B8_13 (3,1)
431 | #define B8_14 (4,1)
432 | #define B8_15 (5,1)
433 | #define B8_16 (6,1)
434 | #define B8_17 (7,1)
435 | #define B8_18 (8,1)
436 | #define B8_19 (9,1)
437 | #define B8_1a (a,1)
438 | #define B8_1b (b,1)
439 | #define B8_1c (c,1)
440 | #define B8_1d (d,1)
441 | #define B8_1e (e,1)
442 | #define B8_1f (f,1)
443 | #define B8_20 (0,2)
444 | #define B8_21 (1,2)
445 | #define B8_22 (2,2)
446 | #define B8_23 (3,2)
447 | #define B8_24 (4,2)
448 | #define B8_25 (5,2)
449 | #define B8_26 (6,2)
450 | #define B8_27 (7,2)
451 | #define B8_28 (8,2)
452 | #define B8_29 (9,2)
453 | #define B8_2a (a,2)
454 | #define B8_2b (b,2)
455 | #define B8_2c (c,2)
456 | #define B8_2d (d,2)
457 | #define B8_2e (e,2)
458 | #define B8_2f (f,2)
459 | #define B8_30 (0,3)
460 | #define B8_31 (1,3)
461 | #define B8_32 (2,3)
462 | #define B8_33 (3,3)
463 | #define B8_34 (4,3)
464 | #define B8_35 (5,3)
465 | #define B8_36 (6,3)
466 | #define B8_37 (7,3)
467 | #define B8_38 (8,3)
468 | #define B8_39 (9,3)
469 | #define B8_3a (a,3)
470 | #define B8_3b (b,3)
471 | #define B8_3c (c,3)
472 | #define B8_3d (d,3)
473 | #define B8_3e (e,3)
474 | #define B8_3f (f,3)
475 | #define B8_40 (0,4)
476 | #define B8_41 (1,4)
477 | #define B8_42 (2,4)
478 | #define B8_43 (3,4)
479 | #define B8_44 (4,4)
480 | #define B8_45 (5,4)
481 | #define B8_46 (6,4)
482 | #define B8_47 (7,4)
483 | #define B8_48 (8,4)
484 | #define B8_49 (9,4)
485 | #define B8_4a (a,4)
486 | #define B8_4b (b,4)
487 | #define B8_4c (c,4)
488 | #define B8_4d (d,4)
489 | #define B8_4e (e,4)
490 | #define B8_4f (f,4)
491 | #define B8_50 (0,5)
492 | #define B8_51 (1,5)
493 | #define B8_52 (2,5)
494 | #define B8_53 (3,5)
495 | #define B8_54 (4,5)
496 | #define B8_55 (5,5)
497 | #define B8_56 (6,5)
498 | #define B8_57 (7,5)
499 | #define B8_58 (8,5)
500 | #define B8_59 (9,5)
501 | #define B8_5a (a,5)
502 | #define B8_5b (b,5)
503 | #define B8_5c (c,5)
504 | #define B8_5d (d,5)
505 | #define B8_5e (e,5)
506 | #define B8_5f (f,5)
507 | #define B8_60 (0,6)
508 | #define B8_61 (1,6)
509 | #define B8_62 (2,6)
510 | #define B8_63 (3,6)
511 | #define B8_64 (4,6)
512 | #define B8_65 (5,6)
513 | #define B8_66 (6,6)
514 | #define B8_67 (7,6)
515 | #define B8_68 (8,6)
516 | #define B8_69 (9,6)
517 | #define B8_6a (a,6)
518 | #define B8_6b (b,6)
519 | #define B8_6c (c,6)
520 | #define B8_6d (d,6)
521 | #define B8_6e (e,6)
522 | #define B8_6f (f,6)
523 | #define B8_70 (0,7)
524 | #define B8_71 (1,7)
525 | #define B8_72 (2,7)
526 | #define B8_73 (3,7)
527 | #define B8_74 (4,7)
528 | #define B8_75 (5,7)
529 | #define B8_76 (6,7)
530 | #define B8_77 (7,7)
531 | #define B8_78 (8,7)
532 | #define B8_79 (9,7)
533 | #define B8_7a (a,7)
534 | #define B8_7b (b,7)
535 | #define B8_7c (c,7)
536 | #define B8_7d (d,7)
537 | #define B8_7e (e,7)
538 | #define B8_7f (f,7)
539 | #define B8_80 (0,8)
540 | #define B8_81 (1,8)
541 | #define B8_82 (2,8)
542 | #define B8_83 (3,8)
543 | #define B8_84 (4,8)
544 | #define B8_85 (5,8)
545 | #define B8_86 (6,8)
546 | #define B8_87 (7,8)
547 | #define B8_88 (8,8)
548 | #define B8_89 (9,8)
549 | #define B8_8a (a,8)
550 | #define B8_8b (b,8)
551 | #define B8_8c (c,8)
552 | #define B8_8d (d,8)
553 | #define B8_8e (e,8)
554 | #define B8_8f (f,8)
555 | #define B8_90 (0,9)
556 | #define B8_91 (1,9)
557 | #define B8_92 (2,9)
558 | #define B8_93 (3,9)
559 | #define B8_94 (4,9)
560 | #define B8_95 (5,9)
561 | #define B8_96 (6,9)
562 | #define B8_97 (7,9)
563 | #define B8_98 (8,9)
564 | #define B8_99 (9,9)
565 | #define B8_9a (a,9)
566 | #define B8_9b (b,9)
567 | #define B8_9c (c,9)
568 | #define B8_9d (d,9)
569 | #define B8_9e (e,9)
570 | #define B8_9f (f,9)
571 | #define B8_a0 (0,a)
572 | #define B8_a1 (1,a)
573 | #define B8_a2 (2,a)
574 | #define B8_a3 (3,a)
575 | #define B8_a4 (4,a)
576 | #define B8_a5 (5,a)
577 | #define B8_a6 (6,a)
578 | #define B8_a7 (7,a)
579 | #define B8_a8 (8,a)
580 | #define B8_a9 (9,a)
581 | #define B8_aa (a,a)
582 | #define B8_ab (b,a)
583 | #define B8_ac (c,a)
584 | #define B8_ad (d,a)
585 | #define B8_ae (e,a)
586 | #define B8_af (f,a)
587 | #define B8_b0 (0,b)
588 | #define B8_b1 (1,b)
589 | #define B8_b2 (2,b)
590 | #define B8_b3 (3,b)
591 | #define B8_b4 (4,b)
592 | #define B8_b5 (5,b)
593 | #define B8_b6 (6,b)
594 | #define B8_b7 (7,b)
595 | #define B8_b8 (8,b)
596 | #define B8_b9 (9,b)
597 | #define B8_ba (a,b)
598 | #define B8_bb (b,b)
599 | #define B8_bc (c,b)
600 | #define B8_bd (d,b)
601 | #define B8_be (e,b)
602 | #define B8_bf (f,b)
603 | #define B8_c0 (0,c)
604 | #define B8_c1 (1,c)
605 | #define B8_c2 (2,c)
606 | #define B8_c3 (3,c)
607 | #define B8_c4 (4,c)
608 | #define B8_c5 (5,c)
609 | #define B8_c6 (6,c)
610 | #define B8_c7 (7,c)
611 | #define B8_c8 (8,c)
612 | #define B8_c9 (9,c)
613 | #define B8_ca (a,c)
614 | #define B8_cb (b,c)
615 | #define B8_cc (c,c)
616 | #define B8_cd (d,c)
617 | #define B8_ce (e,c)
618 | #define B8_cf (f,c)
619 | #define B8_d0 (0,d)
620 | #define B8_d1 (1,d)
621 | #define B8_d2 (2,d)
622 | #define B8_d3 (3,d)
623 | #define B8_d4 (4,d)
624 | #define B8_d5 (5,d)
625 | #define B8_d6 (6,d)
626 | #define B8_d7 (7,d)
627 | #define B8_d8 (8,d)
628 | #define B8_d9 (9,d)
629 | #define B8_da (a,d)
630 | #define B8_db (b,d)
631 | #define B8_dc (c,d)
632 | #define B8_dd (d,d)
633 | #define B8_de (e,d)
634 | #define B8_df (f,d)
635 | #define B8_e0 (0,e)
636 | #define B8_e1 (1,e)
637 | #define B8_e2 (2,e)
638 | #define B8_e3 (3,e)
639 | #define B8_e4 (4,e)
640 | #define B8_e5 (5,e)
641 | #define B8_e6 (6,e)
642 | #define B8_e7 (7,e)
643 | #define B8_e8 (8,e)
644 | #define B8_e9 (9,e)
645 | #define B8_ea (a,e)
646 | #define B8_eb (b,e)
647 | #define B8_ec (c,e)
648 | #define B8_ed (d,e)
649 | #define B8_ee (e,e)
650 | #define B8_ef (f,e)
651 | #define B8_f0 (0,f)
652 | #define B8_f1 (1,f)
653 | #define B8_f2 (2,f)
654 | #define B8_f3 (3,f)
655 | #define B8_f4 (4,f)
656 | #define B8_f5 (5,f)
657 | #define B8_f6 (6,f)
658 | #define B8_f7 (7,f)
659 | #define B8_f8 (8,f)
660 | #define B8_f9 (9,f)
661 | #define B8_fa (a,f)
662 | #define B8_fb (b,f)
663 | #define B8_fc (c,f)
664 | #define B8_fd (d,f)
665 | #define B8_fe (e,f)
666 | #define B8_ff (f,f)
667 |
--------------------------------------------------------------------------------
/aoc22/inputs/7.txt:
--------------------------------------------------------------------------------
1 | $ cd /
2 | $ ls
3 | dir blgtdv
4 | dir dbrfcz
5 | dir fvspj
6 | dir hbjmndt
7 | dir hzg
8 | dir jpjgdm
9 | dir mtd
10 | dir pcpf
11 | dir qfttswwv
12 | dir qrd
13 | dir zwqgg
14 | $ cd blgtdv
15 | $ ls
16 | dir bjlcfcfq
17 | 83465 bnm
18 | 165543 cllbb
19 | 137127 cvbnjz.wzp
20 | dir gzzz
21 | dir nbdzs
22 | dir vvmcfptr
23 | dir wjvzwssp
24 | $ cd bjlcfcfq
25 | $ ls
26 | dir fvspj
27 | dir pwcvj
28 | dir tvhrzql
29 | $ cd fvspj
30 | $ ls
31 | 315202 cqwb.qzt
32 | 12768 lmdtnsmr
33 | $ cd ..
34 | $ cd pwcvj
35 | $ ls
36 | dir bjp
37 | 138548 btj.sdn
38 | 140056 cllbb
39 | dir drsgv
40 | 311875 fvspj
41 | dir lpv
42 | dir mmtsh
43 | dir pwcvj
44 | 252680 qrd.ngg
45 | dir rdftpm
46 | dir rzhq
47 | $ cd bjp
48 | $ ls
49 | dir scggvb
50 | $ cd scggvb
51 | $ ls
52 | 29012 lmdtnsmr
53 | $ cd ..
54 | $ cd ..
55 | $ cd drsgv
56 | $ ls
57 | 41717 btj.sdn
58 | 203587 jctnszj.nnc
59 | 304614 rdvjhjjr.bbt
60 | $ cd ..
61 | $ cd lpv
62 | $ ls
63 | 292112 nlrbdjhf
64 | 304873 rdvjhjjr.bbt
65 | $ cd ..
66 | $ cd mmtsh
67 | $ ls
68 | 12318 fbvvrvc.shb
69 | $ cd ..
70 | $ cd pwcvj
71 | $ ls
72 | dir dnfnl
73 | $ cd dnfnl
74 | $ ls
75 | 191701 qfswvhj.wgs
76 | $ cd ..
77 | $ cd ..
78 | $ cd rdftpm
79 | $ ls
80 | 157406 fvwcjbsl.tdr
81 | 59827 jfdbcwln.frw
82 | $ cd ..
83 | $ cd rzhq
84 | $ ls
85 | dir wcnm
86 | $ cd wcnm
87 | $ ls
88 | 149296 wljbd
89 | $ cd ..
90 | $ cd ..
91 | $ cd ..
92 | $ cd tvhrzql
93 | $ ls
94 | 322339 hhlh.tdw
95 | $ cd ..
96 | $ cd ..
97 | $ cd gzzz
98 | $ ls
99 | 156023 btj.sdn
100 | $ cd ..
101 | $ cd nbdzs
102 | $ ls
103 | 211770 btj.sdn
104 | 56822 qqvmpnj
105 | $ cd ..
106 | $ cd vvmcfptr
107 | $ ls
108 | 199919 bbsd.mtl
109 | 44895 sspcnf
110 | $ cd ..
111 | $ cd wjvzwssp
112 | $ ls
113 | 268729 qplvqdv.mch
114 | $ cd ..
115 | $ cd ..
116 | $ cd dbrfcz
117 | $ ls
118 | 26907 fvspj
119 | 207774 lpv.dpq
120 | $ cd ..
121 | $ cd fvspj
122 | $ ls
123 | 127312 bjlcfcfq.nhp
124 | dir cdc
125 | dir fvspj
126 | 104875 mrjf.qsq
127 | dir pwcvj
128 | dir qtnnz
129 | 151668 rdvjhjjr.bbt
130 | 304863 swwgtpv.crc
131 | $ cd cdc
132 | $ ls
133 | 278486 dtcdwhjt
134 | 221477 frwcvtgq.lgt
135 | $ cd ..
136 | $ cd fvspj
137 | $ ls
138 | 313053 lpv
139 | 106354 mrjzgw.fgf
140 | dir pwcvj
141 | dir qrd
142 | $ cd pwcvj
143 | $ ls
144 | 297912 nrc.nrf
145 | $ cd ..
146 | $ cd qrd
147 | $ ls
148 | 33856 cgjj.hvj
149 | $ cd ..
150 | $ cd ..
151 | $ cd pwcvj
152 | $ ls
153 | 103274 fvspj
154 | 308112 hjgnqgpn.lzh
155 | 284461 qrd.qbf
156 | $ cd ..
157 | $ cd qtnnz
158 | $ ls
159 | 74435 lmdtnsmr
160 | 253121 rdvjhjjr.bbt
161 | $ cd ..
162 | $ cd ..
163 | $ cd hbjmndt
164 | $ ls
165 | 319596 bjlcfcfq
166 | 236959 pdcjnfh.pdr
167 | 75402 pwcvj
168 | 132359 qrd.hcg
169 | $ cd ..
170 | $ cd hzg
171 | $ ls
172 | 283914 wfhbbjn.qft
173 | $ cd ..
174 | $ cd jpjgdm
175 | $ ls
176 | 186272 bjlcfcfq
177 | dir fpgcdvm
178 | dir fqh
179 | 196808 frntppq.npt
180 | dir mcszw
181 | dir tgrplmn
182 | dir tnhs
183 | 124656 vqbnc.pls
184 | $ cd fpgcdvm
185 | $ ls
186 | 150164 bbsd.mtl
187 | dir lsj
188 | dir qrd
189 | 72301 qrd.dlm
190 | 184042 rdvjhjjr.bbt
191 | 247165 rgtrzrnj.ngq
192 | 121847 vwwmsd.drj
193 | $ cd lsj
194 | $ ls
195 | dir hdttgfvj
196 | $ cd hdttgfvj
197 | $ ls
198 | dir pwcvj
199 | $ cd pwcvj
200 | $ ls
201 | 96128 hszn.dvp
202 | $ cd ..
203 | $ cd ..
204 | $ cd ..
205 | $ cd qrd
206 | $ ls
207 | dir btltml
208 | dir rggvfrgb
209 | $ cd btltml
210 | $ ls
211 | 264710 btj.sdn
212 | 148463 lvwcnzf
213 | $ cd ..
214 | $ cd rggvfrgb
215 | $ ls
216 | 166064 cllbb
217 | 318209 qrd.tgr
218 | $ cd ..
219 | $ cd ..
220 | $ cd ..
221 | $ cd fqh
222 | $ ls
223 | dir fvspj
224 | dir lpv
225 | dir pdqss
226 | $ cd fvspj
227 | $ ls
228 | dir fvspj
229 | $ cd fvspj
230 | $ ls
231 | 178819 pwcvj.wwt
232 | $ cd ..
233 | $ cd ..
234 | $ cd lpv
235 | $ ls
236 | 304819 btj.sdn
237 | $ cd ..
238 | $ cd pdqss
239 | $ ls
240 | 295812 qvrjfw
241 | $ cd ..
242 | $ cd ..
243 | $ cd mcszw
244 | $ ls
245 | dir hdcpljg
246 | dir jpgrltj
247 | $ cd hdcpljg
248 | $ ls
249 | dir cwrzb
250 | $ cd cwrzb
251 | $ ls
252 | 119913 cvdrqt.pmm
253 | $ cd ..
254 | $ cd ..
255 | $ cd jpgrltj
256 | $ ls
257 | dir frqzwfbd
258 | dir fvspj
259 | 303128 gpv.vrp
260 | 175649 jdtzr
261 | dir mhrnnhhz
262 | dir mmf
263 | dir prpmrtc
264 | 157295 zcwvc
265 | $ cd frqzwfbd
266 | $ ls
267 | dir rbpwmbg
268 | $ cd rbpwmbg
269 | $ ls
270 | 272917 btj.sdn
271 | $ cd ..
272 | $ cd ..
273 | $ cd fvspj
274 | $ ls
275 | dir bjlcfcfq
276 | $ cd bjlcfcfq
277 | $ ls
278 | 20843 sglqrf.dhq
279 | $ cd ..
280 | $ cd ..
281 | $ cd mhrnnhhz
282 | $ ls
283 | dir qrd
284 | dir vwtrwbc
285 | $ cd qrd
286 | $ ls
287 | 288693 vvj
288 | $ cd ..
289 | $ cd vwtrwbc
290 | $ ls
291 | 220203 dmp
292 | $ cd ..
293 | $ cd ..
294 | $ cd mmf
295 | $ ls
296 | 134321 bjlcfcfq.cct
297 | dir dvtbrnp
298 | dir qrd
299 | dir rfnnt
300 | 248903 scfrnp.vtv
301 | dir sgrnztrg
302 | 104979 tbnlqdjd.pvh
303 | $ cd dvtbrnp
304 | $ ls
305 | 108438 cllbb
306 | 247115 dcnsvp.nnv
307 | $ cd ..
308 | $ cd qrd
309 | $ ls
310 | 13599 lvfpgjpm.bsf
311 | 162188 qrd.rgc
312 | 144915 wrl
313 | 99150 znn.bwr
314 | $ cd ..
315 | $ cd rfnnt
316 | $ ls
317 | 267155 pwcvj.mff
318 | $ cd ..
319 | $ cd sgrnztrg
320 | $ ls
321 | 96406 bbsd.mtl
322 | dir fqzt
323 | 286557 fvspj.hgs
324 | dir fwnfzlsh
325 | 2681 lpv
326 | dir nhdlzz
327 | 307130 pqdf
328 | 26564 qjhqq.wpf
329 | $ cd fqzt
330 | $ ls
331 | 133312 bbsd.mtl
332 | dir jrvwtcm
333 | dir lvwvhh
334 | dir qdmwttjf
335 | $ cd jrvwtcm
336 | $ ls
337 | dir lpv
338 | dir qrd
339 | $ cd lpv
340 | $ ls
341 | 167512 fvspj.ncn
342 | 152101 hjqnflqq
343 | dir jnzjz
344 | 150334 lmdtnsmr
345 | 160486 pwcvj.wrq
346 | $ cd jnzjz
347 | $ ls
348 | 159850 vqhljfwn.gvn
349 | $ cd ..
350 | $ cd ..
351 | $ cd qrd
352 | $ ls
353 | 159400 cllbb
354 | 76692 jmv.pcb
355 | 35340 trrllrzh
356 | $ cd ..
357 | $ cd ..
358 | $ cd lvwvhh
359 | $ ls
360 | 15938 cllbb
361 | $ cd ..
362 | $ cd qdmwttjf
363 | $ ls
364 | 321474 bbsd.mtl
365 | $ cd ..
366 | $ cd ..
367 | $ cd fwnfzlsh
368 | $ ls
369 | 293768 rdvjhjjr.bbt
370 | 231923 sjsst
371 | 85714 tftdtjn.gmj
372 | $ cd ..
373 | $ cd nhdlzz
374 | $ ls
375 | 32685 bbsd.mtl
376 | 144279 bjlcfcfq
377 | 87900 jvsrrdtl.cfg
378 | 92750 lpbl
379 | $ cd ..
380 | $ cd ..
381 | $ cd ..
382 | $ cd prpmrtc
383 | $ ls
384 | 246802 cllbb
385 | 168865 fvspj.qpw
386 | dir hblbht
387 | 82290 lmdtnsmr
388 | $ cd hblbht
389 | $ ls
390 | 207362 bjlcfcfq.zmn
391 | $ cd ..
392 | $ cd ..
393 | $ cd ..
394 | $ cd ..
395 | $ cd tgrplmn
396 | $ ls
397 | dir lpv
398 | dir mcl
399 | 284751 mnsfpzg.llt
400 | dir qswjwpb
401 | 59462 swzffqm.rgh
402 | dir tlcsgrsm
403 | $ cd lpv
404 | $ ls
405 | dir bjlcfcfq
406 | dir csmssc
407 | dir dpmr
408 | dir grt
409 | 56546 hbrph
410 | 133153 nhpqln
411 | 311003 pwcvj
412 | 196923 pwcvj.vzf
413 | dir qjm
414 | dir vjbrczs
415 | $ cd bjlcfcfq
416 | $ ls
417 | dir dcl
418 | dir fvspj
419 | dir jfd
420 | 94415 nvqznb.fps
421 | 189235 rdvjhjjr.bbt
422 | dir sjmv
423 | dir swzpgbv
424 | 191980 trlprb
425 | 19551 wjzrjgp.wzt
426 | $ cd dcl
427 | $ ls
428 | dir fvspj
429 | dir hfjtj
430 | $ cd fvspj
431 | $ ls
432 | 23433 bwwc.gfq
433 | 305839 ldgjls.mmv
434 | dir mqbpjgpp
435 | 289110 qtwvsjj
436 | 202233 sbzmlctz
437 | 152311 wblvh.lmh
438 | $ cd mqbpjgpp
439 | $ ls
440 | 236302 bjlcfcfq.qfd
441 | 58279 qrd
442 | $ cd ..
443 | $ cd ..
444 | $ cd hfjtj
445 | $ ls
446 | 314282 fqv
447 | 28353 gfzcbpr.npj
448 | 191265 pvdzvvz.ndn
449 | 324328 qrd.qdj
450 | $ cd ..
451 | $ cd ..
452 | $ cd fvspj
453 | $ ls
454 | dir brcr
455 | dir jjhsmhq
456 | 238436 qrd.gqd
457 | dir vmdsrmpw
458 | $ cd brcr
459 | $ ls
460 | dir bjlcfcfq
461 | dir grlppjws
462 | dir jflb
463 | dir tjw
464 | dir wdnfspnt
465 | $ cd bjlcfcfq
466 | $ ls
467 | 8182 wvv.pcd
468 | $ cd ..
469 | $ cd grlppjws
470 | $ ls
471 | dir pbjllgpv
472 | 99788 qrd
473 | dir vbfqvcb
474 | $ cd pbjllgpv
475 | $ ls
476 | 296139 bwdbhm
477 | $ cd ..
478 | $ cd vbfqvcb
479 | $ ls
480 | 23885 cfnqsdrq
481 | $ cd ..
482 | $ cd ..
483 | $ cd jflb
484 | $ ls
485 | 242366 bbsd.mtl
486 | 221424 dmdrj
487 | $ cd ..
488 | $ cd tjw
489 | $ ls
490 | 275534 btj.sdn
491 | $ cd ..
492 | $ cd wdnfspnt
493 | $ ls
494 | 234653 fvspj.mhh
495 | 185475 gdmvncmd.glf
496 | 241269 llpmndb.smv
497 | $ cd ..
498 | $ cd ..
499 | $ cd jjhsmhq
500 | $ ls
501 | dir bjlcfcfq
502 | dir cngcw
503 | dir dgsh
504 | dir fvspj
505 | 75186 gfpg
506 | 222104 rdvjhjjr.bbt
507 | dir zhh
508 | $ cd bjlcfcfq
509 | $ ls
510 | 322155 cmfvqn.bnv
511 | $ cd ..
512 | $ cd cngcw
513 | $ ls
514 | 225265 bwblfgg.tbh
515 | 159815 rdvjhjjr.bbt
516 | $ cd ..
517 | $ cd dgsh
518 | $ ls
519 | 5999 qhb
520 | $ cd ..
521 | $ cd fvspj
522 | $ ls
523 | dir jhvhb
524 | $ cd jhvhb
525 | $ ls
526 | 284846 bbsd.mtl
527 | 268772 btj.sdn
528 | 63756 mjqm.wlj
529 | $ cd ..
530 | $ cd ..
531 | $ cd zhh
532 | $ ls
533 | 13809 pbfbglt.vjl
534 | $ cd ..
535 | $ cd ..
536 | $ cd vmdsrmpw
537 | $ ls
538 | dir fznqqt
539 | dir hpmz
540 | 249340 pmmvztbv.rwd
541 | 118626 rljmwl.lfl
542 | $ cd fznqqt
543 | $ ls
544 | 260619 bjlcfcfq.lhh
545 | 165606 cllbb
546 | 14095 tgnwqlp.npr
547 | $ cd ..
548 | $ cd hpmz
549 | $ ls
550 | 269899 qhmsm
551 | $ cd ..
552 | $ cd ..
553 | $ cd ..
554 | $ cd jfd
555 | $ ls
556 | 255103 lmdtnsmr
557 | $ cd ..
558 | $ cd sjmv
559 | $ ls
560 | 231148 bbsd.mtl
561 | dir ctlcvb
562 | dir lpv
563 | 63332 nztdclbs.vfq
564 | 52185 rzlc
565 | $ cd ctlcvb
566 | $ ls
567 | 181515 bjlcfcfq.bvz
568 | $ cd ..
569 | $ cd lpv
570 | $ ls
571 | dir cnbzsz
572 | $ cd cnbzsz
573 | $ ls
574 | 67110 bjlcfcfq
575 | $ cd ..
576 | $ cd ..
577 | $ cd ..
578 | $ cd swzpgbv
579 | $ ls
580 | dir qdswczwf
581 | $ cd qdswczwf
582 | $ ls
583 | 280757 pbtmjh.rww
584 | dir rvnwwctv
585 | 79261 tczj
586 | dir vppgbl
587 | 125973 wbs.tvl
588 | $ cd rvnwwctv
589 | $ ls
590 | dir lnww
591 | $ cd lnww
592 | $ ls
593 | 86468 qrd
594 | $ cd ..
595 | $ cd ..
596 | $ cd vppgbl
597 | $ ls
598 | 167779 rdvjhjjr.bbt
599 | $ cd ..
600 | $ cd ..
601 | $ cd ..
602 | $ cd ..
603 | $ cd csmssc
604 | $ ls
605 | 227296 vdpcbwr
606 | $ cd ..
607 | $ cd dpmr
608 | $ ls
609 | dir bjlcfcfq
610 | dir bqh
611 | 16258 dgqftmss.njh
612 | 34709 fsdfwtm.vrq
613 | 145444 lmdtnsmr
614 | 241098 qrd.psl
615 | dir tlmdc
616 | $ cd bjlcfcfq
617 | $ ls
618 | 11283 ngcbs.mtd
619 | $ cd ..
620 | $ cd bqh
621 | $ ls
622 | dir hldwv
623 | $ cd hldwv
624 | $ ls
625 | dir lhtjslpz
626 | 199950 lwzcvjvp.qjj
627 | 102516 qhdttjp.lcb
628 | dir qlbsp
629 | $ cd lhtjslpz
630 | $ ls
631 | 114219 bbsd.mtl
632 | dir fvspj
633 | $ cd fvspj
634 | $ ls
635 | 253208 cllbb
636 | dir tjzcwv
637 | dir tzdp
638 | dir vpwgc
639 | $ cd tjzcwv
640 | $ ls
641 | 85489 rdvjhjjr.bbt
642 | dir shsfppt
643 | $ cd shsfppt
644 | $ ls
645 | 206314 fhgmvp.fmv
646 | $ cd ..
647 | $ cd ..
648 | $ cd tzdp
649 | $ ls
650 | 319129 zvwhbg.qbf
651 | $ cd ..
652 | $ cd vpwgc
653 | $ ls
654 | 81012 pclb.wdr
655 | $ cd ..
656 | $ cd ..
657 | $ cd ..
658 | $ cd qlbsp
659 | $ ls
660 | 149628 fctp.hzz
661 | $ cd ..
662 | $ cd ..
663 | $ cd ..
664 | $ cd tlmdc
665 | $ ls
666 | 54390 dbrt.bns
667 | $ cd ..
668 | $ cd ..
669 | $ cd grt
670 | $ ls
671 | 166012 fdh
672 | $ cd ..
673 | $ cd qjm
674 | $ ls
675 | 28225 rdvjhjjr.bbt
676 | $ cd ..
677 | $ cd vjbrczs
678 | $ ls
679 | 198931 cllbb
680 | $ cd ..
681 | $ cd ..
682 | $ cd mcl
683 | $ ls
684 | dir qrd
685 | $ cd qrd
686 | $ ls
687 | 33750 ddhhs.vqq
688 | $ cd ..
689 | $ cd ..
690 | $ cd qswjwpb
691 | $ ls
692 | 35549 fmfjcfj
693 | dir hjphpcbg
694 | dir lpv
695 | 267871 ztzz
696 | $ cd hjphpcbg
697 | $ ls
698 | 245718 rsprrb
699 | $ cd ..
700 | $ cd lpv
701 | $ ls
702 | 37017 pwcvj
703 | $ cd ..
704 | $ cd ..
705 | $ cd tlcsgrsm
706 | $ ls
707 | 300513 cnmjs.qnn
708 | 304203 jhcmjmnl.mzn
709 | $ cd ..
710 | $ cd ..
711 | $ cd tnhs
712 | $ ls
713 | dir gszv
714 | dir lgh
715 | dir mtbpfwqp
716 | dir zhgqm
717 | $ cd gszv
718 | $ ls
719 | 83369 bbsd.mtl
720 | 70913 btj.sdn
721 | dir dmfbw
722 | dir dnhpgb
723 | dir fvspj
724 | 97494 lmdtnsmr
725 | dir lpv
726 | 104639 qrd.cpq
727 | $ cd dmfbw
728 | $ ls
729 | 252522 jjw
730 | dir nqh
731 | dir swlq
732 | 116306 tgjhnwsq.fvb
733 | $ cd nqh
734 | $ ls
735 | 116128 vpmc.tmw
736 | $ cd ..
737 | $ cd swlq
738 | $ ls
739 | dir bslwvw
740 | dir gqq
741 | 162795 lpv.fdh
742 | $ cd bslwvw
743 | $ ls
744 | 67711 bbsd.mtl
745 | 212000 ptfw.llc
746 | 285956 qrd.qsp
747 | $ cd ..
748 | $ cd gqq
749 | $ ls
750 | dir blgnqj
751 | $ cd blgnqj
752 | $ ls
753 | 88943 nphgztg.bfg
754 | $ cd ..
755 | $ cd ..
756 | $ cd ..
757 | $ cd ..
758 | $ cd dnhpgb
759 | $ ls
760 | 291670 bbsd.mtl
761 | 106989 cllbb
762 | 279416 plh.bcb
763 | $ cd ..
764 | $ cd fvspj
765 | $ ls
766 | dir bcw
767 | 102374 fvspj
768 | 230649 lmdtnsmr
769 | dir lpv
770 | 272047 zdfcv.jhm
771 | $ cd bcw
772 | $ ls
773 | 235582 ptlfrl.sjv
774 | $ cd ..
775 | $ cd lpv
776 | $ ls
777 | 58549 pwcvj.ctf
778 | $ cd ..
779 | $ cd ..
780 | $ cd lpv
781 | $ ls
782 | 77416 cllbb
783 | dir lgzmvj
784 | $ cd lgzmvj
785 | $ ls
786 | 81760 fsmjc.grz
787 | 318477 nccf
788 | 27650 pwcvj.zbr
789 | 270952 qrd.fhf
790 | $ cd ..
791 | $ cd ..
792 | $ cd ..
793 | $ cd lgh
794 | $ ls
795 | 87112 hvtzr
796 | 208042 jdqm
797 | 63985 mwvszg.dlp
798 | $ cd ..
799 | $ cd mtbpfwqp
800 | $ ls
801 | 307186 bzg.vzd
802 | 222517 lmdtnsmr
803 | 145642 lqnd
804 | dir zpnwp
805 | $ cd zpnwp
806 | $ ls
807 | 88669 jmqlmppg.dzv
808 | $ cd ..
809 | $ cd ..
810 | $ cd zhgqm
811 | $ ls
812 | dir pwcvj
813 | 222559 rzjhcp.rmw
814 | $ cd pwcvj
815 | $ ls
816 | 48736 cnpfdfcw
817 | dir csdfdgw
818 | dir fvspj
819 | 312206 jvpzg.gdl
820 | 163843 mfbszb.gfw
821 | 161510 rbfgptrl
822 | $ cd csdfdgw
823 | $ ls
824 | 100340 lmdtnsmr
825 | $ cd ..
826 | $ cd fvspj
827 | $ ls
828 | 207884 fvspj
829 | $ cd ..
830 | $ cd ..
831 | $ cd ..
832 | $ cd ..
833 | $ cd ..
834 | $ cd mtd
835 | $ ls
836 | dir mddvqd
837 | dir tjhsj
838 | $ cd mddvqd
839 | $ ls
840 | dir qldj
841 | $ cd qldj
842 | $ ls
843 | 211861 dmb
844 | 316204 lpv
845 | $ cd ..
846 | $ cd ..
847 | $ cd tjhsj
848 | $ ls
849 | dir fhhbq
850 | $ cd fhhbq
851 | $ ls
852 | 151883 bbsd.mtl
853 | 15864 dlfz.hgh
854 | 242066 fvspj.trt
855 | $ cd ..
856 | $ cd ..
857 | $ cd ..
858 | $ cd pcpf
859 | $ ls
860 | 85832 cllbb
861 | dir lpv
862 | 35378 nnz
863 | 167437 pwcvj.nqw
864 | dir zrvqgv
865 | $ cd lpv
866 | $ ls
867 | 194689 qrd.ctl
868 | $ cd ..
869 | $ cd zrvqgv
870 | $ ls
871 | 316695 fspcfc.hcd
872 | 164055 qtdswzdg.rfv
873 | $ cd ..
874 | $ cd ..
875 | $ cd qfttswwv
876 | $ ls
877 | 10747 btj.sdn
878 | 171061 cllbb
879 | dir tczrc
880 | dir vbzs
881 | $ cd tczrc
882 | $ ls
883 | 55851 bbsd.mtl
884 | 238655 bjlcfcfq
885 | 270809 gqrcsfp.srl
886 | dir hhjsmw
887 | dir pwcvj
888 | 92240 qtrdjb.lwj
889 | 183588 twqfttnb.zft
890 | $ cd hhjsmw
891 | $ ls
892 | 147282 lmdtnsmr
893 | $ cd ..
894 | $ cd pwcvj
895 | $ ls
896 | dir pwcvj
897 | dir qncs
898 | $ cd pwcvj
899 | $ ls
900 | 173559 bbsd.mtl
901 | dir bjlcfcfq
902 | dir dhnpch
903 | 1035 fvspj.bnr
904 | 89588 mcwjg.zwr
905 | 104459 qrd
906 | dir sjzqb
907 | $ cd bjlcfcfq
908 | $ ls
909 | 14879 cdttjfw
910 | $ cd ..
911 | $ cd dhnpch
912 | $ ls
913 | 162094 lpv.gnt
914 | $ cd ..
915 | $ cd sjzqb
916 | $ ls
917 | 181343 qrd.grj
918 | $ cd ..
919 | $ cd ..
920 | $ cd qncs
921 | $ ls
922 | 53083 rdvjhjjr.bbt
923 | $ cd ..
924 | $ cd ..
925 | $ cd ..
926 | $ cd vbzs
927 | $ ls
928 | dir bjlcfcfq
929 | dir fvspj
930 | 68372 jbgpjfp.rgf
931 | dir lpv
932 | dir mrlb
933 | 275661 pwcvj
934 | 245928 pwcvj.vdn
935 | $ cd bjlcfcfq
936 | $ ls
937 | 98693 lfhvbqbr.dhb
938 | $ cd ..
939 | $ cd fvspj
940 | $ ls
941 | 49016 sbdt.jvr
942 | $ cd ..
943 | $ cd lpv
944 | $ ls
945 | 200303 gwdts
946 | 208633 hbnt
947 | 311252 lmdtnsmr
948 | dir pwcvj
949 | 142468 qrp.flq
950 | $ cd pwcvj
951 | $ ls
952 | 292769 mpnbhc.pjd
953 | $ cd ..
954 | $ cd ..
955 | $ cd mrlb
956 | $ ls
957 | 294408 btj.sdn
958 | $ cd ..
959 | $ cd ..
960 | $ cd ..
961 | $ cd qrd
962 | $ ls
963 | dir gmfgrfh
964 | dir hcmghq
965 | 189250 lpv.wpc
966 | $ cd gmfgrfh
967 | $ ls
968 | 236737 bbsd.mtl
969 | 237212 btj.sdn
970 | 288952 cllbb
971 | 217475 jnq.dzb
972 | 180241 tfhhncs
973 | $ cd ..
974 | $ cd hcmghq
975 | $ ls
976 | dir fgw
977 | 130490 lpv.gnr
978 | 292092 pwcvj.fjl
979 | $ cd fgw
980 | $ ls
981 | 11097 cllbb
982 | dir fvz
983 | dir qrtdvnvv
984 | $ cd fvz
985 | $ ls
986 | 216721 bjlcfcfq
987 | $ cd ..
988 | $ cd qrtdvnvv
989 | $ ls
990 | 179262 lhtsg.hrn
991 | $ cd ..
992 | $ cd ..
993 | $ cd ..
994 | $ cd ..
995 | $ cd zwqgg
996 | $ ls
997 | dir gqpfcv
998 | dir lpv
999 | dir qtgqnqh
1000 | $ cd gqpfcv
1001 | $ ls
1002 | dir mwzt
1003 | $ cd mwzt
1004 | $ ls
1005 | 302445 fvspj
1006 | $ cd ..
1007 | $ cd ..
1008 | $ cd lpv
1009 | $ ls
1010 | 38004 vrcbm.qtb
1011 | $ cd ..
1012 | $ cd qtgqnqh
1013 | $ ls
1014 | 175846 pwcvj.bpm
1015 |
--------------------------------------------------------------------------------
/aoc22/inputs/4.txt:
--------------------------------------------------------------------------------
1 | 71-97,71-72
2 | 60-97,20-95
3 | 20-59,58-59
4 | 24-83,3-82
5 | 48-96,33-47
6 | 49-49,10-50
7 | 48-86,6-85
8 | 71-72,27-72
9 | 46-83,29-84
10 | 10-52,1-53
11 | 38-84,37-39
12 | 48-48,39-48
13 | 42-87,43-96
14 | 1-99,78-98
15 | 23-39,1-38
16 | 30-30,13-30
17 | 8-37,7-38
18 | 13-85,57-84
19 | 1-97,2-98
20 | 7-99,6-98
21 | 14-99,13-91
22 | 2-87,8-88
23 | 51-66,66-66
24 | 66-98,97-98
25 | 41-73,84-85
26 | 37-95,36-94
27 | 4-22,11-38
28 | 25-90,25-50
29 | 50-97,51-89
30 | 10-86,9-86
31 | 78-93,56-77
32 | 56-84,56-79
33 | 43-48,43-49
34 | 43-96,98-98
35 | 66-76,59-68
36 | 12-15,11-59
37 | 3-85,12-84
38 | 50-74,50-75
39 | 1-7,2-6
40 | 10-11,11-58
41 | 15-96,16-99
42 | 20-87,23-88
43 | 39-79,39-78
44 | 96-98,7-97
45 | 14-74,13-14
46 | 3-99,98-99
47 | 43-47,43-62
48 | 79-83,75-84
49 | 10-13,15-15
50 | 8-91,8-9
51 | 68-74,47-97
52 | 74-88,75-79
53 | 48-97,49-97
54 | 58-96,58-98
55 | 28-60,61-73
56 | 3-99,28-87
57 | 89-90,91-91
58 | 10-40,4-10
59 | 2-97,1-97
60 | 22-24,22-24
61 | 75-76,55-76
62 | 42-83,42-82
63 | 35-95,25-95
64 | 10-27,9-11
65 | 12-83,13-37
66 | 37-97,36-38
67 | 3-30,4-30
68 | 31-51,31-32
69 | 26-28,27-46
70 | 44-46,45-90
71 | 19-82,27-77
72 | 44-92,43-85
73 | 22-54,5-53
74 | 6-98,4-99
75 | 4-4,4-40
76 | 30-99,30-31
77 | 59-59,60-90
78 | 21-95,19-94
79 | 22-43,21-67
80 | 69-72,72-72
81 | 70-94,71-93
82 | 13-15,13-14
83 | 23-90,22-89
84 | 93-94,4-94
85 | 1-21,3-20
86 | 4-68,5-69
87 | 27-29,28-95
88 | 47-47,47-48
89 | 26-54,25-55
90 | 16-81,80-80
91 | 31-33,32-60
92 | 25-82,26-51
93 | 16-73,72-72
94 | 95-95,33-95
95 | 12-72,13-43
96 | 36-95,35-36
97 | 19-94,9-43
98 | 7-7,5-15
99 | 9-96,9-99
100 | 9-91,8-8
101 | 46-62,34-85
102 | 83-84,31-84
103 | 52-56,46-63
104 | 44-85,59-86
105 | 43-70,43-70
106 | 21-38,39-78
107 | 58-58,6-57
108 | 1-99,99-99
109 | 12-90,40-89
110 | 34-67,35-73
111 | 15-97,14-96
112 | 46-98,46-96
113 | 52-70,42-77
114 | 4-23,3-23
115 | 55-82,81-83
116 | 48-84,25-83
117 | 31-92,92-98
118 | 6-93,5-98
119 | 14-39,15-38
120 | 17-58,17-18
121 | 7-16,24-94
122 | 16-71,85-97
123 | 1-95,16-86
124 | 32-60,57-68
125 | 74-96,55-97
126 | 36-95,97-97
127 | 76-78,27-77
128 | 47-84,59-75
129 | 15-37,4-16
130 | 1-97,1-98
131 | 27-78,28-77
132 | 97-98,10-94
133 | 37-97,97-97
134 | 89-89,4-90
135 | 21-28,21-94
136 | 41-90,4-41
137 | 1-93,93-96
138 | 99-99,6-99
139 | 11-13,12-95
140 | 16-22,4-22
141 | 7-89,90-90
142 | 4-58,19-79
143 | 9-84,68-84
144 | 80-85,34-84
145 | 1-70,71-84
146 | 64-74,74-74
147 | 58-80,58-70
148 | 7-59,7-8
149 | 17-19,9-17
150 | 22-34,34-84
151 | 66-76,66-66
152 | 97-99,17-95
153 | 47-97,39-45
154 | 35-36,35-88
155 | 9-79,41-80
156 | 10-11,10-41
157 | 4-14,15-90
158 | 95-96,1-96
159 | 36-92,69-93
160 | 1-7,8-84
161 | 32-39,32-39
162 | 8-94,7-9
163 | 34-50,7-52
164 | 71-94,71-96
165 | 2-47,1-95
166 | 4-5,8-93
167 | 34-66,21-65
168 | 26-95,26-97
169 | 60-82,59-61
170 | 39-96,39-98
171 | 15-22,22-50
172 | 12-82,13-13
173 | 15-63,62-62
174 | 1-99,2-55
175 | 11-26,16-91
176 | 24-76,76-77
177 | 3-6,7-92
178 | 62-93,61-92
179 | 33-83,32-84
180 | 4-99,2-2
181 | 11-21,22-98
182 | 45-46,45-64
183 | 26-30,21-35
184 | 78-99,29-77
185 | 55-73,5-91
186 | 3-4,14-98
187 | 3-93,92-92
188 | 51-77,77-77
189 | 7-90,90-90
190 | 4-67,4-68
191 | 10-95,10-96
192 | 79-89,80-83
193 | 3-86,17-87
194 | 32-77,32-78
195 | 31-72,10-25
196 | 48-50,2-53
197 | 29-58,28-59
198 | 75-77,15-76
199 | 2-76,1-75
200 | 15-15,14-63
201 | 75-85,76-96
202 | 42-97,15-28
203 | 20-98,97-98
204 | 21-64,21-64
205 | 11-95,95-96
206 | 68-96,69-79
207 | 5-89,6-90
208 | 38-72,73-90
209 | 43-97,42-98
210 | 67-83,74-84
211 | 69-87,69-87
212 | 10-12,11-60
213 | 12-67,11-85
214 | 1-3,6-88
215 | 8-80,17-81
216 | 3-47,2-58
217 | 74-74,37-75
218 | 47-99,47-48
219 | 21-78,6-51
220 | 86-87,16-87
221 | 3-86,87-87
222 | 92-96,17-91
223 | 54-85,54-87
224 | 23-24,23-87
225 | 62-91,62-92
226 | 14-49,14-50
227 | 29-93,94-97
228 | 2-3,2-91
229 | 53-57,57-57
230 | 15-44,43-44
231 | 1-37,2-37
232 | 8-19,23-24
233 | 19-20,6-20
234 | 1-7,6-46
235 | 3-26,1-77
236 | 3-6,3-47
237 | 30-80,96-96
238 | 23-70,69-69
239 | 51-52,52-89
240 | 42-82,83-89
241 | 86-97,13-86
242 | 16-45,1-1
243 | 14-77,4-13
244 | 15-81,81-81
245 | 87-87,30-88
246 | 89-89,30-88
247 | 21-22,21-95
248 | 90-94,23-89
249 | 67-67,1-66
250 | 19-99,43-99
251 | 2-97,5-98
252 | 6-78,6-62
253 | 8-9,8-9
254 | 1-13,1-9
255 | 91-95,92-95
256 | 68-86,69-96
257 | 4-26,25-68
258 | 17-96,18-96
259 | 65-65,64-65
260 | 2-99,3-98
261 | 24-97,25-68
262 | 36-57,7-35
263 | 52-89,87-88
264 | 3-96,3-3
265 | 2-34,2-18
266 | 82-96,82-98
267 | 29-30,4-30
268 | 32-73,31-73
269 | 72-98,99-99
270 | 12-32,11-57
271 | 11-86,7-9
272 | 81-82,5-82
273 | 8-94,93-94
274 | 45-68,57-61
275 | 49-50,24-50
276 | 8-78,44-91
277 | 28-29,29-98
278 | 50-82,4-48
279 | 71-71,20-70
280 | 6-17,23-58
281 | 61-73,23-70
282 | 74-90,36-95
283 | 6-14,9-12
284 | 16-78,2-9
285 | 2-92,2-90
286 | 32-40,39-41
287 | 69-69,44-69
288 | 22-59,21-50
289 | 30-66,30-67
290 | 17-97,54-98
291 | 89-97,84-96
292 | 11-93,11-96
293 | 55-80,80-84
294 | 59-87,59-95
295 | 4-81,9-80
296 | 4-96,1-95
297 | 21-95,21-94
298 | 7-40,39-40
299 | 5-98,5-92
300 | 30-32,31-53
301 | 10-88,11-88
302 | 5-36,36-36
303 | 97-98,16-98
304 | 12-83,10-13
305 | 19-68,20-67
306 | 42-42,11-42
307 | 9-11,10-67
308 | 10-88,9-10
309 | 12-70,12-13
310 | 30-69,37-66
311 | 1-95,2-6
312 | 97-98,12-98
313 | 40-46,41-47
314 | 28-91,29-73
315 | 1-5,6-82
316 | 82-92,4-82
317 | 10-91,11-92
318 | 21-93,92-92
319 | 14-58,57-58
320 | 8-79,7-9
321 | 27-94,26-27
322 | 13-22,23-99
323 | 11-11,17-64
324 | 19-71,18-88
325 | 1-13,1-3
326 | 50-68,49-67
327 | 13-14,13-37
328 | 40-90,40-61
329 | 21-95,22-95
330 | 38-39,38-46
331 | 44-95,64-81
332 | 56-57,2-57
333 | 64-85,7-63
334 | 4-99,3-99
335 | 32-90,90-98
336 | 43-63,42-44
337 | 58-58,43-57
338 | 79-80,27-78
339 | 27-72,1-26
340 | 89-91,39-90
341 | 31-43,43-43
342 | 71-90,71-90
343 | 13-95,14-96
344 | 17-77,77-77
345 | 60-62,59-65
346 | 33-35,7-50
347 | 2-8,5-5
348 | 24-61,24-25
349 | 6-74,73-73
350 | 18-18,20-94
351 | 29-54,41-55
352 | 4-43,5-43
353 | 39-69,43-70
354 | 47-48,47-79
355 | 5-6,6-85
356 | 12-12,12-12
357 | 12-91,12-90
358 | 44-64,66-69
359 | 47-58,46-58
360 | 60-99,79-99
361 | 56-86,86-86
362 | 8-98,1-7
363 | 59-59,10-58
364 | 19-41,42-97
365 | 76-94,6-95
366 | 20-69,68-99
367 | 36-63,35-36
368 | 2-15,3-14
369 | 16-28,15-17
370 | 75-92,40-71
371 | 4-61,11-62
372 | 14-66,14-15
373 | 6-70,29-69
374 | 95-96,9-96
375 | 68-89,68-69
376 | 2-75,1-74
377 | 97-97,12-97
378 | 58-86,22-87
379 | 3-4,3-97
380 | 21-68,49-69
381 | 88-88,32-87
382 | 45-93,46-89
383 | 12-92,12-93
384 | 51-75,71-71
385 | 24-29,28-29
386 | 5-6,5-71
387 | 33-34,33-80
388 | 55-94,94-94
389 | 50-64,50-63
390 | 55-92,82-86
391 | 32-34,33-47
392 | 9-13,12-78
393 | 5-99,35-57
394 | 25-53,6-24
395 | 7-85,6-96
396 | 27-72,15-73
397 | 61-74,36-95
398 | 27-62,59-61
399 | 4-82,4-86
400 | 23-79,24-26
401 | 24-43,17-44
402 | 43-74,42-44
403 | 39-84,38-99
404 | 55-85,54-57
405 | 2-78,1-3
406 | 20-71,19-46
407 | 25-38,25-26
408 | 49-77,49-76
409 | 1-2,1-68
410 | 12-21,11-65
411 | 17-82,17-56
412 | 8-92,14-93
413 | 1-52,4-51
414 | 78-78,2-70
415 | 9-42,8-41
416 | 33-64,32-67
417 | 22-68,22-61
418 | 7-82,4-8
419 | 24-42,36-37
420 | 96-96,30-95
421 | 68-68,14-67
422 | 13-78,78-78
423 | 39-70,17-38
424 | 62-93,63-93
425 | 19-64,19-64
426 | 15-83,16-44
427 | 33-34,34-49
428 | 2-65,58-64
429 | 5-53,4-84
430 | 53-54,53-74
431 | 3-58,1-65
432 | 2-5,9-15
433 | 3-39,21-40
434 | 54-57,54-56
435 | 25-62,25-61
436 | 12-94,10-10
437 | 74-75,74-89
438 | 14-85,13-29
439 | 4-76,3-88
440 | 5-55,4-55
441 | 55-93,54-93
442 | 13-48,9-12
443 | 23-56,23-24
444 | 32-71,32-40
445 | 23-94,22-24
446 | 1-99,98-98
447 | 22-75,31-44
448 | 7-96,7-97
449 | 11-12,14-34
450 | 4-98,3-5
451 | 58-94,59-94
452 | 13-70,13-88
453 | 38-40,20-39
454 | 2-88,58-87
455 | 35-81,4-81
456 | 31-82,81-81
457 | 24-93,8-25
458 | 19-96,95-98
459 | 18-64,19-65
460 | 22-40,31-39
461 | 43-75,81-82
462 | 16-27,1-28
463 | 7-28,6-28
464 | 71-79,71-72
465 | 1-99,11-98
466 | 11-12,11-97
467 | 2-75,3-76
468 | 21-79,80-91
469 | 5-49,5-6
470 | 54-55,16-55
471 | 12-97,12-96
472 | 42-83,73-82
473 | 61-84,83-84
474 | 33-82,83-83
475 | 42-85,43-86
476 | 27-71,26-71
477 | 39-39,8-38
478 | 20-25,17-24
479 | 98-99,15-96
480 | 4-92,4-92
481 | 34-82,34-99
482 | 39-43,9-44
483 | 17-29,30-91
484 | 1-98,97-98
485 | 25-92,24-92
486 | 44-68,45-67
487 | 7-22,7-62
488 | 56-95,97-99
489 | 41-79,41-42
490 | 48-89,48-96
491 | 46-96,95-97
492 | 18-88,18-19
493 | 86-87,9-87
494 | 1-1,1-97
495 | 91-97,65-92
496 | 15-80,15-26
497 | 46-98,60-82
498 | 45-70,44-46
499 | 16-83,16-83
500 | 37-55,54-60
501 | 7-57,8-16
502 | 9-27,70-88
503 | 8-72,7-28
504 | 90-91,17-83
505 | 2-64,3-93
506 | 21-46,10-38
507 | 33-88,33-89
508 | 89-90,87-90
509 | 58-59,57-61
510 | 26-94,25-93
511 | 35-48,35-70
512 | 4-75,5-75
513 | 19-22,18-31
514 | 4-94,4-98
515 | 11-74,20-75
516 | 40-67,17-36
517 | 21-22,21-96
518 | 7-43,22-35
519 | 21-89,88-89
520 | 3-44,44-45
521 | 41-62,41-42
522 | 34-60,37-59
523 | 14-69,13-15
524 | 28-76,22-22
525 | 12-51,35-52
526 | 13-98,59-70
527 | 62-91,62-96
528 | 7-88,87-89
529 | 31-32,31-47
530 | 4-99,5-99
531 | 6-9,10-54
532 | 16-33,33-33
533 | 5-97,4-98
534 | 10-52,52-56
535 | 7-8,5-9
536 | 39-66,39-46
537 | 10-45,10-45
538 | 37-89,37-92
539 | 30-31,30-90
540 | 49-82,25-48
541 | 59-71,61-66
542 | 73-87,19-72
543 | 14-97,14-97
544 | 4-63,62-84
545 | 3-97,2-4
546 | 7-64,8-65
547 | 15-16,15-96
548 | 19-66,20-60
549 | 19-35,34-47
550 | 10-10,9-59
551 | 7-9,8-9
552 | 62-99,62-80
553 | 7-92,7-88
554 | 11-42,41-41
555 | 2-2,2-70
556 | 2-68,69-69
557 | 41-81,41-82
558 | 67-96,99-99
559 | 91-93,45-86
560 | 5-87,86-91
561 | 9-13,1-4
562 | 1-97,98-98
563 | 5-27,5-26
564 | 68-86,68-68
565 | 30-40,31-40
566 | 40-81,81-92
567 | 1-91,3-63
568 | 11-96,37-84
569 | 18-61,14-17
570 | 12-75,15-82
571 | 31-52,23-53
572 | 2-74,6-82
573 | 94-95,10-95
574 | 54-54,50-53
575 | 37-68,37-50
576 | 27-75,26-76
577 | 9-30,8-10
578 | 46-74,68-68
579 | 26-39,18-50
580 | 44-45,39-39
581 | 96-97,67-95
582 | 30-90,75-89
583 | 30-85,6-86
584 | 90-92,58-91
585 | 33-36,32-36
586 | 65-96,65-66
587 | 35-69,59-63
588 | 27-47,26-27
589 | 16-86,74-90
590 | 46-78,78-79
591 | 22-85,22-86
592 | 95-95,14-94
593 | 58-59,17-59
594 | 33-58,33-72
595 | 75-75,41-75
596 | 15-35,36-49
597 | 20-90,27-91
598 | 8-69,9-70
599 | 64-99,65-84
600 | 5-80,1-80
601 | 1-2,2-99
602 | 23-32,28-29
603 | 54-56,53-61
604 | 13-56,55-56
605 | 86-87,5-67
606 | 6-88,6-72
607 | 26-95,26-96
608 | 75-85,4-75
609 | 1-44,1-44
610 | 4-7,20-50
611 | 5-96,99-99
612 | 19-69,18-69
613 | 38-91,92-98
614 | 99-99,17-97
615 | 11-22,10-27
616 | 14-76,12-97
617 | 3-54,2-53
618 | 46-81,82-91
619 | 14-15,33-99
620 | 34-35,17-35
621 | 5-79,2-63
622 | 10-57,9-74
623 | 16-38,39-89
624 | 83-86,30-82
625 | 9-72,8-35
626 | 10-70,69-70
627 | 51-86,81-91
628 | 4-72,4-71
629 | 31-91,20-28
630 | 33-98,30-32
631 | 27-87,86-87
632 | 45-45,47-88
633 | 5-57,5-47
634 | 16-90,15-89
635 | 21-99,18-85
636 | 2-34,33-68
637 | 44-58,35-57
638 | 8-65,8-66
639 | 15-39,16-40
640 | 47-67,3-48
641 | 18-84,19-84
642 | 4-98,99-99
643 | 34-77,34-76
644 | 50-50,50-63
645 | 98-99,2-99
646 | 41-95,41-42
647 | 34-48,35-48
648 | 85-94,95-96
649 | 13-38,22-38
650 | 81-82,18-81
651 | 8-86,22-86
652 | 62-97,34-70
653 | 26-73,25-73
654 | 53-58,35-53
655 | 58-80,79-81
656 | 14-41,7-13
657 | 2-21,4-22
658 | 12-98,11-97
659 | 7-73,6-73
660 | 1-94,1-96
661 | 26-82,25-27
662 | 23-76,45-77
663 | 7-78,7-78
664 | 29-72,72-72
665 | 7-8,7-37
666 | 12-24,13-25
667 | 88-91,32-89
668 | 17-76,16-23
669 | 23-40,2-14
670 | 99-99,15-88
671 | 8-85,2-86
672 | 10-89,18-90
673 | 8-97,7-93
674 | 8-98,8-97
675 | 2-12,3-63
676 | 90-90,4-90
677 | 7-23,15-22
678 | 50-96,9-26
679 | 10-80,4-9
680 | 1-85,84-85
681 | 20-22,21-70
682 | 20-83,4-21
683 | 8-32,7-33
684 | 25-45,34-46
685 | 5-34,34-97
686 | 19-91,90-91
687 | 16-96,78-95
688 | 9-64,10-63
689 | 7-8,8-55
690 | 32-50,2-31
691 | 4-16,16-16
692 | 8-99,44-97
693 | 48-73,58-74
694 | 50-80,49-49
695 | 57-58,29-58
696 | 72-76,72-74
697 | 59-75,75-85
698 | 19-98,34-97
699 | 7-94,99-99
700 | 2-95,3-95
701 | 61-78,61-79
702 | 96-98,13-97
703 | 27-82,50-90
704 | 98-99,4-99
705 | 2-95,1-88
706 | 5-66,3-70
707 | 13-26,23-42
708 | 25-55,24-55
709 | 56-56,56-56
710 | 50-98,97-97
711 | 33-85,3-32
712 | 6-45,46-64
713 | 6-57,59-88
714 | 64-72,64-65
715 | 30-92,30-92
716 | 5-46,1-5
717 | 5-89,4-70
718 | 16-69,16-68
719 | 4-88,4-81
720 | 4-94,3-93
721 | 44-47,44-46
722 | 21-38,21-46
723 | 81-86,80-86
724 | 41-96,64-87
725 | 37-73,37-73
726 | 15-75,1-99
727 | 2-36,2-35
728 | 3-94,1-2
729 | 3-87,87-88
730 | 9-9,7-9
731 | 12-97,96-98
732 | 42-89,88-89
733 | 29-85,30-50
734 | 3-4,3-94
735 | 57-92,58-93
736 | 16-95,2-8
737 | 1-98,10-90
738 | 31-65,31-72
739 | 5-87,4-5
740 | 40-45,46-75
741 | 88-95,46-98
742 | 26-87,8-17
743 | 24-27,23-27
744 | 12-99,12-97
745 | 5-99,6-99
746 | 68-77,31-42
747 | 68-91,68-87
748 | 35-35,5-35
749 | 2-66,2-3
750 | 20-32,20-33
751 | 8-88,6-88
752 | 8-82,9-81
753 | 10-97,11-97
754 | 12-59,13-59
755 | 17-32,23-63
756 | 14-15,15-19
757 | 99-99,21-89
758 | 94-99,36-93
759 | 60-65,43-67
760 | 8-97,9-58
761 | 10-52,27-32
762 | 85-91,84-90
763 | 34-88,5-87
764 | 18-43,15-17
765 | 4-99,3-99
766 | 2-97,18-79
767 | 16-56,40-84
768 | 5-5,7-91
769 | 11-97,11-99
770 | 76-77,77-77
771 | 11-90,94-97
772 | 22-23,1-23
773 | 6-43,5-99
774 | 7-85,84-85
775 | 11-12,12-92
776 | 8-89,6-75
777 | 44-64,45-63
778 | 51-95,8-29
779 | 21-54,20-77
780 | 20-87,20-84
781 | 11-25,24-24
782 | 52-54,52-55
783 | 15-16,19-66
784 | 54-91,13-53
785 | 35-98,35-41
786 | 47-48,6-48
787 | 83-89,82-83
788 | 27-83,26-28
789 | 38-92,93-96
790 | 51-76,51-63
791 | 1-3,7-13
792 | 10-96,11-47
793 | 58-98,2-95
794 | 69-69,61-73
795 | 4-89,2-3
796 | 7-58,3-15
797 | 76-93,8-94
798 | 5-20,4-19
799 | 16-23,16-17
800 | 30-85,31-85
801 | 16-70,15-16
802 | 67-67,52-68
803 | 30-99,29-31
804 | 49-71,55-70
805 | 32-94,94-94
806 | 82-93,24-83
807 | 31-94,32-40
808 | 62-79,62-80
809 | 9-84,9-9
810 | 8-97,1-97
811 | 36-37,36-51
812 | 76-77,53-77
813 | 47-49,17-48
814 | 73-75,55-77
815 | 50-85,51-86
816 | 63-63,53-62
817 | 5-15,5-5
818 | 19-99,19-90
819 | 2-63,2-22
820 | 21-75,22-22
821 | 18-97,19-69
822 | 79-92,11-91
823 | 13-23,23-23
824 | 4-94,3-3
825 | 6-82,19-83
826 | 34-50,35-37
827 | 15-99,15-96
828 | 5-58,4-57
829 | 19-56,46-93
830 | 11-73,12-78
831 | 37-42,26-41
832 | 53-65,30-39
833 | 46-47,45-47
834 | 56-99,55-97
835 | 82-86,44-83
836 | 49-55,37-48
837 | 3-96,96-96
838 | 46-52,45-52
839 | 2-36,9-37
840 | 99-99,1-99
841 | 11-70,18-91
842 | 60-75,74-75
843 | 6-97,6-96
844 | 33-66,4-95
845 | 15-58,34-59
846 | 19-86,18-19
847 | 25-43,30-81
848 | 11-66,10-65
849 | 2-49,1-99
850 | 55-77,76-78
851 | 61-87,75-79
852 | 3-93,2-92
853 | 2-2,5-56
854 | 5-99,9-98
855 | 34-46,46-84
856 | 35-36,35-86
857 | 15-17,16-43
858 | 46-51,50-55
859 | 8-8,7-17
860 | 5-98,4-87
861 | 44-58,43-58
862 | 5-41,5-42
863 | 6-27,10-16
864 | 78-78,40-79
865 | 17-88,29-87
866 | 12-69,12-69
867 | 26-78,26-58
868 | 77-95,95-95
869 | 42-49,46-48
870 | 19-69,19-97
871 | 33-77,76-76
872 | 47-49,48-76
873 | 3-99,3-4
874 | 7-34,33-34
875 | 61-91,92-99
876 | 67-83,9-83
877 | 10-91,90-91
878 | 42-83,42-43
879 | 29-31,35-90
880 | 8-80,8-74
881 | 8-95,8-99
882 | 7-80,5-8
883 | 5-12,11-12
884 | 8-89,7-93
885 | 42-93,42-94
886 | 29-85,28-84
887 | 72-72,72-90
888 | 59-77,77-77
889 | 96-99,23-97
890 | 16-30,30-84
891 | 8-69,8-68
892 | 2-98,2-98
893 | 44-98,43-98
894 | 5-6,5-98
895 | 9-90,11-51
896 | 1-3,2-98
897 | 15-69,55-70
898 | 6-94,6-94
899 | 88-89,21-89
900 | 62-79,78-78
901 | 2-71,47-72
902 | 53-61,22-60
903 | 93-97,10-92
904 | 64-64,65-70
905 | 10-10,6-13
906 | 21-78,81-95
907 | 88-94,2-88
908 | 13-62,13-14
909 | 67-67,58-67
910 | 33-38,13-39
911 | 40-51,4-39
912 | 18-86,86-92
913 | 10-97,10-97
914 | 5-13,10-40
915 | 4-94,3-5
916 | 11-71,10-12
917 | 27-31,25-27
918 | 6-95,4-4
919 | 5-99,14-98
920 | 12-71,57-72
921 | 39-76,39-76
922 | 57-76,48-81
923 | 20-64,20-94
924 | 25-25,24-26
925 | 14-74,8-13
926 | 5-92,5-91
927 | 1-96,1-96
928 | 8-51,4-56
929 | 5-95,15-96
930 | 24-80,30-45
931 | 31-98,31-94
932 | 1-33,33-56
933 | 38-54,23-39
934 | 61-83,43-77
935 | 30-38,13-37
936 | 10-71,10-11
937 | 41-59,42-60
938 | 4-49,5-50
939 | 14-14,2-85
940 | 4-7,1-2
941 | 91-92,3-91
942 | 3-78,23-77
943 | 13-74,85-96
944 | 53-86,14-33
945 | 67-95,66-94
946 | 12-13,12-93
947 | 4-99,3-47
948 | 19-86,20-85
949 | 5-98,5-90
950 | 3-89,3-90
951 | 66-67,63-67
952 | 55-72,14-71
953 | 4-5,5-80
954 | 17-94,16-94
955 | 18-71,36-70
956 | 45-49,44-49
957 | 27-90,27-82
958 | 15-31,15-30
959 | 8-57,28-98
960 | 1-41,1-42
961 | 19-20,19-41
962 | 15-92,91-92
963 | 37-73,10-36
964 | 26-63,63-71
965 | 27-30,28-81
966 | 22-87,22-23
967 | 56-56,1-56
968 | 59-89,27-58
969 | 88-89,56-87
970 | 32-39,32-66
971 | 96-96,2-97
972 | 25-56,24-56
973 | 3-94,4-95
974 | 20-93,5-92
975 | 16-70,42-71
976 | 4-89,8-90
977 | 20-83,20-82
978 | 31-88,30-88
979 | 73-73,3-72
980 | 11-97,9-99
981 | 3-23,22-52
982 | 21-96,20-83
983 | 4-65,5-21
984 | 37-37,8-37
985 | 4-95,2-4
986 | 10-71,11-73
987 | 35-81,36-81
988 | 1-5,6-79
989 | 28-39,27-39
990 | 2-92,1-85
991 | 12-97,62-96
992 | 20-91,21-91
993 | 88-98,3-70
994 | 20-66,74-76
995 | 84-99,47-84
996 | 17-95,18-93
997 | 57-78,49-78
998 | 15-17,16-81
999 | 51-84,41-54
1000 | 49-74,22-92
1001 |
--------------------------------------------------------------------------------
/aoc22/inputs/1.txt:
--------------------------------------------------------------------------------
1 | 5800
2 | 2273
3 | 1315
4 | 5801
5 | 6352
6 | 2649
7 | 4140
8 | 2115
9 | 5298
10 | 4441
11 | 4428
12 | 3773
13 | 1076
14 |
15 | 8063
16 | 10386
17 | 5705
18 | 8397
19 | 1084
20 | 7661
21 |
22 | 3661
23 | 5756
24 | 3231
25 | 5162
26 | 4930
27 | 4675
28 | 1113
29 | 6795
30 | 6415
31 | 1144
32 | 2900
33 | 5147
34 | 2966
35 |
36 | 35187
37 |
38 | 12434
39 | 2038
40 | 12435
41 | 8757
42 | 6976
43 | 4532
44 |
45 | 4642
46 | 4431
47 | 5126
48 | 4672
49 | 1724
50 | 3012
51 |
52 | 3801
53 | 6564
54 | 5401
55 | 3913
56 | 3090
57 | 1484
58 | 6227
59 | 1283
60 | 2501
61 | 4601
62 | 5860
63 | 7036
64 |
65 | 19257
66 | 31867
67 |
68 | 4292
69 | 4518
70 | 1298
71 | 13147
72 | 7463
73 |
74 | 6784
75 | 1065
76 | 4015
77 | 3154
78 | 6429
79 | 5067
80 | 6535
81 | 5731
82 | 1270
83 | 5870
84 | 4934
85 | 2800
86 |
87 | 5227
88 | 6294
89 | 6733
90 | 5177
91 | 2773
92 | 6553
93 | 3219
94 | 1446
95 | 7005
96 | 6036
97 | 6872
98 |
99 | 1721
100 | 4408
101 | 5577
102 | 2799
103 | 2257
104 | 3149
105 | 2389
106 | 3713
107 | 5588
108 | 2324
109 | 4595
110 | 6018
111 | 4926
112 |
113 | 1233
114 | 4799
115 | 3380
116 | 1975
117 | 1924
118 | 1578
119 | 2338
120 | 1546
121 | 3708
122 | 4020
123 | 5872
124 | 2519
125 | 5334
126 | 4416
127 |
128 | 18103
129 | 1692
130 | 10497
131 | 6786
132 |
133 | 4837
134 | 12315
135 | 6510
136 | 9221
137 | 10023
138 | 5698
139 |
140 | 9781
141 | 18818
142 | 19784
143 | 5100
144 |
145 | 7596
146 | 14668
147 | 18708
148 |
149 | 1932
150 | 18024
151 | 6361
152 |
153 | 7302
154 | 5163
155 | 9039
156 | 4774
157 | 8726
158 | 6538
159 | 2054
160 | 7238
161 | 4233
162 |
163 | 3375
164 | 6049
165 | 4925
166 | 7129
167 | 6075
168 | 1262
169 | 3836
170 | 5878
171 | 3292
172 | 1316
173 | 3924
174 | 3530
175 |
176 | 8653
177 | 21172
178 | 18837
179 |
180 | 8052
181 | 1672
182 | 2962
183 | 3270
184 | 8160
185 | 3033
186 | 2004
187 | 7774
188 | 8182
189 | 3047
190 |
191 | 7917
192 | 2458
193 | 1040
194 | 7210
195 | 7742
196 | 4296
197 | 2861
198 | 9324
199 | 5721
200 |
201 | 17851
202 | 11236
203 | 7107
204 |
205 | 6962
206 | 4498
207 | 10042
208 | 4539
209 | 10759
210 | 8378
211 | 5781
212 |
213 | 7156
214 | 10063
215 | 5329
216 | 2449
217 | 4749
218 | 6498
219 | 6493
220 | 1924
221 |
222 | 2161
223 | 1309
224 | 1770
225 | 3195
226 | 1581
227 | 1194
228 | 1455
229 | 1350
230 | 5298
231 | 5290
232 | 1872
233 | 2155
234 | 3060
235 | 1514
236 | 1872
237 |
238 | 9664
239 | 14392
240 | 10201
241 | 12693
242 | 8817
243 |
244 | 4960
245 | 2281
246 | 6321
247 | 4953
248 | 1439
249 | 1372
250 | 5253
251 | 2338
252 | 2516
253 | 6332
254 | 2760
255 | 6702
256 | 2354
257 |
258 | 1341
259 | 1489
260 | 7110
261 | 2267
262 | 6809
263 | 4198
264 | 1137
265 | 2526
266 | 2087
267 | 3885
268 | 4952
269 | 3056
270 |
271 | 6561
272 | 1313
273 | 6624
274 |
275 | 11571
276 | 3452
277 | 15300
278 | 1518
279 | 14811
280 |
281 | 3421
282 | 5270
283 | 1676
284 | 6712
285 | 6231
286 | 6617
287 | 6775
288 | 5428
289 | 3497
290 | 5598
291 | 3723
292 |
293 | 7879
294 | 7984
295 | 2678
296 | 5770
297 | 4217
298 | 5323
299 | 3708
300 | 2799
301 | 5466
302 |
303 | 2895
304 | 3934
305 | 4468
306 | 6864
307 | 4531
308 | 5622
309 | 3281
310 | 6518
311 | 4313
312 | 5273
313 | 3945
314 | 5378
315 | 2585
316 |
317 | 3486
318 | 6101
319 | 1036
320 | 1079
321 | 3380
322 | 4542
323 | 3617
324 | 4279
325 | 2397
326 | 2172
327 | 3711
328 | 6251
329 | 1219
330 | 6320
331 |
332 | 6785
333 | 4840
334 | 4314
335 | 3647
336 | 4660
337 | 5968
338 | 1932
339 | 3144
340 | 2131
341 | 6556
342 | 5107
343 | 2018
344 | 4441
345 |
346 | 2958
347 | 2812
348 | 1812
349 | 4047
350 | 4055
351 | 11311
352 | 7254
353 |
354 | 2563
355 | 1559
356 | 6369
357 | 4595
358 | 3617
359 | 1979
360 | 1988
361 | 1648
362 | 2520
363 | 5216
364 | 6227
365 | 6239
366 | 6469
367 | 3824
368 |
369 | 4417
370 | 5913
371 | 2444
372 | 6808
373 | 4742
374 | 2422
375 | 5153
376 | 6707
377 | 6968
378 | 6663
379 | 2355
380 |
381 | 9949
382 | 19801
383 | 14001
384 | 15160
385 |
386 | 1166
387 | 12942
388 | 15632
389 | 3266
390 | 16053
391 |
392 | 7820
393 | 7480
394 | 1377
395 | 4492
396 | 5371
397 | 1411
398 | 2455
399 | 8883
400 |
401 | 17669
402 | 8092
403 |
404 | 8706
405 | 7270
406 | 2362
407 | 3278
408 | 7920
409 | 6014
410 | 2647
411 | 1328
412 | 6135
413 | 4121
414 |
415 | 1300
416 | 5806
417 | 9993
418 | 5891
419 | 1588
420 | 11239
421 | 10363
422 |
423 | 6375
424 | 2494
425 | 2291
426 | 5069
427 | 2878
428 | 4995
429 | 3716
430 | 7152
431 | 2761
432 |
433 | 6224
434 | 1559
435 | 2918
436 | 8131
437 | 7509
438 | 5718
439 | 3661
440 | 3544
441 | 1823
442 | 7656
443 |
444 | 16526
445 | 11469
446 | 1419
447 |
448 | 53687
449 |
450 | 2857
451 | 2808
452 | 4648
453 | 8455
454 | 9957
455 | 3914
456 |
457 | 7762
458 | 5994
459 | 6047
460 | 8806
461 | 5176
462 | 7275
463 | 4551
464 | 4066
465 |
466 | 5763
467 | 3134
468 | 1326
469 | 1673
470 | 1473
471 | 3568
472 | 3500
473 | 3148
474 | 6480
475 | 6968
476 | 5409
477 |
478 | 3964
479 | 30423
480 |
481 | 4429
482 | 15272
483 | 5536
484 | 17259
485 |
486 | 12059
487 | 2888
488 | 23495
489 |
490 | 6809
491 | 1963
492 | 3840
493 | 3427
494 | 4613
495 | 3621
496 | 6088
497 | 1689
498 | 7164
499 | 1066
500 | 2414
501 | 1709
502 |
503 | 3278
504 | 10853
505 | 4541
506 | 8619
507 | 8481
508 | 5872
509 |
510 | 12075
511 | 14580
512 |
513 | 7950
514 | 6716
515 | 2477
516 | 3646
517 | 5451
518 | 4247
519 | 5960
520 | 1059
521 | 1421
522 | 5363
523 | 2927
524 |
525 | 6077
526 | 3404
527 | 5644
528 | 3187
529 | 8654
530 | 2732
531 | 6190
532 | 2191
533 | 3446
534 |
535 | 13528
536 | 10960
537 | 12280
538 |
539 | 35272
540 | 23802
541 |
542 | 2178
543 | 2098
544 | 2920
545 | 4938
546 | 6504
547 | 1060
548 | 4419
549 | 4813
550 | 5278
551 | 2795
552 | 3169
553 | 3632
554 | 2780
555 | 5275
556 |
557 | 4649
558 | 1930
559 | 1983
560 | 3098
561 | 4015
562 | 2875
563 | 2805
564 | 5216
565 | 3560
566 | 5647
567 | 2568
568 | 5779
569 | 6049
570 |
571 | 27045
572 | 16939
573 |
574 | 10445
575 | 10797
576 | 10108
577 | 2466
578 | 2246
579 | 5724
580 | 7331
581 |
582 | 4442
583 | 7590
584 | 1569
585 | 7171
586 | 2642
587 | 2514
588 | 3817
589 | 9721
590 |
591 | 8791
592 | 7994
593 | 2284
594 | 2030
595 | 8332
596 | 6368
597 | 4957
598 | 7785
599 | 1048
600 | 4729
601 |
602 | 9724
603 | 7501
604 | 5505
605 | 9879
606 | 9365
607 | 9333
608 | 4116
609 | 8176
610 |
611 | 9566
612 | 3327
613 | 7777
614 | 11637
615 | 2558
616 |
617 | 33212
618 |
619 | 3528
620 | 6544
621 | 1465
622 | 6135
623 | 6022
624 | 2179
625 | 5929
626 | 3589
627 | 5116
628 |
629 | 1295
630 | 20019
631 | 23243
632 |
633 | 10512
634 | 14094
635 | 8100
636 | 10837
637 | 1990
638 |
639 | 8004
640 | 5887
641 | 5776
642 | 3619
643 | 5955
644 | 1823
645 | 3549
646 | 1608
647 | 5574
648 | 2536
649 |
650 | 21105
651 |
652 | 1121
653 | 3374
654 | 6887
655 | 7477
656 | 1559
657 | 8129
658 | 2568
659 | 2267
660 | 4276
661 | 5654
662 |
663 | 13156
664 | 11437
665 | 2579
666 | 13990
667 | 4857
668 |
669 | 4870
670 | 5826
671 | 5900
672 | 2870
673 | 4855
674 | 5032
675 | 4549
676 | 3334
677 | 4392
678 | 6687
679 | 1419
680 | 2931
681 | 5741
682 |
683 | 3388
684 | 1796
685 | 3472
686 | 1643
687 | 1332
688 | 2683
689 | 4063
690 | 3896
691 | 5532
692 | 4179
693 | 3293
694 | 2287
695 |
696 | 3917
697 | 4479
698 | 4607
699 | 3161
700 | 1568
701 | 5766
702 | 1114
703 | 5629
704 | 4985
705 | 4126
706 | 6032
707 | 5801
708 | 4563
709 | 4102
710 | 5414
711 |
712 | 1680
713 | 7168
714 | 4035
715 | 7272
716 | 1069
717 | 5464
718 | 3362
719 | 8014
720 | 6102
721 | 3438
722 |
723 | 12897
724 | 4134
725 | 5080
726 | 5112
727 | 1382
728 | 8072
729 |
730 | 6459
731 | 1052
732 | 7860
733 | 6344
734 | 11275
735 | 7862
736 |
737 | 7127
738 | 5350
739 | 4677
740 | 6080
741 | 7389
742 | 6254
743 | 1762
744 | 3744
745 |
746 | 2309
747 | 9952
748 | 1649
749 | 3813
750 | 10728
751 | 9047
752 | 10324
753 | 7166
754 |
755 | 10873
756 | 3572
757 | 12788
758 | 4164
759 |
760 | 4454
761 | 4712
762 | 3474
763 | 2168
764 | 5914
765 | 2979
766 | 4481
767 | 3906
768 | 1923
769 | 3666
770 | 1563
771 | 4974
772 | 2768
773 | 3148
774 | 4075
775 |
776 | 8824
777 | 14894
778 | 10182
779 |
780 | 27925
781 | 27484
782 |
783 | 10626
784 | 19944
785 | 5603
786 | 2536
787 |
788 | 6931
789 | 14574
790 | 6857
791 | 2887
792 | 4086
793 |
794 | 18693
795 | 15550
796 | 9475
797 | 16434
798 |
799 | 6759
800 | 6343
801 | 4255
802 | 3838
803 | 6209
804 | 3314
805 | 2508
806 | 3168
807 | 4738
808 | 4613
809 | 1326
810 | 5034
811 | 1437
812 |
813 | 1822
814 | 10438
815 | 9137
816 | 7846
817 | 8451
818 | 9397
819 | 7729
820 |
821 | 2326
822 | 3628
823 | 5120
824 | 2662
825 | 3814
826 | 3761
827 | 1462
828 | 1878
829 | 6003
830 | 2927
831 | 1345
832 | 2849
833 | 6064
834 | 5540
835 | 2435
836 |
837 | 3680
838 | 3813
839 | 4824
840 | 5499
841 | 9998
842 | 2233
843 | 9012
844 |
845 | 30259
846 | 24718
847 |
848 | 10326
849 | 6960
850 | 7198
851 | 14566
852 | 13123
853 |
854 | 6018
855 | 6875
856 | 5608
857 | 1167
858 | 6331
859 | 5020
860 | 3796
861 | 4878
862 | 6180
863 | 2043
864 | 2419
865 |
866 | 6676
867 | 7795
868 | 6677
869 |
870 | 3188
871 | 4992
872 | 3958
873 | 1837
874 | 3146
875 | 4012
876 | 2109
877 | 4262
878 | 6831
879 | 2423
880 | 1716
881 | 5367
882 |
883 | 5837
884 | 1616
885 | 6477
886 | 5255
887 | 1808
888 | 5473
889 | 5978
890 | 5139
891 | 4689
892 | 5701
893 | 3022
894 | 2911
895 | 5043
896 |
897 | 9217
898 | 16226
899 |
900 | 1105
901 | 6108
902 | 3893
903 | 5617
904 | 1700
905 | 4762
906 | 2230
907 | 4590
908 | 6602
909 | 5875
910 | 4648
911 | 2742
912 | 1623
913 |
914 | 7941
915 | 5740
916 | 6709
917 | 4488
918 | 7148
919 | 6554
920 | 4125
921 | 5040
922 | 8310
923 | 5795
924 |
925 | 4126
926 | 2456
927 | 6279
928 | 2323
929 | 4295
930 | 2384
931 | 5372
932 | 4833
933 | 3379
934 | 4984
935 | 3094
936 | 3085
937 |
938 | 4134
939 | 7845
940 | 5029
941 | 9865
942 | 8431
943 | 7084
944 | 4411
945 | 7765
946 |
947 | 9573
948 | 10031
949 | 11504
950 | 18955
951 |
952 | 65758
953 |
954 | 10933
955 | 23224
956 | 9234
957 |
958 | 9163
959 | 8764
960 | 4788
961 | 8189
962 | 11424
963 | 1888
964 |
965 | 7361
966 | 7393
967 | 11150
968 | 11767
969 | 10104
970 | 11200
971 | 5473
972 |
973 | 1033
974 | 5952
975 | 4635
976 | 3781
977 | 5088
978 | 3479
979 | 4403
980 | 6264
981 | 2437
982 | 1437
983 | 6677
984 |
985 | 15877
986 | 15511
987 | 7676
988 | 11138
989 | 14878
990 |
991 | 3345
992 | 2250
993 | 4913
994 | 5217
995 | 1510
996 | 4379
997 | 4549
998 | 1731
999 | 4827
1000 | 2068
1001 | 2835
1002 | 5467
1003 | 1749
1004 |
1005 | 4448
1006 | 3042
1007 | 5305
1008 | 1516
1009 | 4014
1010 | 1408
1011 | 6255
1012 | 1208
1013 | 6206
1014 | 3580
1015 | 6247
1016 | 1620
1017 |
1018 | 2712
1019 | 10639
1020 | 6856
1021 | 8948
1022 | 1911
1023 | 1404
1024 |
1025 | 9349
1026 | 18213
1027 |
1028 | 2373
1029 | 6003
1030 | 5216
1031 | 2901
1032 | 8754
1033 | 2517
1034 | 4093
1035 | 2475
1036 | 5071
1037 | 3175
1038 |
1039 | 5235
1040 | 1935
1041 | 7751
1042 | 12132
1043 | 1739
1044 | 8963
1045 | 1855
1046 |
1047 | 3890
1048 | 4106
1049 | 3949
1050 | 4795
1051 | 2816
1052 | 1100
1053 | 1278
1054 | 2287
1055 | 2066
1056 | 5351
1057 | 4113
1058 | 4714
1059 | 4410
1060 | 2178
1061 |
1062 | 3575
1063 | 5434
1064 | 8010
1065 | 4677
1066 | 4524
1067 | 7438
1068 | 7363
1069 | 2150
1070 | 8133
1071 | 2840
1072 |
1073 | 3184
1074 | 4657
1075 | 5941
1076 | 4474
1077 | 4399
1078 | 5675
1079 | 5088
1080 | 2875
1081 | 5175
1082 | 1441
1083 | 2924
1084 | 5509
1085 | 6037
1086 | 1228
1087 | 3596
1088 |
1089 | 10076
1090 | 14846
1091 | 19534
1092 | 16135
1093 |
1094 | 3832
1095 | 5882
1096 | 5111
1097 | 2141
1098 | 1925
1099 | 4174
1100 | 2729
1101 | 5974
1102 | 1425
1103 | 4740
1104 | 2013
1105 | 5110
1106 | 5262
1107 | 3245
1108 | 2533
1109 |
1110 | 5321
1111 | 5818
1112 | 2415
1113 | 6348
1114 | 5720
1115 | 1424
1116 | 2960
1117 | 6265
1118 | 1630
1119 | 5768
1120 | 5328
1121 | 2655
1122 | 6323
1123 | 6363
1124 |
1125 | 6956
1126 | 5122
1127 | 15372
1128 | 14713
1129 | 7784
1130 |
1131 | 32625
1132 | 11125
1133 |
1134 | 5349
1135 | 3235
1136 | 5669
1137 | 6210
1138 | 5007
1139 | 5300
1140 | 2283
1141 | 2824
1142 | 5185
1143 | 6222
1144 | 5394
1145 | 4139
1146 | 1300
1147 | 1677
1148 |
1149 | 6416
1150 | 8235
1151 | 5091
1152 | 7099
1153 | 8016
1154 | 5993
1155 | 5297
1156 | 4554
1157 | 1919
1158 |
1159 | 7685
1160 | 8321
1161 | 8192
1162 | 8798
1163 | 3673
1164 | 5084
1165 | 8042
1166 | 7700
1167 | 9121
1168 |
1169 | 16486
1170 | 10677
1171 |
1172 | 9499
1173 | 5512
1174 | 13379
1175 | 13851
1176 | 12439
1177 |
1178 | 4919
1179 | 9292
1180 | 5319
1181 | 5220
1182 | 8546
1183 | 2005
1184 | 6429
1185 | 5510
1186 |
1187 | 1977
1188 | 1671
1189 | 2792
1190 | 6173
1191 | 3483
1192 | 1069
1193 | 1892
1194 | 4190
1195 | 6263
1196 | 6184
1197 | 3514
1198 | 5813
1199 |
1200 | 3784
1201 | 6795
1202 | 1693
1203 | 2493
1204 | 5963
1205 | 3511
1206 | 6278
1207 | 2558
1208 | 4924
1209 | 1523
1210 | 5279
1211 |
1212 | 2053
1213 | 1812
1214 | 1696
1215 | 1917
1216 | 6417
1217 | 6031
1218 | 7956
1219 | 7385
1220 | 2764
1221 |
1222 | 4899
1223 | 2174
1224 | 15256
1225 | 8489
1226 | 4745
1227 |
1228 | 4366
1229 | 2569
1230 | 8990
1231 | 4173
1232 | 8144
1233 | 6488
1234 | 1033
1235 |
1236 | 7989
1237 | 8202
1238 | 3781
1239 | 1358
1240 | 6093
1241 | 8358
1242 | 4047
1243 | 4562
1244 | 4289
1245 |
1246 | 5660
1247 | 8763
1248 | 7099
1249 | 12118
1250 | 4652
1251 | 6537
1252 |
1253 | 5511
1254 | 1780
1255 | 4502
1256 | 4999
1257 | 1990
1258 | 2554
1259 | 3552
1260 | 3589
1261 | 1418
1262 | 1354
1263 | 4151
1264 | 5500
1265 | 1057
1266 | 5282
1267 |
1268 | 5675
1269 | 1099
1270 | 4235
1271 | 3506
1272 | 3293
1273 | 4472
1274 | 3878
1275 | 5262
1276 | 3734
1277 | 5692
1278 | 4205
1279 | 3469
1280 | 2879
1281 |
1282 | 2747
1283 | 2909
1284 | 2608
1285 | 2324
1286 | 1421
1287 | 2801
1288 | 1022
1289 | 4630
1290 | 2335
1291 | 5494
1292 | 2780
1293 | 3638
1294 |
1295 | 4808
1296 | 5061
1297 | 4974
1298 | 2064
1299 | 4797
1300 | 5901
1301 | 4819
1302 | 6736
1303 | 5356
1304 | 4876
1305 | 6530
1306 | 6011
1307 | 4317
1308 |
1309 | 3044
1310 | 2230
1311 | 2371
1312 | 4651
1313 | 3437
1314 | 4759
1315 | 4145
1316 | 1845
1317 | 1327
1318 | 4512
1319 | 6172
1320 | 3741
1321 | 2817
1322 | 4810
1323 |
1324 | 3319
1325 | 5963
1326 | 5235
1327 | 2536
1328 | 6866
1329 | 4904
1330 | 3523
1331 | 4587
1332 | 4877
1333 | 6773
1334 | 2652
1335 | 2462
1336 | 3030
1337 |
1338 | 3231
1339 | 7432
1340 | 6805
1341 | 5632
1342 | 1398
1343 | 5278
1344 | 6545
1345 | 2076
1346 | 4940
1347 | 2754
1348 |
1349 | 2990
1350 | 7260
1351 | 4550
1352 | 2885
1353 | 8785
1354 | 5737
1355 | 3501
1356 | 2019
1357 | 8647
1358 |
1359 | 4493
1360 | 8668
1361 | 5035
1362 | 9120
1363 | 9324
1364 | 2968
1365 | 2428
1366 |
1367 | 6289
1368 | 3485
1369 | 2200
1370 | 3382
1371 | 5783
1372 | 6146
1373 | 3018
1374 | 4079
1375 | 4596
1376 | 1116
1377 | 3919
1378 | 2760
1379 | 2861
1380 |
1381 | 7625
1382 | 12909
1383 | 13695
1384 | 7903
1385 | 4340
1386 |
1387 | 4798
1388 | 4783
1389 | 6796
1390 | 6200
1391 | 5999
1392 | 6061
1393 | 3060
1394 | 3896
1395 | 7634
1396 | 7644
1397 | 1794
1398 |
1399 | 8485
1400 | 10545
1401 | 13132
1402 | 5653
1403 | 13306
1404 | 8014
1405 |
1406 | 5758
1407 | 3284
1408 | 6741
1409 | 2987
1410 | 3970
1411 | 4669
1412 | 4410
1413 | 5673
1414 | 5765
1415 | 6895
1416 | 1887
1417 | 4852
1418 | 4019
1419 |
1420 | 4657
1421 | 8052
1422 | 6669
1423 | 3467
1424 | 8919
1425 | 2273
1426 | 1255
1427 |
1428 | 6289
1429 | 6824
1430 | 6157
1431 | 5043
1432 | 4502
1433 | 5268
1434 | 3889
1435 | 2896
1436 | 1904
1437 | 5278
1438 | 1395
1439 | 4423
1440 | 3589
1441 |
1442 | 4372
1443 |
1444 | 49650
1445 |
1446 | 3641
1447 | 1463
1448 | 2529
1449 | 2741
1450 | 2626
1451 | 1104
1452 | 6111
1453 | 4427
1454 | 6694
1455 | 6265
1456 | 2993
1457 | 3122
1458 | 1431
1459 |
1460 | 1098
1461 | 4751
1462 | 3778
1463 | 1188
1464 | 2895
1465 | 1855
1466 | 5950
1467 | 1761
1468 | 2264
1469 | 2581
1470 | 5002
1471 | 2820
1472 | 2688
1473 | 4309
1474 | 5021
1475 |
1476 | 5561
1477 | 4720
1478 | 8271
1479 | 2578
1480 | 5086
1481 | 5081
1482 | 9935
1483 |
1484 | 5993
1485 | 5237
1486 | 4986
1487 | 2470
1488 | 4081
1489 | 2107
1490 | 5118
1491 | 1436
1492 | 2722
1493 | 3317
1494 | 5135
1495 | 1687
1496 | 6081
1497 | 2281
1498 |
1499 | 2848
1500 | 10385
1501 | 11585
1502 | 8479
1503 | 7000
1504 |
1505 | 9106
1506 | 3499
1507 | 14806
1508 | 14856
1509 | 14270
1510 |
1511 | 10741
1512 | 4152
1513 | 1465
1514 | 2692
1515 | 6622
1516 | 7357
1517 | 4795
1518 | 9761
1519 |
1520 | 8661
1521 | 15426
1522 | 4510
1523 | 16351
1524 | 9036
1525 |
1526 | 2728
1527 | 5277
1528 | 6437
1529 | 3607
1530 | 4858
1531 | 5174
1532 | 5124
1533 | 6278
1534 | 4115
1535 | 3943
1536 | 2548
1537 | 4946
1538 | 5169
1539 | 4707
1540 |
1541 | 61072
1542 |
1543 | 9226
1544 | 2700
1545 | 4012
1546 | 8201
1547 | 9552
1548 | 3895
1549 | 8835
1550 | 2748
1551 | 9567
1552 |
1553 | 10717
1554 | 1581
1555 | 10024
1556 | 6404
1557 |
1558 | 5376
1559 | 1151
1560 | 3132
1561 | 5017
1562 | 5373
1563 | 4282
1564 | 3484
1565 | 5596
1566 | 4456
1567 | 6121
1568 | 2714
1569 | 6212
1570 |
1571 | 27894
1572 | 35903
1573 |
1574 | 4917
1575 | 8413
1576 | 2371
1577 | 5101
1578 | 6183
1579 | 2951
1580 | 2248
1581 | 8656
1582 | 9266
1583 |
1584 | 2625
1585 | 6275
1586 | 7478
1587 | 4337
1588 | 1541
1589 | 1213
1590 | 3955
1591 | 4757
1592 | 8046
1593 | 7255
1594 | 1971
1595 |
1596 | 2777
1597 | 2409
1598 | 2353
1599 | 5879
1600 | 5503
1601 | 4098
1602 | 2158
1603 | 3969
1604 | 1368
1605 | 4135
1606 | 1226
1607 | 1285
1608 | 4840
1609 | 2038
1610 | 1757
1611 |
1612 | 8863
1613 | 9589
1614 | 3253
1615 | 5275
1616 | 7203
1617 | 7360
1618 | 9066
1619 | 8794
1620 |
1621 | 1470
1622 | 7260
1623 | 2185
1624 | 3035
1625 | 5968
1626 | 7504
1627 | 8342
1628 | 5621
1629 |
1630 | 10611
1631 | 7460
1632 | 3736
1633 | 4146
1634 | 10173
1635 | 12291
1636 |
1637 | 3680
1638 | 12376
1639 | 13226
1640 | 1889
1641 |
1642 | 3439
1643 | 7329
1644 | 3377
1645 | 6639
1646 | 6283
1647 | 2887
1648 | 2653
1649 | 3499
1650 | 3625
1651 | 6361
1652 | 3250
1653 | 6882
1654 |
1655 | 7470
1656 | 4047
1657 | 1714
1658 | 6357
1659 | 5267
1660 | 7577
1661 | 3495
1662 | 6565
1663 | 2349
1664 | 3850
1665 | 1759
1666 |
1667 | 8099
1668 | 8009
1669 | 19118
1670 | 14120
1671 |
1672 | 2826
1673 | 7174
1674 | 2774
1675 | 2989
1676 | 7176
1677 | 7625
1678 | 3899
1679 | 4002
1680 | 4849
1681 |
1682 | 7983
1683 | 10730
1684 | 2709
1685 | 4285
1686 | 12607
1687 | 7955
1688 |
1689 | 13822
1690 |
1691 | 1234
1692 | 4277
1693 | 2621
1694 | 2723
1695 | 6879
1696 | 4385
1697 | 2232
1698 | 5996
1699 | 5136
1700 | 3369
1701 | 7149
1702 | 2219
1703 |
1704 | 66306
1705 |
1706 | 5829
1707 | 6255
1708 | 4929
1709 | 8250
1710 | 3516
1711 |
1712 | 4857
1713 | 6895
1714 | 4273
1715 | 7081
1716 | 2989
1717 | 5846
1718 | 2961
1719 | 7846
1720 | 2255
1721 | 4802
1722 | 1670
1723 |
1724 | 8191
1725 | 1267
1726 | 6985
1727 | 4747
1728 |
1729 | 6734
1730 | 4762
1731 | 1304
1732 | 7783
1733 |
1734 | 7646
1735 | 1419
1736 | 3729
1737 | 7973
1738 | 3350
1739 | 5737
1740 | 3883
1741 | 1428
1742 | 5432
1743 | 4835
1744 |
1745 | 13785
1746 | 12814
1747 | 5626
1748 | 11147
1749 | 5700
1750 | 9402
1751 |
1752 | 3500
1753 | 9350
1754 | 11011
1755 | 8174
1756 | 9828
1757 | 6832
1758 | 1068
1759 |
1760 | 40289
1761 |
1762 | 5599
1763 | 4191
1764 | 3625
1765 | 8604
1766 | 1087
1767 | 6751
1768 | 6020
1769 | 7519
1770 | 7000
1771 | 1554
1772 |
1773 | 31342
1774 |
1775 | 6840
1776 | 2096
1777 | 2482
1778 | 8269
1779 | 3005
1780 | 6414
1781 | 3823
1782 | 6976
1783 | 9302
1784 |
1785 | 7401
1786 | 2825
1787 | 6693
1788 | 3785
1789 | 3653
1790 | 1608
1791 | 5157
1792 |
1793 | 3109
1794 | 1332
1795 | 3032
1796 | 6908
1797 | 2446
1798 | 6437
1799 | 1527
1800 | 2876
1801 | 3124
1802 | 5905
1803 | 3888
1804 | 1027
1805 | 2056
1806 |
1807 | 13859
1808 | 19777
1809 |
1810 | 2156
1811 | 5880
1812 | 5299
1813 | 8558
1814 | 1170
1815 | 8369
1816 | 2384
1817 | 4922
1818 | 3540
1819 | 4069
1820 |
1821 | 2520
1822 | 8578
1823 | 6988
1824 | 4589
1825 | 2808
1826 | 8622
1827 | 7274
1828 | 1485
1829 | 3425
1830 | 2048
1831 |
1832 | 1975
1833 | 7298
1834 | 4361
1835 | 2127
1836 | 5352
1837 | 6143
1838 | 5553
1839 | 6939
1840 | 1970
1841 | 4892
1842 | 1193
1843 | 2763
1844 |
1845 | 2681
1846 | 5649
1847 | 3986
1848 | 3879
1849 | 1710
1850 | 1749
1851 | 5178
1852 | 5919
1853 | 6788
1854 | 2577
1855 | 7406
1856 |
1857 | 6714
1858 | 1132
1859 | 4707
1860 | 8859
1861 | 9325
1862 | 7255
1863 | 7746
1864 | 7393
1865 |
1866 | 4925
1867 | 2772
1868 | 6414
1869 | 2083
1870 | 5913
1871 | 6499
1872 | 1838
1873 | 5955
1874 | 2627
1875 | 3507
1876 | 3485
1877 | 1041
1878 | 2445
1879 | 2860
1880 |
1881 | 5739
1882 | 1228
1883 | 3578
1884 | 7053
1885 | 1333
1886 | 7932
1887 | 2778
1888 | 1264
1889 | 3221
1890 | 4462
1891 |
1892 | 1702
1893 | 1263
1894 | 24430
1895 |
1896 | 6711
1897 | 14533
1898 | 14161
1899 | 3384
1900 | 1798
1901 |
1902 | 6650
1903 | 8334
1904 | 2502
1905 | 6261
1906 | 3300
1907 | 8793
1908 | 3729
1909 | 2148
1910 | 7511
1911 | 4702
1912 |
1913 | 5263
1914 | 2653
1915 | 2646
1916 | 10475
1917 | 5210
1918 |
1919 | 6124
1920 | 9121
1921 | 12762
1922 | 5131
1923 | 15866
1924 |
1925 | 20098
1926 | 17049
1927 | 6082
1928 | 12356
1929 |
1930 | 4615
1931 | 11397
1932 | 6506
1933 | 16351
1934 |
1935 | 2167
1936 | 3926
1937 | 4256
1938 | 5477
1939 | 5085
1940 | 1270
1941 | 4992
1942 | 2015
1943 | 3316
1944 | 3057
1945 | 6018
1946 | 2026
1947 | 4406
1948 | 2973
1949 | 4209
1950 |
1951 | 21818
1952 | 5205
1953 |
1954 | 9308
1955 | 4553
1956 | 4209
1957 | 2899
1958 | 5831
1959 | 11175
1960 |
1961 | 2175
1962 | 5686
1963 | 3649
1964 | 4884
1965 | 2654
1966 | 6049
1967 | 3099
1968 | 5191
1969 | 5017
1970 | 5553
1971 | 3016
1972 | 2743
1973 | 2211
1974 | 5615
1975 | 2750
1976 |
1977 | 5895
1978 | 5859
1979 | 2391
1980 | 1786
1981 | 1219
1982 | 4664
1983 | 4385
1984 | 3571
1985 | 6747
1986 |
1987 | 21656
1988 | 6158
1989 |
1990 | 2384
1991 | 4885
1992 | 4143
1993 | 2965
1994 | 5009
1995 | 1963
1996 | 2434
1997 | 3975
1998 | 4187
1999 | 6320
2000 | 2693
2001 | 2514
2002 | 5190
2003 | 1337
2004 |
2005 | 3558
2006 | 13277
2007 | 5659
2008 | 12432
2009 | 6800
2010 | 1444
2011 |
2012 | 5684
2013 | 3966
2014 | 3790
2015 | 5530
2016 | 1018
2017 | 5860
2018 | 1260
2019 | 2663
2020 | 3382
2021 | 1699
2022 | 3573
2023 | 5785
2024 | 4221
2025 | 3293
2026 | 2612
2027 |
2028 | 6842
2029 | 7855
2030 | 10358
2031 | 7499
2032 | 4828
2033 | 9999
2034 | 6736
2035 | 10306
2036 |
2037 | 4733
2038 | 7411
2039 | 2214
2040 | 3289
2041 | 8075
2042 | 4328
2043 | 5529
2044 | 1376
2045 | 6701
2046 | 3311
2047 | 1550
2048 |
2049 | 10753
2050 | 2816
2051 | 5490
2052 | 9546
2053 | 9574
2054 | 8698
2055 | 9240
2056 |
2057 | 35760
2058 |
2059 | 11913
2060 | 9817
2061 | 5260
2062 | 11404
2063 | 14859
2064 |
2065 | 8190
2066 | 3694
2067 | 7646
2068 | 9332
2069 | 3588
2070 | 8608
2071 | 3521
2072 | 5167
2073 | 2193
2074 |
2075 | 4743
2076 | 4120
2077 | 1931
2078 | 3477
2079 | 3687
2080 | 2453
2081 | 2666
2082 | 7001
2083 | 1895
2084 | 4923
2085 | 3035
2086 | 2630
2087 |
2088 | 4468
2089 | 2828
2090 | 13485
2091 | 3277
2092 | 3154
2093 | 11675
2094 |
2095 | 7051
2096 | 2700
2097 | 9410
2098 | 6504
2099 | 6826
2100 | 10176
2101 |
2102 | 9119
2103 | 1701
2104 | 10677
2105 | 7991
2106 | 2200
2107 | 8689
2108 | 2906
2109 | 4077
2110 |
2111 | 37282
2112 | 7225
2113 |
2114 | 1662
2115 | 5592
2116 | 4997
2117 | 5548
2118 | 3677
2119 | 4294
2120 | 2937
2121 | 1170
2122 | 5407
2123 | 2368
2124 | 3726
2125 | 6589
2126 | 6229
2127 |
2128 | 12729
2129 | 13674
2130 | 10641
2131 | 6837
2132 | 6046
2133 | 1022
2134 |
2135 | 5812
2136 | 5667
2137 | 1796
2138 | 6701
2139 | 3055
2140 | 3362
2141 | 6757
2142 | 3056
2143 | 1043
2144 | 4129
2145 | 4237
2146 | 3907
2147 | 4784
2148 |
2149 | 8330
2150 | 5270
2151 | 4031
2152 | 9506
2153 | 9062
2154 | 2762
2155 | 5838
2156 | 7955
2157 |
2158 | 5869
2159 | 1162
2160 | 3744
2161 | 3349
2162 | 5621
2163 | 7359
2164 | 4782
2165 | 1259
2166 | 3904
2167 | 3692
2168 | 3836
2169 | 5684
2170 |
2171 | 1077
2172 | 1738
2173 | 1787
2174 | 4504
2175 | 5669
2176 | 5257
2177 | 2325
2178 | 2813
2179 | 4297
2180 | 1652
2181 | 4500
2182 | 5801
2183 | 4297
2184 | 2362
2185 | 1616
2186 |
2187 | 6720
2188 | 2446
2189 | 4444
2190 | 4132
2191 | 4665
2192 | 2280
2193 | 4203
2194 | 6500
2195 | 6941
2196 | 6667
2197 | 1867
2198 |
2199 | 3560
2200 | 3111
2201 | 5179
2202 | 1352
2203 | 6779
2204 | 11684
2205 | 2498
2206 |
2207 | 6316
2208 | 1792
2209 | 4065
2210 | 3358
2211 | 4597
2212 | 5573
2213 | 3097
2214 | 1235
2215 | 4623
2216 | 2981
2217 | 6725
2218 | 1251
2219 |
2220 | 2218
2221 | 4275
2222 | 5627
2223 | 2334
2224 | 2954
2225 | 4955
2226 | 2480
2227 | 2248
2228 | 1305
2229 | 3325
2230 | 2974
2231 | 2971
2232 | 1400
2233 | 5745
2234 | 5606
2235 |
2236 | 5511
2237 | 5981
2238 | 1117
2239 | 4137
2240 | 5442
2241 | 3205
2242 | 1798
2243 | 3667
2244 | 4508
2245 | 2507
2246 | 3980
2247 | 5785
2248 | 2912
2249 | 5664
2250 | 2775
2251 |
2252 |
--------------------------------------------------------------------------------
/aoc22/inputs/2.txt:
--------------------------------------------------------------------------------
1 | C Y
2 | A Z
3 | B X
4 | C Y
5 | B Y
6 | C X
7 | C Y
8 | B X
9 | B X
10 | A Z
11 | C X
12 | B Y
13 | B X
14 | B X
15 | A Z
16 | B X
17 | C Y
18 | C Y
19 | C X
20 | B X
21 | B X
22 | C Y
23 | C Y
24 | A Z
25 | C Y
26 | A X
27 | B Y
28 | C Y
29 | A Z
30 | B X
31 | B X
32 | C Y
33 | A Y
34 | A Y
35 | C Y
36 | C Z
37 | C Y
38 | C X
39 | C X
40 | B X
41 | C Y
42 | A Y
43 | C Z
44 | B X
45 | C Y
46 | B Y
47 | C Y
48 | A Y
49 | B X
50 | B Y
51 | A X
52 | A Y
53 | B X
54 | B X
55 | B X
56 | A Z
57 | C Y
58 | B Y
59 | A X
60 | A Y
61 | C X
62 | C X
63 | C Y
64 | B Y
65 | C X
66 | B X
67 | C X
68 | A Z
69 | B Y
70 | C X
71 | C Y
72 | B X
73 | B X
74 | C Y
75 | B X
76 | C Y
77 | A Z
78 | B Y
79 | B X
80 | B X
81 | B X
82 | C Y
83 | C Y
84 | A Y
85 | C X
86 | C X
87 | A Y
88 | C Y
89 | B X
90 | A Y
91 | C X
92 | C Y
93 | C X
94 | C X
95 | B Z
96 | C Y
97 | B X
98 | C Y
99 | A Y
100 | B Y
101 | B Y
102 | B X
103 | A Y
104 | C Y
105 | B X
106 | B Y
107 | A Y
108 | B X
109 | C Y
110 | C Y
111 | B Y
112 | B Y
113 | C Z
114 | C Y
115 | C X
116 | B X
117 | C Y
118 | B X
119 | C Y
120 | A Y
121 | A Y
122 | A Z
123 | C Z
124 | A Y
125 | B Y
126 | B X
127 | C X
128 | C Y
129 | C X
130 | B X
131 | B X
132 | A Y
133 | A Y
134 | C Y
135 | C Y
136 | A Z
137 | B X
138 | B X
139 | B X
140 | B Y
141 | B X
142 | B X
143 | C Y
144 | C Y
145 | C Y
146 | C X
147 | B X
148 | C Y
149 | B X
150 | A Z
151 | C Y
152 | C X
153 | A Z
154 | A Y
155 | A X
156 | C Y
157 | B X
158 | A Z
159 | C Y
160 | A Z
161 | C Y
162 | B Y
163 | A Z
164 | A Y
165 | A X
166 | A Z
167 | A Z
168 | C Y
169 | B X
170 | C Y
171 | C Y
172 | A Z
173 | B X
174 | C Y
175 | B X
176 | C Y
177 | A Y
178 | B X
179 | A Z
180 | A Z
181 | C Y
182 | A Z
183 | B Y
184 | B X
185 | A Z
186 | B X
187 | B X
188 | B X
189 | B Y
190 | C Y
191 | C Y
192 | C X
193 | A Y
194 | C X
195 | B X
196 | C Z
197 | B Y
198 | C Y
199 | A Y
200 | C X
201 | C X
202 | B X
203 | B X
204 | B X
205 | A Y
206 | B Y
207 | B X
208 | B X
209 | C Y
210 | A Y
211 | B X
212 | B X
213 | A Z
214 | C Y
215 | C Y
216 | B Y
217 | B X
218 | A Y
219 | B X
220 | B X
221 | A Z
222 | C Y
223 | A Y
224 | B X
225 | A Z
226 | C Z
227 | A Z
228 | B X
229 | B X
230 | B Y
231 | A Z
232 | C X
233 | B X
234 | C Y
235 | B X
236 | C Y
237 | C X
238 | A Z
239 | B X
240 | A Z
241 | C Y
242 | B X
243 | C X
244 | A Y
245 | B Y
246 | C Y
247 | B X
248 | B X
249 | B X
250 | B Y
251 | B X
252 | A X
253 | C Y
254 | B Y
255 | B Y
256 | C Y
257 | C Y
258 | C Y
259 | A Y
260 | A Y
261 | A X
262 | A Z
263 | C Y
264 | A Y
265 | C X
266 | C Y
267 | B Y
268 | C Y
269 | C Y
270 | B X
271 | C Y
272 | B X
273 | C Y
274 | C Y
275 | B X
276 | B Y
277 | B Y
278 | B X
279 | B Y
280 | B X
281 | C Y
282 | C Y
283 | C X
284 | C Y
285 | C X
286 | C X
287 | B Y
288 | A X
289 | C Y
290 | A Y
291 | C Z
292 | B X
293 | C Y
294 | A Y
295 | A Y
296 | C Y
297 | C Y
298 | B X
299 | B X
300 | B Y
301 | B Y
302 | C Y
303 | C X
304 | A Z
305 | C Y
306 | C Y
307 | C Y
308 | B Z
309 | A Z
310 | B X
311 | B Y
312 | C Y
313 | C Y
314 | B X
315 | A Z
316 | A Z
317 | B X
318 | C X
319 | C Y
320 | A X
321 | C Y
322 | B Y
323 | B X
324 | B X
325 | C Y
326 | B Y
327 | A Y
328 | B X
329 | B X
330 | C Z
331 | B Y
332 | B X
333 | C Y
334 | C Y
335 | C Y
336 | B X
337 | B Y
338 | C X
339 | B Y
340 | C Y
341 | C Y
342 | C X
343 | B X
344 | C Y
345 | B X
346 | C Y
347 | B X
348 | A Z
349 | C Y
350 | A X
351 | A Z
352 | B Z
353 | B Y
354 | C Y
355 | B X
356 | C Y
357 | C X
358 | B X
359 | B X
360 | B Y
361 | A Y
362 | C Y
363 | B X
364 | A Z
365 | C Y
366 | B X
367 | B X
368 | B X
369 | C Z
370 | B Y
371 | A Y
372 | B X
373 | C X
374 | A Y
375 | B X
376 | B X
377 | B X
378 | C Y
379 | C Y
380 | B X
381 | C Y
382 | C Y
383 | B X
384 | B Y
385 | B Y
386 | C Y
387 | B Y
388 | B X
389 | C X
390 | A Z
391 | B Y
392 | B X
393 | C Z
394 | A Y
395 | B X
396 | C X
397 | B X
398 | B X
399 | C Z
400 | B Y
401 | A X
402 | C X
403 | C X
404 | B X
405 | C Y
406 | A Z
407 | B X
408 | B X
409 | B X
410 | B X
411 | A Y
412 | C Y
413 | B Y
414 | B X
415 | A X
416 | B X
417 | C X
418 | C X
419 | B X
420 | C Y
421 | B Z
422 | A Z
423 | B X
424 | B X
425 | C Y
426 | B Z
427 | B X
428 | A Y
429 | B X
430 | A Z
431 | B X
432 | C X
433 | B X
434 | C X
435 | B X
436 | B X
437 | C Z
438 | B X
439 | A Y
440 | B X
441 | C Z
442 | B X
443 | C Y
444 | B X
445 | B Y
446 | B X
447 | B X
448 | C X
449 | B Y
450 | B Y
451 | A Y
452 | C Y
453 | B X
454 | B X
455 | C Y
456 | C Y
457 | C Y
458 | B X
459 | A Z
460 | C Y
461 | C Y
462 | A Z
463 | B X
464 | A Y
465 | C X
466 | B X
467 | C Y
468 | A Y
469 | B Y
470 | B Y
471 | A Z
472 | B X
473 | B X
474 | C Y
475 | B X
476 | B Y
477 | B X
478 | B X
479 | B X
480 | C Y
481 | C Y
482 | C Y
483 | C X
484 | B X
485 | B X
486 | C X
487 | C X
488 | B X
489 | A Y
490 | C Y
491 | C Y
492 | C Y
493 | C Z
494 | B X
495 | B X
496 | A Y
497 | B X
498 | A Y
499 | C X
500 | B X
501 | B X
502 | C Y
503 | C Y
504 | C Y
505 | A Y
506 | A Y
507 | A Y
508 | B X
509 | C Y
510 | B Y
511 | B X
512 | A Z
513 | C Y
514 | B X
515 | A Y
516 | B Y
517 | B Y
518 | B Y
519 | B Y
520 | C X
521 | A Y
522 | B X
523 | A Y
524 | B X
525 | C X
526 | C Y
527 | B X
528 | A Z
529 | C Y
530 | C Y
531 | B Y
532 | B X
533 | B X
534 | A Z
535 | B Y
536 | B Y
537 | C Y
538 | B X
539 | C X
540 | C Y
541 | B X
542 | B Y
543 | B X
544 | B X
545 | C Y
546 | B X
547 | B Y
548 | B X
549 | C Y
550 | B X
551 | A Y
552 | B X
553 | C Z
554 | B X
555 | C Y
556 | C Y
557 | B X
558 | B X
559 | C Y
560 | C Y
561 | C Y
562 | C X
563 | B Y
564 | B X
565 | C X
566 | B X
567 | C Z
568 | B X
569 | C Y
570 | A Y
571 | B X
572 | A Z
573 | C Y
574 | A Y
575 | B X
576 | A Z
577 | C Y
578 | C Y
579 | B X
580 | C Y
581 | A Y
582 | B X
583 | C X
584 | B Y
585 | C Y
586 | B X
587 | C X
588 | B X
589 | B Y
590 | A Y
591 | A Y
592 | A Y
593 | B X
594 | B X
595 | B X
596 | B X
597 | B Y
598 | B X
599 | B X
600 | B X
601 | A Z
602 | C X
603 | C Y
604 | A Z
605 | C X
606 | B X
607 | C Y
608 | B Y
609 | C Y
610 | B X
611 | C Y
612 | C Y
613 | C Y
614 | C Y
615 | C Y
616 | C Z
617 | B X
618 | B X
619 | C Y
620 | B X
621 | A Y
622 | C Y
623 | C X
624 | B Y
625 | C Y
626 | C Y
627 | A Y
628 | A Y
629 | C Y
630 | B Y
631 | C X
632 | B X
633 | C Y
634 | C Y
635 | B X
636 | B X
637 | B X
638 | A Z
639 | B Y
640 | B Y
641 | A Y
642 | C X
643 | B Y
644 | C Y
645 | C X
646 | B X
647 | B X
648 | C X
649 | B X
650 | C Y
651 | C Y
652 | B Y
653 | C Y
654 | B X
655 | B X
656 | A Z
657 | B Y
658 | A Z
659 | A X
660 | B Z
661 | A Y
662 | C Y
663 | C Y
664 | C Y
665 | B X
666 | A Z
667 | A Y
668 | B Y
669 | C Y
670 | B Y
671 | B X
672 | B X
673 | A Y
674 | C X
675 | C Y
676 | B X
677 | A Y
678 | A Z
679 | B X
680 | B X
681 | C Y
682 | B Y
683 | C Y
684 | C Y
685 | B Y
686 | B Y
687 | B X
688 | A Y
689 | B X
690 | B X
691 | B X
692 | B X
693 | C Y
694 | B X
695 | B Y
696 | C X
697 | C Y
698 | A Y
699 | B Y
700 | A Y
701 | C Y
702 | C Y
703 | A Z
704 | B X
705 | C Y
706 | A Z
707 | A Y
708 | B X
709 | B X
710 | B X
711 | C Y
712 | B X
713 | C Y
714 | B Y
715 | B X
716 | B Y
717 | A Y
718 | B X
719 | C Y
720 | C Y
721 | B X
722 | B X
723 | C Y
724 | C Y
725 | C Y
726 | B Z
727 | C Y
728 | B X
729 | C Y
730 | B Y
731 | C Y
732 | C X
733 | B X
734 | A Y
735 | A X
736 | A Z
737 | A Z
738 | B Y
739 | C X
740 | B X
741 | B Y
742 | B X
743 | B X
744 | A Z
745 | B X
746 | A Y
747 | C Z
748 | C Y
749 | C Y
750 | C Y
751 | A Y
752 | C X
753 | C Y
754 | A Z
755 | C Y
756 | B X
757 | A Y
758 | A Z
759 | B X
760 | A Y
761 | C X
762 | A Z
763 | A Y
764 | B X
765 | B X
766 | C Y
767 | C Y
768 | C Z
769 | A Z
770 | B X
771 | A Y
772 | B X
773 | B X
774 | B X
775 | C Y
776 | A Z
777 | C Y
778 | B X
779 | B Y
780 | C X
781 | C Y
782 | A Z
783 | A Z
784 | C Y
785 | B Y
786 | C Y
787 | C Y
788 | C X
789 | C Y
790 | C Y
791 | B X
792 | C Y
793 | B X
794 | B Y
795 | C Y
796 | C Y
797 | C X
798 | A Z
799 | B X
800 | B X
801 | C X
802 | C Y
803 | C X
804 | C X
805 | B X
806 | B Y
807 | B Y
808 | C Z
809 | A Y
810 | A Z
811 | B X
812 | B X
813 | C Y
814 | C Y
815 | A Y
816 | C Y
817 | B Y
818 | C Y
819 | B X
820 | C Y
821 | B Y
822 | B X
823 | C Y
824 | C Y
825 | B X
826 | C Z
827 | A Y
828 | B X
829 | C Y
830 | A Z
831 | C X
832 | C Y
833 | A Y
834 | B X
835 | A Y
836 | C Y
837 | B X
838 | C Y
839 | B X
840 | A Y
841 | C Y
842 | B Y
843 | B X
844 | B X
845 | C Y
846 | A Z
847 | A Z
848 | C X
849 | A Y
850 | B X
851 | C Y
852 | B X
853 | C X
854 | C Y
855 | C Y
856 | C Y
857 | C Y
858 | C X
859 | B Y
860 | B X
861 | B X
862 | C Y
863 | B Y
864 | B Y
865 | B X
866 | B X
867 | B X
868 | B Y
869 | B X
870 | B X
871 | B X
872 | C Y
873 | A Y
874 | A Y
875 | B X
876 | C Y
877 | C Y
878 | A Y
879 | C Y
880 | B Y
881 | C X
882 | B X
883 | B X
884 | A Y
885 | C Y
886 | B X
887 | B X
888 | B Y
889 | C Y
890 | B X
891 | C X
892 | B Y
893 | A Y
894 | A Y
895 | C Y
896 | C Y
897 | C Y
898 | C Y
899 | C Y
900 | B X
901 | C Y
902 | B Y
903 | B X
904 | B Y
905 | C Y
906 | B X
907 | B X
908 | B X
909 | B Y
910 | B X
911 | B X
912 | B X
913 | C Y
914 | B Y
915 | C Y
916 | B X
917 | B X
918 | B Y
919 | C X
920 | C X
921 | C Y
922 | B Y
923 | B X
924 | A Z
925 | B X
926 | B X
927 | C X
928 | C Y
929 | C Y
930 | B X
931 | A Z
932 | C Z
933 | C Y
934 | C Y
935 | C Y
936 | C X
937 | B Y
938 | B X
939 | C Y
940 | C Y
941 | C Y
942 | B Y
943 | B Y
944 | C Y
945 | C Y
946 | B Y
947 | A Z
948 | C Y
949 | A Z
950 | B X
951 | C Y
952 | A Y
953 | B X
954 | C Y
955 | C Y
956 | B X
957 | A X
958 | B X
959 | B X
960 | C Y
961 | C Z
962 | C Y
963 | A Y
964 | C Y
965 | C Y
966 | B X
967 | B X
968 | B X
969 | B X
970 | A Z
971 | C Y
972 | C Y
973 | B Y
974 | B X
975 | C Y
976 | C Y
977 | C Y
978 | B X
979 | A Y
980 | B X
981 | C Y
982 | B X
983 | B X
984 | C Y
985 | C Y
986 | B Y
987 | B Y
988 | C Y
989 | B Y
990 | C Y
991 | A Y
992 | A Y
993 | A Y
994 | C Y
995 | C Z
996 | B X
997 | A X
998 | C Y
999 | A Y
1000 | C Y
1001 | A Y
1002 | B X
1003 | B X
1004 | B X
1005 | B X
1006 | B X
1007 | C Z
1008 | B X
1009 | C Y
1010 | C Y
1011 | B Y
1012 | A Z
1013 | A Z
1014 | C Y
1015 | B Y
1016 | C Z
1017 | A Z
1018 | C X
1019 | A Y
1020 | C Y
1021 | C Y
1022 | B X
1023 | C Y
1024 | B Y
1025 | B Y
1026 | C Y
1027 | A X
1028 | C Y
1029 | B X
1030 | A Y
1031 | C X
1032 | B Z
1033 | C X
1034 | B X
1035 | B Y
1036 | A Z
1037 | A X
1038 | B Z
1039 | C Y
1040 | B X
1041 | B Y
1042 | C X
1043 | A Y
1044 | C Y
1045 | C Z
1046 | B Y
1047 | B Y
1048 | B X
1049 | B X
1050 | C Y
1051 | B X
1052 | B Y
1053 | C Y
1054 | C X
1055 | C Z
1056 | C Z
1057 | C Z
1058 | A Y
1059 | B X
1060 | C Y
1061 | C Y
1062 | B X
1063 | A Y
1064 | B X
1065 | A Y
1066 | C X
1067 | C X
1068 | B Y
1069 | A Y
1070 | C Y
1071 | A Y
1072 | C Y
1073 | C Y
1074 | B X
1075 | B X
1076 | A X
1077 | B X
1078 | A Y
1079 | C Y
1080 | C Y
1081 | C X
1082 | A Y
1083 | B X
1084 | B Y
1085 | B X
1086 | B X
1087 | B Z
1088 | B X
1089 | A Y
1090 | C Y
1091 | B X
1092 | B X
1093 | A Y
1094 | A Z
1095 | C Y
1096 | C Y
1097 | A Z
1098 | A Z
1099 | B X
1100 | B X
1101 | C Y
1102 | B X
1103 | B X
1104 | A Y
1105 | A Z
1106 | B Y
1107 | B X
1108 | C Y
1109 | C Y
1110 | B X
1111 | B X
1112 | C X
1113 | C Y
1114 | B X
1115 | B X
1116 | B X
1117 | B X
1118 | B X
1119 | C Y
1120 | C Y
1121 | A Y
1122 | B Y
1123 | B X
1124 | A Z
1125 | C Y
1126 | B Y
1127 | A Z
1128 | C Y
1129 | C Y
1130 | B X
1131 | A Z
1132 | C Y
1133 | A Y
1134 | C X
1135 | B X
1136 | B X
1137 | B Y
1138 | B X
1139 | A Z
1140 | C Y
1141 | B X
1142 | B X
1143 | B X
1144 | B X
1145 | B X
1146 | B X
1147 | C Y
1148 | B X
1149 | B Y
1150 | B Y
1151 | B Y
1152 | C Z
1153 | C Y
1154 | B Y
1155 | A Y
1156 | A Y
1157 | B Z
1158 | B Y
1159 | B Y
1160 | B X
1161 | B Y
1162 | B Y
1163 | C X
1164 | A Z
1165 | C Y
1166 | C Y
1167 | C Y
1168 | B X
1169 | B Y
1170 | B X
1171 | C Y
1172 | C Y
1173 | C Y
1174 | B Y
1175 | A Y
1176 | C Y
1177 | B X
1178 | B X
1179 | C Y
1180 | B Y
1181 | C Y
1182 | B X
1183 | B X
1184 | B Y
1185 | A Y
1186 | C X
1187 | C Z
1188 | B X
1189 | A Y
1190 | C Y
1191 | B X
1192 | C Y
1193 | B X
1194 | C Z
1195 | C Y
1196 | C Y
1197 | C Y
1198 | A Z
1199 | C X
1200 | C Y
1201 | C Y
1202 | A Z
1203 | A Z
1204 | B X
1205 | A Y
1206 | C Y
1207 | C Y
1208 | B X
1209 | A Z
1210 | B X
1211 | C Y
1212 | B Y
1213 | B X
1214 | B X
1215 | C Y
1216 | C Y
1217 | B Y
1218 | C X
1219 | B Y
1220 | C Y
1221 | B Y
1222 | C Y
1223 | B X
1224 | C Y
1225 | B X
1226 | B Y
1227 | B Y
1228 | C X
1229 | C Y
1230 | A Z
1231 | C Y
1232 | C Y
1233 | C Y
1234 | A X
1235 | A Y
1236 | B Y
1237 | C X
1238 | B X
1239 | C Y
1240 | B X
1241 | A Y
1242 | B X
1243 | C Y
1244 | C Y
1245 | C Y
1246 | A Y
1247 | B Y
1248 | B Y
1249 | B X
1250 | A Z
1251 | A Z
1252 | B Z
1253 | C Y
1254 | B Y
1255 | C Y
1256 | B X
1257 | A Z
1258 | C Z
1259 | B X
1260 | C Y
1261 | C Y
1262 | C X
1263 | C Y
1264 | C Y
1265 | C Z
1266 | C Y
1267 | B Y
1268 | B X
1269 | B Y
1270 | B Y
1271 | B X
1272 | A Z
1273 | C Y
1274 | B X
1275 | B X
1276 | B Y
1277 | B Y
1278 | B X
1279 | C X
1280 | C Y
1281 | C X
1282 | B X
1283 | B Y
1284 | B Y
1285 | A Y
1286 | C Y
1287 | B X
1288 | A Y
1289 | C Y
1290 | B X
1291 | B X
1292 | C Y
1293 | C Y
1294 | C X
1295 | B X
1296 | C Z
1297 | B X
1298 | C Y
1299 | A Y
1300 | C X
1301 | B X
1302 | C Y
1303 | B X
1304 | C X
1305 | A Y
1306 | A Y
1307 | A Y
1308 | C Y
1309 | B X
1310 | B X
1311 | B X
1312 | B Y
1313 | A X
1314 | C X
1315 | B X
1316 | C Y
1317 | B X
1318 | B X
1319 | A Y
1320 | B X
1321 | B X
1322 | B X
1323 | B X
1324 | B Y
1325 | B Y
1326 | B X
1327 | C X
1328 | A Z
1329 | C Y
1330 | C Y
1331 | C Y
1332 | B Y
1333 | C Y
1334 | C Y
1335 | B X
1336 | B Y
1337 | C Y
1338 | A Z
1339 | C Y
1340 | B X
1341 | B X
1342 | C Y
1343 | A Z
1344 | C Y
1345 | A Y
1346 | B X
1347 | C Y
1348 | B X
1349 | B Y
1350 | C Y
1351 | C X
1352 | B X
1353 | B Y
1354 | B X
1355 | B X
1356 | B X
1357 | B X
1358 | C Y
1359 | C Y
1360 | A Y
1361 | C Y
1362 | B Z
1363 | A Y
1364 | C Y
1365 | C Y
1366 | B X
1367 | A Y
1368 | C Z
1369 | C Y
1370 | B Y
1371 | C Y
1372 | C Y
1373 | B Y
1374 | C Y
1375 | B X
1376 | B X
1377 | C Y
1378 | B X
1379 | B X
1380 | B Y
1381 | B X
1382 | B X
1383 | B Y
1384 | C X
1385 | C Y
1386 | B X
1387 | A Y
1388 | C X
1389 | B X
1390 | B X
1391 | A X
1392 | B Y
1393 | C Y
1394 | C Y
1395 | B X
1396 | A X
1397 | A Y
1398 | B Y
1399 | B Y
1400 | C Z
1401 | B Y
1402 | B Y
1403 | B X
1404 | B X
1405 | C Y
1406 | A Y
1407 | C Y
1408 | A Y
1409 | B X
1410 | C X
1411 | B Y
1412 | C Y
1413 | B Y
1414 | B Y
1415 | C Y
1416 | A Y
1417 | C Y
1418 | B X
1419 | A X
1420 | C Y
1421 | B X
1422 | B X
1423 | B X
1424 | C Y
1425 | C Y
1426 | C Y
1427 | A Z
1428 | A Z
1429 | C Y
1430 | A Y
1431 | C Y
1432 | B X
1433 | B X
1434 | C X
1435 | B Y
1436 | A Y
1437 | A Z
1438 | A Y
1439 | C X
1440 | B X
1441 | C Y
1442 | B Y
1443 | B X
1444 | A Y
1445 | C Y
1446 | B X
1447 | A Y
1448 | B Y
1449 | C Y
1450 | B Y
1451 | B X
1452 | C Y
1453 | C Y
1454 | B Y
1455 | B X
1456 | C Y
1457 | B Y
1458 | C X
1459 | C Y
1460 | B X
1461 | B X
1462 | C Y
1463 | C Y
1464 | A Y
1465 | C X
1466 | B X
1467 | B X
1468 | B Y
1469 | A Y
1470 | B Y
1471 | B X
1472 | C Y
1473 | C Y
1474 | C X
1475 | B Y
1476 | C Z
1477 | C Y
1478 | C Y
1479 | B Y
1480 | C Z
1481 | B X
1482 | C Y
1483 | A Y
1484 | A Z
1485 | B Y
1486 | B X
1487 | C X
1488 | A Y
1489 | B X
1490 | C Z
1491 | B Y
1492 | C Y
1493 | B X
1494 | B X
1495 | B Y
1496 | C Y
1497 | B Y
1498 | C Y
1499 | C X
1500 | B Y
1501 | B X
1502 | C Z
1503 | B X
1504 | B X
1505 | B X
1506 | B X
1507 | A X
1508 | B X
1509 | C Y
1510 | C X
1511 | B X
1512 | A Y
1513 | C Y
1514 | A Z
1515 | C Y
1516 | C Y
1517 | C Y
1518 | A Z
1519 | B X
1520 | C Y
1521 | A Y
1522 | B X
1523 | B X
1524 | C Y
1525 | A Z
1526 | B X
1527 | C Y
1528 | A Y
1529 | A Z
1530 | C Y
1531 | A Y
1532 | B Y
1533 | B Y
1534 | C Y
1535 | C Y
1536 | C Y
1537 | B X
1538 | C Y
1539 | C Y
1540 | B X
1541 | B X
1542 | A Z
1543 | C X
1544 | C Z
1545 | A Z
1546 | C Y
1547 | B X
1548 | B Y
1549 | B X
1550 | B Y
1551 | C Y
1552 | B X
1553 | B X
1554 | B X
1555 | B X
1556 | B X
1557 | B Y
1558 | C X
1559 | C Y
1560 | C Y
1561 | B X
1562 | B X
1563 | B X
1564 | C Y
1565 | C Y
1566 | C Y
1567 | C Y
1568 | A X
1569 | B X
1570 | B X
1571 | A X
1572 | B Y
1573 | C Y
1574 | C Y
1575 | B Z
1576 | C Y
1577 | C Y
1578 | B X
1579 | B X
1580 | C X
1581 | A Y
1582 | B Y
1583 | B X
1584 | C X
1585 | B X
1586 | B Y
1587 | B X
1588 | C Y
1589 | C Y
1590 | C Y
1591 | B X
1592 | A Z
1593 | B X
1594 | A X
1595 | B X
1596 | A Y
1597 | C Y
1598 | A Y
1599 | C X
1600 | B X
1601 | B Y
1602 | B X
1603 | B X
1604 | C Y
1605 | A Y
1606 | B Y
1607 | A Y
1608 | C Y
1609 | B Y
1610 | B Y
1611 | B X
1612 | A Z
1613 | B X
1614 | B X
1615 | B X
1616 | C Z
1617 | B X
1618 | C Y
1619 | B X
1620 | B X
1621 | C Y
1622 | C X
1623 | B X
1624 | C Y
1625 | B X
1626 | C Y
1627 | C Z
1628 | A Y
1629 | B X
1630 | C Y
1631 | B Y
1632 | C Y
1633 | C Y
1634 | C Y
1635 | B Y
1636 | B Y
1637 | C Y
1638 | A Y
1639 | A Z
1640 | C Y
1641 | C Y
1642 | C Y
1643 | B X
1644 | A Y
1645 | C Z
1646 | B Y
1647 | C Y
1648 | C Y
1649 | B X
1650 | B Y
1651 | A X
1652 | B X
1653 | B Y
1654 | B X
1655 | C Y
1656 | B X
1657 | B Y
1658 | B X
1659 | A Z
1660 | A Z
1661 | B X
1662 | B X
1663 | B X
1664 | C Y
1665 | B X
1666 | C Y
1667 | A Y
1668 | C X
1669 | C Y
1670 | A Z
1671 | A Y
1672 | B X
1673 | B X
1674 | C Y
1675 | B X
1676 | B Y
1677 | A Y
1678 | B X
1679 | B X
1680 | C X
1681 | C X
1682 | B X
1683 | B Y
1684 | C Y
1685 | B X
1686 | B X
1687 | C Y
1688 | B X
1689 | B X
1690 | C X
1691 | B Y
1692 | A Y
1693 | C Y
1694 | B X
1695 | B X
1696 | B Y
1697 | C Y
1698 | A Z
1699 | B X
1700 | C Y
1701 | C Y
1702 | B X
1703 | B X
1704 | A Y
1705 | C Y
1706 | C Y
1707 | B X
1708 | A Y
1709 | B X
1710 | B X
1711 | A Z
1712 | C Y
1713 | B X
1714 | B X
1715 | C Y
1716 | B Y
1717 | C Y
1718 | B X
1719 | A Z
1720 | C Y
1721 | C Y
1722 | B Z
1723 | A Z
1724 | B Z
1725 | B X
1726 | A Z
1727 | C Y
1728 | B Y
1729 | C X
1730 | A Z
1731 | C Y
1732 | A Y
1733 | B X
1734 | C Y
1735 | C Y
1736 | B X
1737 | C Y
1738 | B X
1739 | C Y
1740 | C Y
1741 | B X
1742 | B X
1743 | C Y
1744 | B Y
1745 | A Y
1746 | B X
1747 | C Y
1748 | A Y
1749 | C Y
1750 | C Y
1751 | B X
1752 | C Y
1753 | B X
1754 | B X
1755 | B X
1756 | C Y
1757 | B X
1758 | B Y
1759 | B Y
1760 | A Y
1761 | A Y
1762 | A Z
1763 | B X
1764 | C Y
1765 | B Y
1766 | B X
1767 | B X
1768 | C Y
1769 | B Y
1770 | C Y
1771 | C Y
1772 | A Z
1773 | C Y
1774 | C Y
1775 | B Y
1776 | A Y
1777 | B Y
1778 | C X
1779 | B X
1780 | B X
1781 | B X
1782 | B X
1783 | A Z
1784 | B X
1785 | C X
1786 | A Y
1787 | C Y
1788 | B X
1789 | C Z
1790 | C Y
1791 | B X
1792 | C Y
1793 | B X
1794 | B X
1795 | A Y
1796 | C Z
1797 | B X
1798 | B X
1799 | C Y
1800 | A Z
1801 | A Y
1802 | C X
1803 | B Y
1804 | B Y
1805 | B X
1806 | A Y
1807 | C Y
1808 | B X
1809 | B Y
1810 | B Y
1811 | C Y
1812 | C X
1813 | A Z
1814 | B Y
1815 | C Y
1816 | B X
1817 | C X
1818 | C X
1819 | B Y
1820 | A Z
1821 | B Z
1822 | B X
1823 | B X
1824 | A Z
1825 | B Y
1826 | C Y
1827 | C Y
1828 | B X
1829 | C Z
1830 | C Y
1831 | C Y
1832 | A Y
1833 | C Y
1834 | B Y
1835 | B X
1836 | C Y
1837 | C Y
1838 | A Y
1839 | A Z
1840 | A Z
1841 | B X
1842 | C Y
1843 | B X
1844 | B X
1845 | B X
1846 | B X
1847 | A Z
1848 | B X
1849 | A X
1850 | C Z
1851 | C Y
1852 | B Y
1853 | A Y
1854 | B X
1855 | B Y
1856 | A Z
1857 | C Y
1858 | C Y
1859 | B X
1860 | C Y
1861 | C Y
1862 | C X
1863 | C Y
1864 | B X
1865 | B X
1866 | B X
1867 | C Y
1868 | B Y
1869 | B Y
1870 | C Y
1871 | C Y
1872 | B X
1873 | B X
1874 | B X
1875 | B X
1876 | A Y
1877 | C Y
1878 | B X
1879 | C X
1880 | A Z
1881 | C Y
1882 | B X
1883 | B Y
1884 | B Y
1885 | B Y
1886 | C Z
1887 | B Y
1888 | A Y
1889 | C X
1890 | A Z
1891 | C Y
1892 | C Y
1893 | C X
1894 | A Y
1895 | B Y
1896 | A Y
1897 | B X
1898 | C X
1899 | B X
1900 | C Y
1901 | B Y
1902 | B X
1903 | C Y
1904 | C Y
1905 | B X
1906 | B Y
1907 | B X
1908 | A Z
1909 | A Z
1910 | A Y
1911 | B X
1912 | B X
1913 | B Y
1914 | C X
1915 | A X
1916 | B X
1917 | B Y
1918 | C X
1919 | C Z
1920 | C Y
1921 | A Y
1922 | C Y
1923 | B X
1924 | A Z
1925 | B X
1926 | B X
1927 | A Z
1928 | C X
1929 | A Z
1930 | C Y
1931 | C Y
1932 | A Z
1933 | A Y
1934 | B X
1935 | C Z
1936 | B X
1937 | A Y
1938 | B Y
1939 | A X
1940 | B Y
1941 | B Y
1942 | B Y
1943 | B X
1944 | C Y
1945 | B X
1946 | C Y
1947 | C X
1948 | C X
1949 | A Z
1950 | C Y
1951 | B X
1952 | A Y
1953 | C Y
1954 | A Y
1955 | B X
1956 | C Y
1957 | C Y
1958 | B X
1959 | C Y
1960 | B X
1961 | C Y
1962 | A Y
1963 | A Z
1964 | C Y
1965 | B Z
1966 | C Y
1967 | C Y
1968 | B X
1969 | C Y
1970 | C Y
1971 | C Y
1972 | B X
1973 | A Y
1974 | A Z
1975 | B X
1976 | A X
1977 | B Z
1978 | C Y
1979 | B Z
1980 | C Y
1981 | B Y
1982 | B Y
1983 | C Y
1984 | C Y
1985 | B X
1986 | C Y
1987 | A Z
1988 | B Y
1989 | C Y
1990 | C X
1991 | A Y
1992 | A Y
1993 | B X
1994 | B X
1995 | B X
1996 | A Y
1997 | C Y
1998 | A Y
1999 | B Y
2000 | C Y
2001 | A Y
2002 | A Y
2003 | C Y
2004 | B X
2005 | C Y
2006 | B X
2007 | C Y
2008 | B X
2009 | B X
2010 | C Y
2011 | C X
2012 | A Z
2013 | C Y
2014 | C Y
2015 | A Z
2016 | C Y
2017 | A Y
2018 | A X
2019 | A Z
2020 | B Y
2021 | C Y
2022 | B X
2023 | C Y
2024 | C Y
2025 | C Y
2026 | C Y
2027 | A X
2028 | B X
2029 | C Y
2030 | B Y
2031 | B X
2032 | B X
2033 | A Y
2034 | A Z
2035 | C X
2036 | C Y
2037 | C Z
2038 | C Y
2039 | B Y
2040 | C Y
2041 | B X
2042 | B X
2043 | A X
2044 | B X
2045 | B X
2046 | A Y
2047 | C Y
2048 | B X
2049 | A Z
2050 | C Y
2051 | C Y
2052 | A Z
2053 | C Y
2054 | C X
2055 | B X
2056 | B X
2057 | B X
2058 | C Y
2059 | B Z
2060 | C Y
2061 | B X
2062 | C X
2063 | B X
2064 | C Y
2065 | C Y
2066 | A Y
2067 | C Y
2068 | C Y
2069 | C Z
2070 | A Z
2071 | C Y
2072 | C Y
2073 | C Y
2074 | B X
2075 | C X
2076 | B Z
2077 | C Y
2078 | B X
2079 | B X
2080 | B X
2081 | C Y
2082 | B Y
2083 | B X
2084 | B Y
2085 | A Y
2086 | B Y
2087 | B X
2088 | C X
2089 | C Y
2090 | A Z
2091 | B Y
2092 | C Y
2093 | B X
2094 | C Y
2095 | C X
2096 | B X
2097 | B X
2098 | A Y
2099 | B Y
2100 | B X
2101 | A Y
2102 | B X
2103 | C Y
2104 | C Y
2105 | C Y
2106 | A Z
2107 | A X
2108 | C Y
2109 | C Y
2110 | C Y
2111 | A Z
2112 | B X
2113 | B X
2114 | A Y
2115 | C Y
2116 | C X
2117 | C Y
2118 | B X
2119 | B X
2120 | A Y
2121 | A Y
2122 | B X
2123 | B X
2124 | C Y
2125 | B X
2126 | B X
2127 | A Y
2128 | A Z
2129 | B X
2130 | A Y
2131 | C Y
2132 | C Y
2133 | C Y
2134 | B X
2135 | B X
2136 | C X
2137 | A Y
2138 | C Y
2139 | B Y
2140 | A Y
2141 | C Z
2142 | B X
2143 | C Y
2144 | B Y
2145 | B X
2146 | C Z
2147 | A Y
2148 | C X
2149 | C Y
2150 | C Y
2151 | B X
2152 | C X
2153 | B X
2154 | A Y
2155 | C X
2156 | B Y
2157 | A Y
2158 | A Y
2159 | B X
2160 | C Y
2161 | B X
2162 | C Y
2163 | B Y
2164 | C Y
2165 | C Y
2166 | B X
2167 | B X
2168 | B X
2169 | B X
2170 | B X
2171 | C Y
2172 | A Y
2173 | C Y
2174 | A Z
2175 | A Y
2176 | B X
2177 | C X
2178 | B X
2179 | B Y
2180 | C Z
2181 | B Y
2182 | B X
2183 | C Y
2184 | A X
2185 | C X
2186 | C Y
2187 | B X
2188 | C X
2189 | A Y
2190 | C Z
2191 | C Y
2192 | B X
2193 | A Z
2194 | A Y
2195 | C Y
2196 | C Y
2197 | C Y
2198 | C X
2199 | B X
2200 | A Z
2201 | B Y
2202 | C Y
2203 | C Y
2204 | B X
2205 | B Y
2206 | C X
2207 | C Y
2208 | B X
2209 | B X
2210 | B Z
2211 | C Y
2212 | B X
2213 | B X
2214 | B Z
2215 | B X
2216 | C Y
2217 | C Y
2218 | C Y
2219 | C Z
2220 | C Y
2221 | B Y
2222 | A Z
2223 | A Z
2224 | B X
2225 | B Y
2226 | A Z
2227 | B Y
2228 | B X
2229 | B X
2230 | B Y
2231 | C X
2232 | C Y
2233 | A Y
2234 | C X
2235 | C X
2236 | B Y
2237 | A X
2238 | B Y
2239 | B X
2240 | C Y
2241 | C Y
2242 | B X
2243 | C Y
2244 | A X
2245 | C X
2246 | C X
2247 | B X
2248 | B X
2249 | C X
2250 | B Y
2251 | B Y
2252 | A Y
2253 | B X
2254 | B X
2255 | B X
2256 | C X
2257 | B X
2258 | A Y
2259 | C Y
2260 | B X
2261 | A Z
2262 | B Y
2263 | A Y
2264 | B X
2265 | B X
2266 | C Y
2267 | B Y
2268 | A Z
2269 | B X
2270 | B X
2271 | C Y
2272 | A Y
2273 | A Y
2274 | A Z
2275 | C Y
2276 | A Y
2277 | B X
2278 | A Y
2279 | B X
2280 | C Y
2281 | C Y
2282 | C Y
2283 | B X
2284 | B Y
2285 | B X
2286 | C Y
2287 | A Z
2288 | A Z
2289 | B Y
2290 | B Y
2291 | C X
2292 | C X
2293 | C Y
2294 | B X
2295 | C Y
2296 | B X
2297 | C Y
2298 | C Y
2299 | A Y
2300 | A Y
2301 | A Z
2302 | A Y
2303 | B X
2304 | B X
2305 | B X
2306 | B Y
2307 | C Y
2308 | C X
2309 | C Y
2310 | B X
2311 | B Y
2312 | C Y
2313 | C X
2314 | C Y
2315 | B X
2316 | A Z
2317 | C Y
2318 | C Y
2319 | B X
2320 | A Z
2321 | B X
2322 | A Z
2323 | A X
2324 | A X
2325 | B X
2326 | B X
2327 | C Y
2328 | C X
2329 | B Y
2330 | C Z
2331 | B X
2332 | C Y
2333 | A Z
2334 | B X
2335 | A Y
2336 | C X
2337 | B Y
2338 | C Y
2339 | B Y
2340 | C X
2341 | C Y
2342 | C Y
2343 | B X
2344 | B Y
2345 | C Y
2346 | C X
2347 | C Y
2348 | B Y
2349 | B Y
2350 | B X
2351 | B Z
2352 | C Y
2353 | C Y
2354 | B X
2355 | C Y
2356 | C Y
2357 | C Y
2358 | B Y
2359 | B Y
2360 | C Y
2361 | C Y
2362 | C X
2363 | B Z
2364 | C Y
2365 | C Y
2366 | C Y
2367 | B Y
2368 | C X
2369 | B Y
2370 | A Y
2371 | B X
2372 | B Y
2373 | A Z
2374 | C Y
2375 | B X
2376 | A X
2377 | C X
2378 | B X
2379 | B X
2380 | A Y
2381 | A Y
2382 | A Y
2383 | A Y
2384 | B X
2385 | B X
2386 | A Z
2387 | A Z
2388 | C Y
2389 | B X
2390 | A Z
2391 | B X
2392 | B X
2393 | C Y
2394 | A Y
2395 | B X
2396 | B X
2397 | A Y
2398 | B X
2399 | A X
2400 | C Y
2401 | B X
2402 | B X
2403 | A Z
2404 | C Y
2405 | B Y
2406 | C Y
2407 | A Z
2408 | B X
2409 | C X
2410 | B Y
2411 | C X
2412 | B X
2413 | B X
2414 | C X
2415 | A Y
2416 | B X
2417 | B Y
2418 | B X
2419 | C Y
2420 | B X
2421 | A Y
2422 | B X
2423 | C Y
2424 | B Z
2425 | B X
2426 | A Z
2427 | B X
2428 | A Z
2429 | A Y
2430 | B Z
2431 | B Y
2432 | B X
2433 | B X
2434 | B Z
2435 | B X
2436 | C Y
2437 | B Y
2438 | A Z
2439 | C Y
2440 | B X
2441 | B Y
2442 | A Y
2443 | C Y
2444 | C Y
2445 | B X
2446 | B X
2447 | C Y
2448 | B X
2449 | C Y
2450 | B X
2451 | B X
2452 | A Y
2453 | C Y
2454 | A Y
2455 | A Y
2456 | A Y
2457 | C Y
2458 | C Y
2459 | A Z
2460 | B X
2461 | A Y
2462 | C Y
2463 | B X
2464 | C X
2465 | B Y
2466 | C Z
2467 | C Y
2468 | B X
2469 | C Y
2470 | C Y
2471 | B X
2472 | B X
2473 | B X
2474 | C X
2475 | C X
2476 | B X
2477 | C X
2478 | C X
2479 | C X
2480 | A Z
2481 | B Y
2482 | B X
2483 | B X
2484 | B X
2485 | C Y
2486 | A Z
2487 | B Y
2488 | B X
2489 | B X
2490 | B Y
2491 | A Z
2492 | B X
2493 | C Y
2494 | C Y
2495 | A Z
2496 | C Y
2497 | B X
2498 | A Y
2499 | C Y
2500 | B X
2501 |
--------------------------------------------------------------------------------
/aoc22/inputs/3.c:
--------------------------------------------------------------------------------
1 | #define INPUT 51,4a,52,42,4d,44,4d,74,52,44,43,74,4a,7a,42,74,4a,4d,66,6a,4e,6a,68,77,76,6d,4e,44,76,77,6a,4c,56,56,67,68,0a,54,50,53,4e,4e,50,5a,47,54,6a,67,6d,53,6d,76,66,6a,4c,0a,62,50,6c,70,5a,5a,62,70,73,54,6c,54,73,57,70,72,70,47,46,43,4a,74,52,74,7a,4d,4e,64,4d,4d,42,42,63,57,6e,4a,51,42,0a,74,70,70,76,62,51,42,68,70,51,51,64,72,7a,4d,4d,63,4c,77,68,4d,63,0a,67,5a,6e,57,52,63,63,52,4e,67,46,47,52,47,52,46,52,4e,4e,67,5a,67,4a,4d,64,64,64,64,4c,4c,4c,4d,43,50,71,77,4c,43,4e,50,77,71,50,4a,0a,6e,52,52,6d,46,53,6e,57,6d,6c,67,5a,6c,54,6c,54,6c,6c,53,6c,53,57,57,57,54,73,66,76,66,44,51,70,42,66,42,63,70,51,76,70,56,51,70,54,66,51,51,66,0a,6c,52,6c,73,56,46,67,54,6c,4d,67,52,4e,73,53,4e,54,6c,46,67,6d,62,57,6e,4d,50,70,70,50,6e,4d,71,57,5a,4d,57,50,50,57,57,0a,66,44,6a,67,42,4a,64,43,66,43,48,48,42,6e,66,4c,57,70,71,6e,6d,6e,70,5a,6d,66,0a,47,6a,51,48,48,63,64,76,4a,48,51,42,48,53,53,4e,73,46,51,46,73,6c,77,77,52,67,0a,4e,50,77,44,4c,44,48,4e,77,6a,4c,4c,48,57,6a,62,64,53,62,44,66,4a,4a,51,54,5a,73,5a,44,53,0a,42,63,46,42,63,76,67,46,76,67,68,6e,46,4c,72,42,70,76,72,67,63,67,72,4a,53,5a,4a,70,51,64,66,53,54,5a,62,43,73,53,64,66,5a,5a,66,62,43,66,0a,56,72,6e,67,56,46,52,6d,72,56,57,48,4c,47,56,4d,6c,4c,0a,53,4e,42,42,42,44,6c,66,5a,44,4c,71,4e,47,6d,67,46,6a,6a,6d,42,73,51,67,43,46,74,46,0a,56,50,50,56,62,68,70,62,68,4d,68,52,68,6e,63,6e,53,63,52,6e,63,62,72,51,74,43,67,51,51,46,6d,6a,6a,6a,73,67,74,52,74,51,48,6d,46,51,0a,6e,68,57,63,50,4a,56,68,70,62,76,4d,76,77,76,77,6c,6c,76,53,6c,47,6c,44,0a,77,4e,6c,4e,4e,71,74,71,48,48,48,50,68,71,43,7a,0a,4d,4d,4d,4d,63,51,53,57,53,70,51,43,57,46,6e,52,52,50,63,68,4c,56,76,50,4c,4c,7a,68,6d,68,4c,7a,68,68,0a,43,72,67,52,53,57,72,6e,72,51,70,70,70,52,51,72,43,54,6e,52,54,52,74,47,74,42,44,42,66,62,4e,42,6c,6c,62,54,4a,6c,5a,74,66,4e,42,4e,0a,51,4e,62,62,4e,72,6e,4e,6e,43,77,48,6d,4e,50,51,6d,7a,71,51,4e,50,73,43,43,66,42,46,46,47,74,73,42,42,64,64,42,44,74,43,4a,44,4a,64,0a,67,76,56,67,70,5a,57,67,54,57,76,52,76,6c,76,4c,50,44,44,4a,6a,47,42,66,64,73,64,70,44,44,4a,47,64,64,0a,5a,52,4d,57,57,52,4d,56,67,52,5a,67,68,54,67,67,50,53,4d,5a,7a,51,77,77,6e,71,77,6d,6e,7a,68,4e,6e,4e,77,48,63,51,48,6d,0a,56,6d,50,48,7a,42,6d,70,6d,51,48,62,56,48,53,70,4e,48,42,56,51,43,74,52,50,50,43,50,76,46,46,4d,71,71,6e,74,5a,43,5a,71,4d,52,0a,64,57,6c,44,63,66,63,66,63,6a,63,66,44,57,6a,6c,73,5a,66,6a,4a,68,64,47,76,46,4c,47,6e,4c,73,4c,71,73,52,6e,76,52,76,52,47,47,52,74,74,43,0a,77,66,4a,68,5a,54,6c,6c,63,66,64,5a,64,66,6a,4a,66,6a,64,6d,51,7a,48,56,53,7a,48,7a,67,48,51,54,70,48,70,6d,70,56,0a,71,4e,6e,71,6d,7a,6d,43,42,66,76,6d,44,76,42,6d,0a,48,63,64,68,74,51,64,74,74,62,62,68,74,56,63,72,56,56,44,4d,66,5a,76,64,4d,42,54,71,73,57,5a,4d,42,73,57,5a,0a,48,51,47,74,63,74,52,62,6c,77,71,70,4e,77,52,4e,0a,53,42,74,42,4c,42,4d,5a,7a,50,44,44,4e,46,46,44,51,6e,56,56,56,6e,6e,44,6d,66,0a,64,67,43,6a,62,6c,52,64,67,52,76,72,62,77,6a,4a,47,7a,51,51,51,7a,77,4a,56,4a,0a,57,70,57,62,43,57,57,76,6c,67,72,63,43,48,64,76,76,43,64,76,57,62,53,4c,5a,7a,68,68,5a,68,74,4c,42,50,50,53,74,53,50,68,4d,53,70,4d,0a,50,6c,50,6e,47,47,47,7a,43,71,71,6c,72,71,54,52,73,62,54,6d,46,52,57,67,44,50,6d,52,0a,77,77,70,4c,74,6a,77,70,7a,6a,44,77,46,57,52,73,57,54,57,57,0a,4e,5a,74,4a,6a,48,4e,4e,68,48,66,6e,43,42,63,4a,4d,42,6c,43,53,7a,0a,77,53,72,77,67,67,50,72,68,4a,68,43,64,64,64,77,0a,74,4c,4d,4e,76,4d,54,46,68,44,5a,64,68,54,42,68,0a,4c,74,4d,76,46,74,74,47,62,4e,63,57,52,73,4c,46,4c,73,63,63,52,52,67,66,6e,53,72,50,6a,50,6e,66,6c,6a,53,66,50,57,6c,6e,50,68,72,53,0a,54,53,5a,6c,77,5a,53,53,63,63,53,48,5a,4c,48,56,63,6c,6c,53,76,6d,44,4c,6d,4a,68,6a,44,44,66,66,4a,6d,47,6a,51,6a,67,51,51,4a,0a,73,64,42,64,7a,73,4e,6e,42,4d,42,73,74,4e,4e,4d,46,68,4e,50,4e,62,50,7a,67,47,66,44,67,4a,72,74,72,66,6a,43,6a,44,72,43,66,4a,6d,6d,44,51,4a,66,0a,42,6e,6e,42,7a,6e,52,73,46,52,46,42,73,73,70,7a,7a,62,5a,70,53,54,71,56,54,70,48,56,68,70,54,76,6c,71,56,57,0a,56,74,56,6a,6a,68,64,46,6d,43,43,66,68,52,52,7a,7a,53,44,62,44,7a,70,6d,67,7a,6d,76,67,62,0a,43,48,4a,71,72,73,77,73,57,76,62,76,4a,62,70,44,0a,43,71,43,50,63,5a,48,47,48,54,63,73,43,42,51,73,42,72,54,47,48,4d,46,6e,4c,56,51,6a,4d,6a,4c,56,56,68,64,68,6e,46,51,56,52,4c,0a,74,76,6c,50,53,72,6c,4e,4e,76,74,67,6c,54,74,50,63,63,6c,64,51,64,68,62,51,62,5a,64,63,71,71,5a,0a,6d,52,6d,42,47,48,57,6d,44,46,52,73,5a,71,48,72,66,62,64,68,71,68,5a,5a,0a,6a,6a,4d,47,6a,57,72,4a,70,74,74,4e,6a,74,67,67,0a,48,50,74,43,4d,4a,4e,6a,76,4a,4c,4d,44,5a,52,64,42,67,4c,53,42,53,66,73,57,42,67,47,0a,56,6d,6e,72,68,77,77,71,68,62,62,7a,72,77,6e,44,72,71,70,64,57,42,67,66,64,53,64,66,42,47,67,66,66,47,57,52,64,68,0a,71,6d,6e,54,46,62,56,6e,70,71,56,7a,70,6e,76,6c,44,46,4a,5a,44,43,6c,4e,5a,50,5a,4e,0a,4e,4e,52,46,51,66,7a,62,4e,57,68,4c,48,54,56,68,0a,64,47,6a,70,74,6e,72,50,71,67,76,71,6a,63,63,76,6e,64,6e,6e,50,50,68,6c,48,72,56,56,54,48,4c,57,4d,48,6c,77,6d,72,6c,48,4d,6d,56,54,57,6d,0a,74,44,67,67,47,6e,50,71,44,63,50,50,70,50,70,64,64,6a,47,68,67,67,74,4a,43,43,53,73,73,66,4a,62,51,73,44,66,62,5a,73,62,73,62,52,5a,46,51,0a,62,71,5a,57,68,62,76,76,76,71,66,76,68,71,76,51,43,43,68,68,5a,6c,6c,6c,47,77,6c,77,47,6a,4e,52,72,4e,47,72,77,47,77,4e,52,51,0a,50,6d,73,70,53,73,63,4a,56,4a,53,74,7a,53,56,7a,57,4a,6c,67,77,6c,77,4e,6c,47,52,4c,44,47,72,50,67,4e,77,4e,0a,70,64,48,6d,57,4d,56,53,74,57,4a,57,46,42,42,43,43,62,4d,68,43,66,62,43,0a,77,74,77,62,63,74,47,4c,77,47,57,68,47,77,66,57,77,68,4e,72,6e,4c,72,6c,72,51,46,4e,6d,50,4e,4e,56,72,72,6c,0a,43,53,64,71,5a,52,73,4d,53,74,64,4a,4d,4d,53,5a,71,50,6e,46,6d,56,71,50,51,6c,6e,6a,4e,6a,71,6a,0a,54,4d,74,73,54,42,53,53,52,5a,42,43,4a,53,74,4d,4a,53,5a,54,48,74,66,76,70,67,76,7a,7a,57,77,68,62,70,77,68,67,67,62,7a,48,70,62,57,0a,48,6e,63,4d,62,43,77,43,6e,63,48,6c,63,62,4d,44,4d,6e,4d,46,47,73,4e,73,4a,56,46,4a,47,63,68,56,54,54,63,6d,63,47,0a,52,52,66,42,52,4e,6a,52,4c,4c,4a,54,4c,54,54,68,73,71,0a,7a,70,42,52,6a,57,52,72,52,76,42,70,4e,74,52,57,72,67,77,62,72,77,51,50,44,50,4d,44,77,43,6e,6e,0a,54,44,63,50,4c,54,56,52,6a,6e,74,46,77,44,77,44,6e,62,0a,53,4a,4a,68,66,66,48,71,48,5a,5a,67,48,47,53,46,46,62,64,72,47,54,47,6e,47,76,0a,4e,51,48,57,5a,67,4a,51,48,4e,48,67,48,51,68,6c,4c,4c,4c,42,6a,70,52,54,6a,4c,6a,4d,4e,4e,4c,4d,0a,73,4d,4e,6e,4e,52,4e,72,6c,47,6c,73,5a,42,72,47,73,72,46,51,70,63,6c,57,6c,57,4c,66,70,57,6a,74,7a,54,66,44,74,70,7a,6a,0a,67,76,68,50,67,77,54,67,64,53,48,74,48,44,74,70,44,50,4c,70,0a,67,77,68,53,77,64,76,54,53,54,62,53,67,52,72,5a,4e,72,72,4e,46,46,4e,42,47,62,0a,72,74,5a,6e,44,48,4a,72,72,44,74,47,74,47,48,76,47,48,44,57,66,64,66,77,43,6a,63,42,68,6a,42,43,66,66,77,77,4c,76,0a,6c,7a,56,6c,7a,73,54,52,73,6d,7a,56,4e,54,73,70,56,73,4d,4d,73,6d,77,43,4c,63,6d,6a,6d,63,64,62,42,42,43,68,77,66,42,62,43,57,0a,73,56,54,4d,70,54,70,70,70,73,56,4d,73,50,52,50,56,7a,4d,4e,46,71,4d,46,77,5a,74,51,72,48,5a,44,47,71,67,48,5a,72,53,51,51,72,51,51,4a,44,47,6e,0a,77,47,51,51,4d,4d,51,76,43,54,50,50,51,6e,48,50,42,53,0a,46,73,57,64,4a,64,64,73,7a,57,72,72,52,52,4a,52,54,6d,52,6d,70,70,70,52,48,42,4e,50,42,70,70,4e,48,70,0a,72,57,64,46,57,6c,46,4a,7a,62,7a,7a,4d,54,77,63,76,76,4d,62,47,4d,67,63,0a,57,54,6e,6e,54,70,71,53,6e,43,4c,6d,6a,47,67,53,67,6a,7a,74,67,67,0a,72,51,52,48,51,76,62,4e,4c,77,72,67,74,47,74,72,6d,44,67,6c,4a,74,0a,50,77,48,52,4e,76,51,50,73,76,48,76,50,54,54,70,4c,54,63,43,4c,56,6e,71,0a,71,54,73,71,4a,44,4a,48,6a,6a,66,4d,43,53,44,6a,0a,52,6e,47,47,4e,46,47,7a,6e,7a,47,56,6e,42,43,57,6d,66,53,4d,53,4c,77,57,52,77,53,6a,0a,4e,6e,42,62,56,51,46,56,43,43,6c,63,74,48,51,63,0a,42,48,7a,6d,66,44,48,66,4a,4c,47,63,51,42,47,67,51,4c,44,63,73,74,4e,74,74,6c,5a,67,64,6c,6c,74,6c,64,73,68,67,5a,5a,67,0a,50,77,50,50,53,4a,77,50,76,53,4e,5a,6c,76,53,6c,0a,43,4a,77,77,6a,6e,4a,46,46,6e,57,52,4d,63,4d,7a,63,48,4d,48,52,7a,47,4c,0a,72,6d,5a,70,76,63,5a,63,71,63,63,73,71,6d,71,7a,7a,7a,63,42,52,4c,42,5a,62,42,42,52,4c,42,6c,52,47,56,64,66,5a,52,0a,50,77,6a,46,67,67,77,4d,44,67,4e,46,77,50,67,54,77,4e,46,67,74,46,4a,6a,66,47,4c,68,42,4c,73,47,52,47,62,66,42,66,42,4c,62,62,54,56,4c,62,64,66,0a,44,57,4a,77,67,44,57,4d,4a,4a,44,57,43,43,4e,48,6d,72,6e,73,63,6d,71,71,63,6e,70,57,53,51,0a,62,73,52,6c,56,67,4d,68,74,7a,48,76,68,52,76,70,7a,63,4c,53,5a,63,54,57,4c,47,7a,54,54,72,47,63,0a,51,4a,6e,44,6a,6d,71,6a,4a,64,6d,44,71,71,72,47,57,57,73,5a,73,5a,54,63,0a,6e,51,50,73,6e,77,43,4a,64,42,44,4a,44,44,4a,76,68,48,68,70,4d,52,43,56,6c,68,6c,67,52,56,0a,4e,42,4e,77,4d,43,74,4e,67,71,43,48,43,6c,48,43,6c,71,0a,4a,70,51,6d,46,72,51,51,66,48,66,57,6a,4a,54,66,4c,54,6a,66,4c,52,52,46,52,76,6e,76,68,76,6e,44,47,44,63,52,63,76,56,47,47,56,0a,48,54,7a,7a,70,7a,7a,64,48,67,62,42,5a,5a,74,64,4d,42,0a,53,57,63,56,76,42,46,42,56,42,6a,53,68,57,68,47,51,74,5a,6e,48,46,44,48,52,47,47,51,73,52,0a,70,4d,5a,70,6d,6d,4a,50,62,77,62,54,54,51,74,74,72,44,72,52,72,74,74,54,0a,6d,5a,66,6c,71,64,6c,62,4d,56,63,4e,6a,64,57,4c,53,6a,0a,74,76,6a,64,63,63,64,62,4c,6a,68,76,68,6c,63,6a,52,4d,76,52,54,43,51,4a,6d,42,50,42,43,46,52,47,0a,71,67,6e,71,5a,66,48,70,5a,44,56,6e,43,70,5a,7a,5a,4a,51,46,51,42,67,6d,6d,50,46,4a,42,6d,52,51,4a,51,0a,53,48,44,5a,44,44,7a,70,4e,56,70,66,73,4e,73,48,71,70,44,53,6a,4c,77,43,62,62,57,4c,43,68,77,74,77,6a,74,43,57,63,0a,46,73,57,54,62,63,77,6d,47,66,46,46,46,72,70,6c,0a,4c,4d,68,7a,64,66,71,6a,4c,64,48,51,51,6e,53,76,6c,64,47,76,6e,53,0a,56,5a,6a,56,4e,7a,66,4e,4c,74,6a,7a,44,4d,68,56,44,4e,74,71,44,71,77,4a,77,52,6d,6d,6d,5a,4a,67,6d,67,63,62,57,67,52,52,77,43,62,4a,0a,5a,4a,62,50,77,77,66,4a,63,47,6c,77,43,72,72,5a,72,4d,4d,64,64,4d,4d,4d,74,74,0a,70,54,4e,76,76,53,53,48,6d,6d,6e,62,70,46,52,70,0a,53,4c,53,6a,53,4c,44,53,51,4e,4c,48,4e,44,62,4a,62,63,66,4a,63,6c,42,7a,6a,47,73,7a,0a,57,53,51,43,57,51,57,73,74,43,57,43,43,67,4e,4e,73,44,43,5a,4d,5a,44,42,6a,6a,6c,4c,50,6e,48,4d,4d,4c,50,72,48,6c,63,72,63,4c,48,48,54,6a,54,68,0a,62,56,46,4a,46,77,66,64,52,46,46,67,6a,54,50,67,6e,63,0a,47,6d,7a,52,52,71,76,52,64,64,62,64,52,52,64,66,4a,52,4a,66,73,71,73,53,53,73,5a,44,73,44,42,51,5a,74,43,53,67,70,67,74,0a,46,50,6a,70,72,50,70,50,43,43,46,70,46,50,48,57,73,57,76,71,6e,6e,6c,6c,51,73,64,4c,51,4d,4d,6c,4c,74,73,6c,4c,51,4d,63,0a,77,6d,7a,4a,67,7a,52,53,52,52,4a,67,68,42,62,77,47,42,42,53,62,74,47,66,4c,66,47,6c,63,4e,6e,6c,6c,74,64,64,64,51,74,72,4d,64,0a,7a,44,6d,52,42,6d,77,44,72,70,56,46,44,54,56,44,56,70,0a,46,50,47,71,6a,73,5a,47,6c,44,4a,6d,7a,73,48,63,54,63,54,4d,4d,73,0a,53,51,4e,4c,53,76,64,62,76,56,62,72,53,62,48,63,66,74,47,63,72,70,48,47,66,4d,6d,66,0a,43,4e,4e,47,53,43,43,64,53,43,5a,71,6a,71,6c,6a,5a,46,0a,47,76,71,70,71,72,70,71,64,71,64,73,64,47,73,68,53,4d,68,68,52,73,53,4d,68,68,6c,53,6c,4a,0a,44,4c,43,7a,7a,6a,7a,42,77,43,62,51,57,74,51,6c,52,52,46,52,52,4a,46,70,74,66,66,66,67,4d,0a,57,7a,70,4c,62,4c,44,62,42,63,4c,50,6a,57,51,57,44,42,7a,7a,6d,6e,76,4e,6e,64,48,4e,71,5a,71,5a,4e,5a,4e,76,63,72,4e,54,0a,73,63,48,43,47,66,57,48,73,76,57,48,56,66,47,73,67,67,48,66,67,76,56,63,53,4c,77,4c,4c,50,52,77,77,44,4c,50,4c,6c,6c,52,50,44,7a,6c,50,72,0a,74,62,6a,71,71,4e,4e,54,6c,50,44,54,54,53,72,44,0a,51,6e,74,6d,4e,62,4e,6e,6e,64,64,71,4a,71,71,62,46,4a,48,5a,57,57,48,57,4a,57,76,5a,48,47,56,4a,73,53,73,70,0a,57,5a,6a,70,6a,77,77,47,42,47,5a,51,73,71,42,4c,42,48,4c,48,53,52,4c,50,0a,6d,4a,68,74,64,66,56,74,44,56,4a,74,76,56,4c,53,6d,4e,52,53,63,63,50,50,50,6c,4e,48,63,48,0a,4a,4a,4c,43,46,44,68,4c,43,66,56,47,47,77,62,47,47,43,77,72,47,43,0a,6e,42,6e,73,47,53,43,72,70,74,6d,73,4c,57,47,68,57,52,76,56,52,4a,56,4a,0a,72,6c,6c,4d,5a,5a,62,63,57,57,4c,4a,76,68,54,6c,0a,4d,48,77,7a,63,7a,48,77,77,48,71,5a,63,64,7a,4d,64,62,71,53,6d,77,73,73,73,6d,74,4e,43,72,42,6d,74,72,6e,51,4e,42,0a,4c,7a,77,72,5a,4e,72,4e,7a,42,4d,72,4a,42,7a,4a,73,66,71,71,6e,74,4d,6c,56,6c,53,66,68,6e,68,62,0a,48,54,44,50,57,44,48,50,54,67,47,48,57,54,47,63,50,46,52,67,46,70,50,50,74,66,71,6d,73,66,71,6c,63,63,6d,6c,53,6d,6e,62,6c,62,73,68,71,6e,6d,6d,0a,6a,57,47,67,70,52,47,50,46,52,48,6a,7a,64,42,42,73,72,42,4a,76,6a,0a,68,6a,4e,67,68,6a,6c,77,71,6a,7a,47,68,77,68,47,77,4c,72,4d,4d,72,73,4d,64,73,4d,66,63,7a,50,66,73,72,0a,5a,4a,51,53,46,5a,46,5a,70,43,54,51,53,5a,48,54,54,46,62,63,57,57,50,62,57,73,57,72,64,4c,56,6d,72,4d,57,4d,66,72,0a,74,74,74,48,53,43,70,46,51,42,51,51,70,4a,5a,53,4a,4c,67,42,4e,4e,44,68,71,68,42,71,76,42,76,76,52,71,0a,68,4c,4c,4a,4a,4a,4c,63,4c,50,4c,66,4c,77,63,4a,44,63,68,66,68,70,53,6d,71,47,62,6d,64,51,47,6d,47,53,64,62,71,64,62,6d,71,47,47,47,64,47,0a,7a,67,43,43,56,56,76,56,43,4e,56,73,73,64,62,71,6d,74,4d,57,76,62,6e,6e,64,44,0a,72,43,43,5a,5a,43,56,54,6a,56,5a,4e,7a,46,5a,4a,42,6c,66,6c,42,4c,63,63,44,68,42,46,46,42,0a,77,77,50,50,48,66,43,4d,48,51,73,72,63,77,50,62,4d,50,4d,63,76,51,46,4a,76,71,57,67,46,54,5a,67,44,46,4a,6c,74,67,5a,74,0a,6a,52,42,56,4c,68,70,4e,71,70,42,6d,52,68,68,52,64,4e,4a,5a,4a,67,57,54,42,42,74,67,5a,57,6c,74,5a,4a,4a,4a,0a,6d,53,6a,6e,64,68,53,7a,70,68,6a,4c,52,56,71,6d,68,70,68,4e,53,68,72,47,4d,47,72,63,62,47,62,6e,47,43,48,47,77,72,77,47,66,62,62,47,0a,50,56,42,52,68,42,64,6c,77,52,74,52,68,52,42,77,74,42,6c,56,7a,44,63,47,70,56,63,5a,6e,67,67,47,7a,47,4d,4d,73,67,0a,66,46,46,57,51,71,62,46,62,4c,57,43,57,76,76,46,62,54,6a,6a,47,6e,73,5a,4d,66,67,73,5a,63,5a,7a,53,5a,47,4d,70,53,67,44,0a,51,4a,54,43,43,4c,46,46,4c,6a,46,71,46,62,48,54,62,62,6c,74,6d,68,42,4e,77,77,63,4e,6d,74,68,4e,68,6c,48,72,0a,71,77,50,4a,4a,73,4a,64,62,50,64,77,4a,64,64,51,43,52,43,67,43,54,4d,54,52,47,47,77,4d,47,0a,63,4c,46,63,46,42,5a,4e,57,57,51,4c,53,51,52,66,5a,6a,70,6c,6a,54,47,52,43,67,47,52,0a,63,46,76,72,63,4e,42,46,4a,44,68,7a,64,51,7a,76,0a,7a,54,73,56,54,71,44,71,51,4e,74,4e,77,77,4d,56,6d,4e,0a,70,48,70,53,7a,50,62,52,72,76,62,52,72,47,7a,47,4d,77,5a,77,6c,42,4a,6d,4e,74,63,6c,77,4a,70,42,0a,53,6a,48,52,50,66,52,62,66,66,50,48,71,7a,43,43,43,64,54,73,54,7a,71,6a,0a,6a,6e,62,4d,42,6e,50,6a,6a,6a,46,74,42,74,4d,6a,46,50,52,74,47,66,76,76,66,7a,67,57,57,48,4d,66,57,48,54,6c,47,67,48,48,0a,64,43,70,64,71,72,56,72,6d,64,70,48,66,54,4a,54,43,57,47,4a,67,47,0a,71,56,64,72,70,70,71,53,54,64,64,71,4e,77,5a,63,44,50,50,50,68,5a,52,42,50,42,4c,42,52,4c,6a,46,0a,56,62,48,71,4c,6c,47,51,6c,67,6a,4c,6a,6a,51,73,4e,76,43,5a,54,73,4e,6a,4d,74,43,5a,76,54,0a,53,4a,74,74,74,70,70,77,77,70,77,42,77,64,50,76,73,76,43,76,42,5a,72,76,4e,72,54,72,76,4d,0a,4a,44,6e,57,4a,70,44,53,53,70,6d,53,77,6d,70,50,7a,53,77,7a,6e,68,44,6c,71,47,71,71,74,71,71,48,47,48,4c,6c,68,62,6c,47,62,52,0a,52,71,52,4a,4a,56,4d,50,64,52,56,56,70,71,4d,64,46,77,6d,76,6e,53,4d,77,5a,63,66,43,47,66,44,53,5a,63,0a,43,73,73,51,67,6a,73,73,76,5a,76,6a,66,66,6d,53,0a,7a,4e,6c,62,62,57,54,42,4c,57,43,62,43,50,50,46,50,62,56,48,0a,6e,76,51,73,48,53,73,47,76,4e,76,6e,51,67,68,54,52,4d,72,72,6a,70,6a,4d,0a,74,74,6c,4c,44,6c,7a,50,74,47,44,63,52,52,74,70,5a,54,46,6a,74,67,4d,6a,0a,50,42,4c,42,77,50,50,44,7a,7a,4c,77,62,6c,7a,66,66,7a,4c,6c,56,48,48,73,43,43,48,71,73,66,76,43,43,53,73,47,53,4e,57,43,0a,6a,48,72,54,72,54,68,72,74,48,67,74,74,54,68,67,48,54,74,66,67,54,67,73,6d,5a,5a,6d,42,53,5a,47,53,47,73,53,47,66,5a,42,5a,46,46,6d,51,73,0a,71,43,43,50,64,62,63,43,4a,64,64,62,52,63,73,51,53,47,68,46,7a,6d,5a,71,5a,47,6d,71,0a,56,56,4e,4e,64,56,76,63,6c,44,63,50,62,4d,57,4d,77,6e,6e,6c,77,68,70,68,6a,70,0a,5a,64,42,67,4a,71,46,57,4e,4e,4e,71,6e,5a,5a,4e,47,73,42,43,43,43,52,76,72,43,77,43,6a,43,73,73,43,42,0a,68,74,44,50,4d,53,50,74,4d,50,7a,50,54,4c,4d,7a,4d,54,4d,62,52,52,62,54,62,76,77,52,43,6a,66,52,66,73,62,57,57,73,0a,4c,68,4d,6d,74,4d,44,57,6d,48,6c,70,70,70,70,6c,4a,5a,4a,67,4e,64,0a,6d,68,74,73,6a,74,62,43,68,63,70,4c,71,6d,70,6d,7a,4c,0a,44,50,6c,50,70,72,72,66,42,72,70,47,48,48,56,47,4e,56,48,52,71,63,4e,76,76,4c,4c,71,4c,63,76,4a,7a,7a,54,76,4c,63,0a,56,46,66,56,50,72,72,42,51,46,50,6c,44,44,77,44,77,42,70,42,74,53,67,51,6a,6e,67,68,4d,68,43,64,62,53,6e,6e,68,74,4d,4d,0a,44,50,44,4d,70,62,73,48,50,44,50,4e,74,64,74,72,67,4d,74,64,6e,51,0a,57,53,68,57,6c,53,43,4a,56,6c,7a,63,63,53,42,76,42,76,68,56,5a,5a,57,6c,67,54,4e,54,72,4e,72,72,51,54,6a,51,6a,6a,6a,6a,67,44,53,67,53,64,4e,74,0a,63,76,6d,43,44,76,43,4a,43,63,73,52,62,6d,70,46,6d,71,6d,73,0a,73,53,66,46,73,73,6d,4c,6e,4c,77,50,74,72,72,6d,74,74,73,46,62,44,76,57,67,43,76,64,64,56,67,66,67,57,64,52,44,57,6c,43,68,44,0a,6e,6e,47,6e,48,42,7a,71,48,6a,71,42,4a,47,43,68,6c,52,43,6c,68,76,67,68,4a,57,44,64,0a,6a,4e,7a,4e,63,63,7a,4d,63,47,6e,74,50,4d,77,77,53,73,53,72,0a,47,47,50,43,54,68,43,43,76,43,54,56,57,42,43,42,47,4d,56,4d,73,54,67,5a,4a,73,72,5a,74,48,4e,4e,74,72,73,48,4a,72,67,48,0a,7a,6a,52,77,63,77,77,66,76,53,6a,6d,77,7a,6e,66,7a,51,53,48,44,4a,74,67,72,4e,72,52,4e,72,4c,44,73,52,72,48,74,44,0a,66,6a,76,7a,6d,63,66,53,6c,53,7a,6e,77,63,6e,6d,6e,53,51,6e,68,64,6c,68,57,42,70,47,70,64,42,71,68,47,68,71,68,56,50,64,0a,73,48,47,47,71,70,52,71,66,4e,52,56,62,44,44,74,56,77,77,7a,57,66,0a,43,43,4c,51,5a,6c,6c,54,51,4c,54,63,53,53,68,54,51,76,6a,68,51,4c,6e,6e,57,72,44,7a,56,70,77,74,44,44,77,56,44,6e,63,7a,77,4d,77,4d,0a,76,67,67,5a,4c,5a,54,6c,64,6c,68,70,43,54,6c,5a,6c,5a,43,52,52,50,4e,52,6d,71,64,6d,47,42,48,50,46,71,73,47,71,4e,0a,77,77,46,44,46,4c,4d,44,6a,6a,43,4e,67,4e,77,4e,6c,77,77,67,76,52,0a,66,72,50,62,53,4a,4d,53,53,50,42,71,72,66,70,70,53,71,72,42,5a,71,4d,51,68,48,6c,6d,4e,73,52,5a,6d,6d,73,6c,76,67,68,73,6d,68,73,67,67,67,74,5a,0a,54,50,53,50,66,42,51,72,64,4a,53,66,54,54,71,53,62,62,42,66,54,66,64,63,47,57,6a,46,57,57,46,44,57,6e,47,4d,6a,4c,6a,47,56,46,43,6a,0a,4c,5a,52,5a,62,48,74,71,6e,56,7a,74,48,54,54,54,6a,4d,42,51,6a,51,48,48,0a,72,4a,63,44,47,70,77,77,67,44,77,43,43,57,46,47,53,46,4d,53,66,66,56,57,66,46,0a,63,4e,4e,4e,67,76,68,4e,67,6c,44,6e,68,64,7a,73,62,4c,62,6d,56,73,0a,52,77,6d,72,47,56,50,6d,4e,4c,7a,64,6d,56,70,6d,72,56,74,48,44,6a,6a,67,44,48,48,52,71,6a,46,74,6e,67,46,74,0a,43,42,6c,57,68,51,57,6c,54,57,73,68,73,62,6c,46,47,6e,74,6a,48,74,47,62,48,47,0a,57,73,54,53,47,5a,53,54,51,5a,5a,4a,70,50,4e,64,7a,53,72,7a,77,76,70,72,0a,43,56,73,67,67,53,67,64,77,53,77,67,68,56,53,54,43,67,56,5a,6a,4a,6c,52,76,6c,51,4e,4a,48,4a,47,5a,56,76,6a,76,6a,0a,71,72,72,6e,7a,72,72,70,44,46,4d,7a,62,44,62,62,7a,72,4d,62,42,63,4e,6a,52,42,48,48,51,48,47,52,52,6c,6c,48,48,50,42,4e,42,6c,6a,6c,0a,72,6e,46,70,70,63,70,57,63,71,6e,57,4d,4c,44,4e,73,67,67,53,6d,57,6d,73,57,66,67,67,64,67,0a,77,6a,51,7a,50,6a,4a,63,70,6c,77,6d,44,44,42,4c,0a,76,67,68,57,68,68,6e,66,57,71,7a,68,66,74,57,74,66,6e,62,46,42,6d,6e,47,44,6e,4c,47,44,62,44,6d,6d,43,0a,7a,5a,4e,76,5a,72,4e,73,57,66,67,56,66,74,4e,5a,68,51,63,53,64,50,48,50,54,63,50,48,51,51,54,54,4a,56,0a,57,6a,76,50,56,62,57,6e,62,62,46,76,6a,66,4c,6c,63,70,6c,51,76,4c,51,76,43,77,43,6c,0a,73,4a,68,6d,72,72,54,52,54,44,44,4a,48,68,68,73,6d,4a,68,6d,72,4e,44,64,51,77,4c,51,51,6c,48,6c,6c,48,77,77,4c,70,43,4c,63,6c,42,42,6c,63,50,43,0a,52,4a,54,52,44,64,6d,50,6d,6d,7a,4e,54,44,68,6e,57,74,7a,4d,66,4d,57,74,71,6a,71,71,57,4d,0a,76,76,70,6a,71,74,6c,6c,44,4d,6c,48,44,74,44,42,73,50,53,53,66,42,4a,46,6c,53,66,66,4e,53,0a,67,77,54,6d,4a,72,54,63,4a,57,72,4e,53,6d,73,4e,42,42,50,66,6d,66,0a,56,7a,7a,4a,7a,67,54,6e,64,64,7a,57,72,77,6e,67,6e,57,71,62,48,71,62,74,4c,71,6a,71,76,70,76,71,68,62,4d,64,0a,54,6c,70,7a,77,47,5a,47,47,46,6d,5a,4a,64,50,70,52,74,70,48,50,72,70,63,50,73,0a,43,4d,4a,43,4d,67,51,6a,4d,51,76,72,66,4d,48,74,4d,66,48,76,0a,44,6a,6e,4e,6a,43,42,71,43,43,4e,6e,57,57,67,44,42,51,51,44,6e,43,5a,77,46,4a,77,6d,77,77,54,7a,6e,6d,46,56,77,46,6d,7a,54,4a,4a,6d,0a,43,63,44,50,70,70,44,43,46,64,44,72,46,63,46,73,4d,73,64,6c,4c,56,6a,6a,4c,73,4d,48,76,4d,0a,66,71,53,6d,6d,74,4e,47,71,4c,4e,66,66,68,48,48,62,73,4d,73,62,6a,62,6a,4e,6a,62,76,0a,53,74,68,53,47,6d,4c,6e,6d,66,77,66,57,47,57,68,53,51,47,53,51,52,6e,47,70,44,70,4a,50,43,44,4a,72,42,50,54,63,50,72,44,77,50,7a,46,63,70,46,54,0a,46,64,71,6a,44,74,50,57,7a,71,50,64,6e,50,50,74,50,46,62,73,73,6c,6c,71,4c,4a,6c,71,4e,70,70,73,4a,47,70,70,4c,70,0a,54,77,66,72,63,76,77,52,67,76,66,54,42,57,52,67,42,73,73,4a,68,73,70,48,66,66,66,4a,48,6c,48,4e,47,68,0a,4d,4d,5a,43,51,72,72,52,42,77,51,43,43,5a,4d,51,77,63,54,4d,77,50,7a,74,6e,46,5a,53,44,57,56,57,50,74,74,50,53,5a,7a,64,7a,64,0a,70,72,48,6c,72,70,4a,62,64,63,63,6c,6c,72,72,50,62,46,64,72,67,50,7a,5a,66,5a,68,5a,56,68,52,5a,56,53,63,4e,52,4e,57,74,53,5a,6a,57,52,57,0a,4c,6d,77,43,43,6e,76,71,77,47,43,4c,4d,6e,73,57,74,47,52,5a,57,56,66,62,66,62,66,74,52,57,0a,62,77,6e,76,42,6e,4c,42,76,62,73,42,76,73,7a,48,7a,70,67,42,6c,50,7a,48,48,6c,7a,67,0a,67,72,53,4a,4e,54,53,67,42,48,67,70,71,68,76,43,47,62,62,5a,64,64,47,43,47,62,62,54,0a,6e,44,4c,4d,73,73,51,4d,52,4c,77,4d,74,4d,57,52,57,43,5a,64,51,66,71,6a,66,47,76,5a,51,66,43,6a,43,63,0a,50,71,73,44,57,50,4d,4c,6e,77,6c,52,6c,6c,4a,7a,67,68,6d,67,6d,53,4e,68,70,67,72,6c,0a,54,51,47,63,57,51,42,44,6e,53,7a,7a,73,42,53,4c,0a,6d,4a,4a,6c,71,4a,77,56,4a,64,62,53,72,68,6c,72,6c,68,68,73,4c,4c,0a,4a,50,74,77,4d,74,64,50,62,4a,62,56,71,56,4e,70,50,74,6d,62,70,77,5a,63,51,44,46,46,63,43,63,63,46,6a,43,51,6a,70,51,57,53,57,5a,67,0a,4a,66,62,66,70,5a,4a,6d,7a,66,66,6d,70,5a,6e,5a,5a,77,73,72,77,44,46,76,77,48,50,50,0a,52,44,64,51,74,57,54,57,51,51,53,54,47,4e,52,68,73,46,73,6a,6e,76,6a,77,72,68,50,6a,74,48,0a,51,63,63,64,64,54,56,51,51,6c,64,63,47,47,52,64,47,6c,67,6d,56,6d,42,7a,66,56,70,44,6d,62,67,67,67,6d,70,4c,0a,48,56,6e,68,56,63,48,76,70,56,46,57,44,70,6d,50,0a,51,73,77,4e,5a,62,6c,54,54,77,6d,71,6c,6e,74,44,50,64,71,44,0a,73,47,5a,7a,4e,77,73,47,4e,54,68,68,4d,72,68,42,42,68,7a,6e,0a,66,51,6c,6c,42,6c,56,51,6e,63,67,77,4c,6c,66,57,77,57,44,76,70,70,5a,5a,67,67,5a,71,47,70,5a,67,70,47,64,76,47,47,0a,73,68,50,54,52,73,46,62,4e,46,4a,6d,76,71,70,47,6a,72,70,76,50,44,64,72,0a,52,4e,46,44,74,52,52,52,73,73,52,54,53,74,52,6d,54,6c,6e,7a,77,53,56,51,6c,56,56,57,66,57,7a,63,51,63,0a,57,6d,43,70,50,43,57,54,6a,51,50,43,57,57,53,6a,53,54,6d,72,71,52,4c,47,44,52,46,47,72,54,46,44,52,46,44,4c,44,44,0a,67,4a,6e,56,63,6e,56,7a,64,66,6e,5a,67,63,68,76,72,73,6c,4d,44,5a,47,6c,52,52,44,5a,4c,52,0a,66,64,48,68,66,6e,63,77,66,62,66,7a,4a,62,6e,4a,7a,4a,66,63,63,7a,68,68,53,6d,4c,43,43,4e,42,6a,53,70,6a,6d,70,6a,48,6a,42,51,6a,70,6d,70,4e,57,0a,42,44,76,44,50,47,52,77,52,76,43,6d,4c,73,73,47,4c,6d,73,4c,0a,66,72,52,6a,6a,6c,6c,64,72,71,74,4e,73,70,4c,57,70,71,46,63,43,6d,7a,6d,0a,6e,64,53,6e,56,4e,74,6c,6c,6c,64,72,64,66,53,6a,66,4e,76,67,56,52,48,42,77,62,62,56,4d,52,62,56,50,4a,67,48,0a,50,70,67,6a,68,70,56,4c,67,68,50,5a,68,53,67,5a,56,56,7a,7a,63,4a,57,63,63,50,4e,43,72,63,4a,7a,72,46,73,4a,0a,42,64,42,4e,4e,4d,71,4d,64,66,44,6e,44,4e,54,46,48,48,4a,43,71,48,72,4a,48,7a,72,46,7a,46,0a,77,66,4d,4e,74,4d,6e,64,6c,42,54,6c,6d,54,42,6e,64,52,70,67,67,68,68,6a,5a,52,6a,76,53,5a,56,6a,52,77,0a,5a,51,6e,51,4d,57,4d,63,6a,48,44,48,72,57,4e,46,0a,54,76,74,43,76,76,42,56,67,64,52,64,6d,76,42,56,4e,7a,44,48,6c,47,46,6a,46,48,6a,66,52,66,44,44,0a,64,76,74,43,43,62,64,4a,6d,68,76,68,68,68,68,62,68,56,42,50,4d,77,71,5a,73,77,6e,5a,71,5a,6a,6a,4d,63,63,73,5a,4a,0a,44,44,4d,7a,52,42,42,53,7a,52,44,54,4d,51,52,5a,73,62,76,73,73,43,62,68,5a,74,43,44,74,50,0a,64,4c,6d,77,4e,70,6c,6e,6d,6d,77,6a,47,76,50,56,43,52,74,56,56,76,56,64,0a,4e,4e,6d,6a,4c,6d,71,57,4a,6a,46,52,77,46,53,72,67,63,72,53,48,42,7a,63,54,7a,0a,54,77,54,77,54,4d,42,57,63,57,42,4a,4a,42,74,54,57,48,64,64,43,6d,66,67,7a,6c,43,7a,43,6c,73,76,6d,66,73,4d,0a,50,50,4c,44,6e,4e,71,50,52,4c,51,4e,56,6e,47,4e,56,73,44,51,6e,4e,6d,7a,64,68,76,64,64,64,6c,76,64,6c,71,67,71,6d,64,6c,72,66,76,76,0a,53,51,51,73,6a,50,50,4c,47,4c,62,44,53,6e,47,4c,4c,4e,6e,57,54,46,5a,4a,48,62,63,70,46,63,74,48,5a,70,77,4a,57,42,0a,46,7a,4d,6c,74,67,74,4d,7a,46,70,5a,74,6d,7a,64,6a,50,70,6e,76,52,54,51,54,76,52,57,54,44,66,6e,6e,54,6c,76,77,57,0a,4a,63,62,56,63,42,72,71,4c,43,56,4a,48,4a,53,4e,43,63,5a,56,71,56,71,71,54,52,51,52,57,57,66,4e,73,54,66,54,76,44,66,73,57,76,77,54,73,6e,77,76,0a,72,63,5a,71,56,4a,56,68,6d,68,67,50,6d,68,6d,64,0a,74,74,76,53,6e,6c,57,76,57,57,67,63,53,63,4d,44,73,48,48,4d,50,4d,6a,50,6d,48,0a,70,7a,4c,47,4c,66,4e,52,70,4a,73,76,6d,6d,66,76,4d,44,66,73,0a,47,68,70,7a,52,71,71,70,5a,70,70,4e,72,68,76,46,67,77,53,6c,57,6e,6e,42,46,6e,0a,73,62,51,63,44,4a,51,4a,4a,44,62,51,68,77,63,68,53,63,74,56,6e,56,6e,71,54,4d,76,4d,57,53,71,54,4d,50,53,4d,6c,50,0a,6a,74,6a,43,74,4e,52,4c,4e,43,52,67,52,6e,6c,54,50,50,57,67,0a,70,7a,70,48,64,4c,74,46,4e,64,4a,62,44,68,4a,48,73,51,68,73,0a,70,53,71,6e,66,71,44,6e,57,50,48,4e,50,43,43,48,43,70,0a,47,64,4a,5a,51,64,67,5a,62,42,76,67,51,4c,63,43,5a,5a,43,43,5a,6c,50,4c,52,48,0a,50,7a,42,67,51,67,67,62,76,42,74,68,74,4d,64,4d,76,62,7a,76,56,66,46,66,7a,54,57,71,44,6d,57,44,71,7a,71,57,72,66,66,66,0a,6e,6e,4a,64,72,66,67,66,72,64,4d,43,4d,64,67,72,71,4d,6e,57,64,67,77,4e,54,54,54,7a,46,68,50,53,53,48,66,53,48,68,6c,6c,7a,6a,7a,4e,46,54,0a,76,42,52,76,6d,76,47,5a,73,4c,5a,5a,73,48,46,4e,46,46,7a,54,4e,50,7a,62,0a,4c,5a,56,52,6d,63,44,52,76,70,51,4c,6d,76,76,56,47,44,47,6d,70,6e,74,4a,4a,77,43,57,43,6e,43,50,4a,77,67,4a,44,72,50,44,71,4d,0a,51,64,64,4d,76,64,7a,6c,56,66,76,64,53,51,6d,47,68,6d,77,4c,62,47,62,6d,7a,62,6e,73,0a,4a,74,43,43,57,71,71,5a,44,73,4c,70,47,68,62,47,6a,44,0a,46,4e,72,68,71,43,54,57,4d,53,52,53,72,51,51,67,0a,5a,73,42,5a,4a,46,73,5a,53,6d,6d,4a,73,4a,53,6d,72,4a,72,4a,72,76,73,72,64,47,64,43,51,47,51,70,68,4d,47,77,52,4d,47,51,52,47,64,62,42,43,68,4d,0a,46,6c,67,66,71,4e,4e,4e,57,6e,4e,6e,48,66,56,6e,6e,48,64,62,47,77,70,77,47,57,51,68,47,64,52,4d,4d,64,52,4d,0a,4c,46,6e,67,67,48,6c,44,71,44,4c,76,6a,44,6d,5a,50,63,50,6d,76,50,0a,43,52,48,4a,57,66,76,4a,76,72,51,66,72,43,73,44,6c,47,47,42,73,7a,51,42,6a,6a,47,42,0a,4c,6d,50,48,56,6e,4d,6d,70,4c,6c,50,73,73,42,50,6c,44,74,64,0a,4d,6d,4d,53,5a,6d,56,6e,6e,63,4d,46,63,6d,53,56,48,76,66,53,72,66,66,43,77,53,76,66,62,48,57,76,0a,77,73,72,4a,72,70,64,4a,4c,73,4d,43,5a,44,57,4c,0a,42,62,4c,74,47,47,62,4e,6d,4c,51,67,67,71,67,51,51,74,47,67,4d,6d,44,43,54,6e,57,5a,43,5a,57,5a,54,6d,4d,6d,43,5a,6e,54,0a,71,4e,42,47,4e,4e,67,51,63,62,62,74,47,62,62,46,42,4c,56,6a,66,63,66,77,48,76,72,48,48,4a,48,4a,63,72,0a,70,43,5a,43,70,64,6a,42,6c,6a,68,6a,42,6c,70,56,63,63,43,70,62,44,44,77,52,57,44,73,4c,68,4c,62,77,44,73,44,77,73,44,77,0a,48,4e,67,46,53,53,4e,76,53,6d,64,71,77,73,46,4c,46,57,4c,47,74,74,62,77,0a,67,4d,4d,6e,64,4e,72,7a,4e,48,6e,7a,4a,5a,56,6c,4d,43,4d,43,54,63,70,63,0a,43,66,73,46,4e,73,7a,43,72,72,47,7a,72,73,67,67,73,50,66,50,56,4e,56,6c,71,54,64,53,6a,53,71,4d,54,64,53,56,54,64,4c,4c,0a,76,52,68,63,48,6c,6c,77,4a,44,6d,6e,4a,6d,44,4d,4d,64,68,71,53,71,70,56,4d,68,64,6a,64,70,0a,63,76,48,52,76,77,51,42,50,5a,5a,6c,72,51,67,7a,0a,54,73,46,68,43,74,51,74,51,73,42,42,4c,74,42,4c,50,76,67,7a,0a,6a,6a,57,5a,5a,6a,5a,53,4d,4e,6c,4e,4e,6a,6c,6a,4e,6e,6c,6d,6a,6a,66,4a,4c,4d,42,47,47,4c,76,42,64,7a,50,51,70,67,67,4a,4a,4c,51,7a,70,67,0a,77,6a,62,63,6d,6d,6c,6e,51,5a,6d,6c,72,54,73,43,46,56,77,73,68,77,54,72,0a,6e,52,47,46,6e,46,6a,63,64,6c,77,4c,53,48,53,70,4e,4e,6e,42,66,57,48,4e,0a,54,67,51,76,50,62,43,4d,50,52,68,62,4d,50,51,76,74,51,50,76,4d,43,52,42,53,48,4e,51,48,42,72,51,53,4e,66,57,71,70,48,48,72,57,4e,57,53,66,0a,50,43,67,4d,62,50,76,54,5a,56,44,67,74,50,52,67,67,74,43,43,62,67,6d,6d,46,4a,4a,4c,6d,63,47,46,4c,6a,64,6d,4a,46,63,44,77,4a,6d,6d,0a,64,67,57,50,73,73,66,64,76,51,43,4c,50,4c,68,4c,0a,70,4d,74,53,4d,74,70,53,6d,70,4d,70,46,53,4d,4d,46,5a,6a,51,43,4c,62,4c,51,5a,5a,62,56,62,56,68,4e,54,4c,62,6c,5a,0a,6d,70,71,63,70,7a,6e,63,66,57,77,68,7a,66,52,66,0a,76,6e,74,76,56,6e,52,43,73,76,70,42,70,4d,6a,43,70,54,70,6a,0a,72,51,64,5a,66,68,7a,63,7a,4e,7a,57,63,4e,4c,54,70,57,67,53,76,6a,6a,6a,70,47,70,4d,53,42,0a,5a,71,4e,44,51,68,66,63,4e,63,68,4c,63,68,51,71,63,44,71,52,48,4a,74,48,56,77,6e,77,62,74,76,48,73,62,56,73,0a,71,74,4a,47,51,67,54,72,71,74,71,51,64,51,44,67,62,47,6a,50,7a,5a,48,57,57,7a,56,6a,73,6c,50,5a,6c,47,0a,76,42,53,68,77,52,52,76,76,53,52,53,76,46,76,77,4c,53,76,66,63,6e,66,42,57,6d,48,5a,48,56,57,57,48,50,7a,6c,4e,50,57,56,57,6a,5a,73,57,6e,57,56,0a,63,4c,42,46,42,46,68,43,42,4c,6c,77,70,46,63,63,46,42,46,66,74,71,4a,44,51,64,67,64,54,44,4a,4a,43,62,4a,67,43,43,64,67,0a,77,66,6d,73,50,76,50,77,4e,66,76,6d,66,4c,4e,46,76,7a,7a,4a,62,52,4d,6e,6c,6c,68,6c,6e,4c,68,52,4c,43,0a,67,6a,74,71,44,44,54,74,6a,67,70,4a,63,62,6e,4d,54,7a,43,52,6e,43,43,57,68,43,0a,53,44,71,74,70,47,53,53,74,56,74,64,71,70,67,42,56,6a,42,47,5a,6d,46,50,4a,4e,4a,6d,66,66,76,66,50,73,48,5a,50,5a,51,64,0a,48,51,4d,42,42,57,72,51,51,6d,50,42,76,6d,42,57,6e,76,72,54,6e,4d,53,73,62,46,66,63,66,77,67,66,43,67,73,63,73,6d,47,67,77,67,63,4a,47,67,0a,4e,7a,7a,6c,4a,4c,74,68,74,6c,67,73,77,47,46,63,77,47,73,74,0a,4a,71,4e,4e,52,71,70,7a,68,56,52,57,54,53,51,72,72,76,53,51,0a,6d,46,70,44,5a,6a,76,6d,74,50,50,47,76,46,6a,6d,6d,47,54,7a,54,63,46,52,62,48,63,7a,48,54,62,7a,51,67,52,53,0a,66,4e,64,71,68,4a,73,4e,72,6e,6e,56,4e,68,77,4e,56,64,72,64,73,56,63,7a,51,43,63,77,43,4d,48,53,54,43,48,67,48,43,52,7a,48,67,63,4d,0a,4a,6c,67,6e,4e,68,73,71,56,71,4e,71,4e,70,50,6c,76,5a,76,44,44,44,47,6c,5a,5a,0a
2 |
3 |
--------------------------------------------------------------------------------
/aoc22/inputs/5.c:
--------------------------------------------------------------------------------
1 | #define INPUT 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,5b,4c,5d,20,20,20,20,20,5b,48,5d,20,5b,57,5d,0a,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,5b,4a,5d,20,5b,5a,5d,20,5b,4a,5d,20,5b,51,5d,20,5b,51,5d,0a,5b,53,5d,20,20,20,20,20,20,20,20,20,20,20,20,20,5b,4d,5d,20,5b,43,5d,20,5b,54,5d,20,5b,46,5d,20,5b,42,5d,0a,5b,50,5d,20,20,20,20,20,5b,48,5d,20,20,20,20,20,5b,42,5d,20,5b,44,5d,20,5b,47,5d,20,5b,42,5d,20,5b,50,5d,0a,5b,57,5d,20,20,20,20,20,5b,4c,5d,20,5b,44,5d,20,5b,44,5d,20,5b,4a,5d,20,5b,57,5d,20,5b,54,5d,20,5b,43,5d,0a,5b,4e,5d,20,5b,54,5d,20,5b,52,5d,20,5b,54,5d,20,5b,54,5d,20,5b,54,5d,20,5b,4d,5d,20,5b,4d,5d,20,5b,47,5d,0a,5b,4a,5d,20,5b,53,5d,20,5b,51,5d,20,5b,53,5d,20,5b,5a,5d,20,5b,57,5d,20,5b,50,5d,20,5b,47,5d,20,5b,44,5d,0a,5b,5a,5d,20,5b,47,5d,20,5b,56,5d,20,5b,56,5d,20,5b,51,5d,20,5b,4d,5d,20,5b,4c,5d,20,5b,4e,5d,20,5b,52,5d,0a,20,31,20,20,20,32,20,20,20,33,20,20,20,34,20,20,20,35,20,20,20,36,20,20,20,37,20,20,20,38,20,20,20,39,0a,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,38,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,31,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,35,20,74,6f,20,39,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,38,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,35,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,37,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,32,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,35,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,31,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,37,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,38,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,35,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,33,20,74,6f,20,32,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,32,20,74,6f,20,38,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,38,20,74,6f,20,33,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,37,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,36,20,74,6f,20,34,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,37,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,37,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,37,20,74,6f,20,36,0a,6d,6f,76,65,20,31,34,20,66,72,6f,6d,20,33,20,74,6f,20,37,0a,6d,6f,76,65,20,31,36,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,36,20,74,6f,20,38,0a,6d,6f,76,65,20,31,35,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,32,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,37,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,36,20,74,6f,20,37,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,35,20,74,6f,20,39,0a,6d,6f,76,65,20,31,35,20,66,72,6f,6d,20,37,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,35,20,74,6f,20,31,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,32,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,35,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,37,20,74,6f,20,39,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,38,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,36,20,74,6f,20,31,0a,6d,6f,76,65,20,31,37,20,66,72,6f,6d,20,38,20,74,6f,20,37,0a,6d,6f,76,65,20,32,36,20,66,72,6f,6d,20,37,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,38,0a,6d,6f,76,65,20,32,34,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,32,32,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,32,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,33,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,39,0a,6d,6f,76,65,20,31,36,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,37,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,33,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,31,20,74,6f,20,34,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,34,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,35,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,37,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,38,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,37,20,74,6f,20,35,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,35,20,74,6f,20,37,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,36,20,74,6f,20,39,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,37,20,74,6f,20,38,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,32,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,35,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,33,20,74,6f,20,37,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,38,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,38,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,35,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,38,0a,6d,6f,76,65,20,31,39,20,66,72,6f,6d,20,31,20,74,6f,20,34,0a,6d,6f,76,65,20,31,39,20,66,72,6f,6d,20,37,20,74,6f,20,31,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,31,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,34,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,32,32,20,66,72,6f,6d,20,34,20,74,6f,20,35,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,33,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,31,20,74,6f,20,38,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,36,20,74,6f,20,39,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,39,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,38,20,74,6f,20,39,0a,6d,6f,76,65,20,32,35,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,31,20,74,6f,20,35,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,38,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,32,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,37,0a,6d,6f,76,65,20,31,32,20,66,72,6f,6d,20,36,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,38,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,38,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,37,20,74,6f,20,34,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,38,20,74,6f,20,35,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,36,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,36,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,36,20,74,6f,20,33,0a,6d,6f,76,65,20,31,37,20,66,72,6f,6d,20,34,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,35,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,32,20,74,6f,20,37,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,38,0a,6d,6f,76,65,20,31,35,20,66,72,6f,6d,20,36,20,74,6f,20,33,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,35,20,74,6f,20,39,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,35,20,74,6f,20,38,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,33,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,38,20,74,6f,20,35,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,37,20,74,6f,20,35,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,36,20,74,6f,20,38,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,36,20,74,6f,20,38,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,37,20,74,6f,20,35,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,34,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,31,34,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,31,33,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,31,20,74,6f,20,34,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,31,20,74,6f,20,32,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,39,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,32,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,38,20,74,6f,20,39,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,39,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,37,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,34,20,74,6f,20,36,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,32,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,37,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,32,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,38,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,36,20,74,6f,20,35,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,37,20,74,6f,20,38,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,35,20,74,6f,20,31,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,36,20,74,6f,20,32,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,36,20,74,6f,20,33,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,34,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,37,20,74,6f,20,34,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,39,20,74,6f,20,38,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,38,20,74,6f,20,31,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,31,0a,6d,6f,76,65,20,31,33,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,38,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,38,20,74,6f,20,33,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,31,20,74,6f,20,32,0a,6d,6f,76,65,20,31,34,20,66,72,6f,6d,20,32,20,74,6f,20,36,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,33,20,74,6f,20,38,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,34,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,34,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,35,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,36,20,74,6f,20,39,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,32,20,74,6f,20,35,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,32,20,74,6f,20,35,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,38,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,36,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,31,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,31,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,39,20,74,6f,20,34,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,35,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,36,20,74,6f,20,33,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,36,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,36,20,74,6f,20,35,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,39,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,38,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,31,20,74,6f,20,33,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,39,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,38,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,38,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,32,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,32,34,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,38,20,66,72,6f,6d,20,39,20,74,6f,20,38,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,33,20,74,6f,20,37,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,31,32,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,36,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,34,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,35,0a,6d,6f,76,65,20,31,32,20,66,72,6f,6d,20,35,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,36,20,74,6f,20,39,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,32,20,74,6f,20,38,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,32,31,20,66,72,6f,6d,20,38,20,74,6f,20,37,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,38,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,36,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,34,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,33,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,36,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,32,20,74,6f,20,33,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,32,20,74,6f,20,34,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,34,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,31,20,74,6f,20,39,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,39,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,32,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,38,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,32,20,74,6f,20,33,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,36,20,74,6f,20,34,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,34,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,37,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,31,0a,6d,6f,76,65,20,31,34,20,66,72,6f,6d,20,33,20,74,6f,20,36,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,37,20,74,6f,20,31,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,31,20,74,6f,20,32,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,36,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,35,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,34,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,31,35,20,66,72,6f,6d,20,36,20,74,6f,20,39,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,37,20,74,6f,20,34,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,36,20,74,6f,20,35,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,32,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,36,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,31,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,36,20,74,6f,20,32,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,36,20,74,6f,20,38,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,31,20,74,6f,20,36,0a,6d,6f,76,65,20,31,32,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,36,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,38,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,33,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,31,20,74,6f,20,36,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,36,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,32,20,74,6f,20,37,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,39,20,74,6f,20,34,0a,6d,6f,76,65,20,31,35,20,66,72,6f,6d,20,37,20,74,6f,20,38,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,36,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,38,0a,6d,6f,76,65,20,31,35,20,66,72,6f,6d,20,38,20,74,6f,20,33,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,32,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,34,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,36,20,74,6f,20,34,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,36,20,74,6f,20,39,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,33,20,74,6f,20,32,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,39,20,74,6f,20,37,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,35,20,74,6f,20,37,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,33,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,36,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,36,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,33,20,74,6f,20,38,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,34,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,32,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,32,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,38,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,39,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,38,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,33,20,74,6f,20,36,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,38,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,36,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,36,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,38,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,36,20,74,6f,20,33,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,36,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,37,20,74,6f,20,33,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,33,20,74,6f,20,39,0a,6d,6f,76,65,20,39,20,66,72,6f,6d,20,39,20,74,6f,20,38,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,37,20,74,6f,20,31,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,38,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,38,20,74,6f,20,32,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,33,20,74,6f,20,38,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,34,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,31,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,37,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,36,20,74,6f,20,37,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,38,20,74,6f,20,37,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,32,33,20,66,72,6f,6d,20,31,20,74,6f,20,36,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,32,32,20,66,72,6f,6d,20,36,20,74,6f,20,34,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,32,20,74,6f,20,37,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,35,20,74,6f,20,33,0a,6d,6f,76,65,20,31,37,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,38,20,74,6f,20,32,0a,6d,6f,76,65,20,32,33,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,31,35,20,66,72,6f,6d,20,37,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,34,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,31,20,74,6f,20,39,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,37,20,74,6f,20,31,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,34,20,74,6f,20,36,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,39,20,74,6f,20,35,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,35,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,31,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,37,20,74,6f,20,34,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,31,20,74,6f,20,35,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,32,20,74,6f,20,33,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,32,20,74,6f,20,34,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,32,20,74,6f,20,38,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,36,20,74,6f,20,37,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,36,20,74,6f,20,32,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,38,20,74,6f,20,37,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,35,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,35,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,36,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,37,20,74,6f,20,36,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,33,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,34,20,74,6f,20,32,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,36,20,74,6f,20,31,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,34,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,37,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,32,20,74,6f,20,33,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,34,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,33,20,74,6f,20,32,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,34,20,74,6f,20,35,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,32,20,74,6f,20,35,0a,6d,6f,76,65,20,31,31,20,66,72,6f,6d,20,37,20,74,6f,20,35,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,39,20,74,6f,20,31,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,37,20,74,6f,20,34,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,33,20,74,6f,20,35,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,31,0a,6d,6f,76,65,20,38,20,66,72,6f,6d,20,34,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,39,20,74,6f,20,34,0a,6d,6f,76,65,20,37,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,32,32,20,66,72,6f,6d,20,31,20,74,6f,20,35,0a,6d,6f,76,65,20,35,20,66,72,6f,6d,20,34,20,74,6f,20,32,0a,6d,6f,76,65,20,36,20,66,72,6f,6d,20,31,20,74,6f,20,37,0a,6d,6f,76,65,20,34,20,66,72,6f,6d,20,32,20,74,6f,20,37,0a,6d,6f,76,65,20,31,39,20,66,72,6f,6d,20,35,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,37,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,31,20,74,6f,20,36,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,37,20,74,6f,20,39,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,32,20,74,6f,20,34,0a,6d,6f,76,65,20,32,30,20,66,72,6f,6d,20,34,20,74,6f,20,36,0a,6d,6f,76,65,20,31,33,20,66,72,6f,6d,20,35,20,74,6f,20,39,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,31,20,74,6f,20,33,0a,6d,6f,76,65,20,31,30,20,66,72,6f,6d,20,39,20,74,6f,20,38,0a,6d,6f,76,65,20,33,20,66,72,6f,6d,20,39,20,74,6f,20,34,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,38,20,74,6f,20,31,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,31,20,74,6f,20,38,0a,6d,6f,76,65,20,31,20,66,72,6f,6d,20,33,20,74,6f,20,31,0a,6d,6f,76,65,20,32,20,66,72,6f,6d,20,39,20,74,6f,20,32,0a
2 |
3 |
--------------------------------------------------------------------------------