├── LICENSE ├── README.md ├── aoc22 ├── README.md ├── aoc1.c ├── aoc2.c ├── aoc3.c ├── aoc4.c ├── aoc5.c ├── aoc6.c ├── aoc7.c ├── common.c └── inputs │ ├── 1.c │ ├── 1.txt │ ├── 2.c │ ├── 2.txt │ ├── 3.c │ ├── 3.txt │ ├── 4.c │ ├── 4.txt │ ├── 5.c │ ├── 5.txt │ ├── 6.c │ ├── 6.txt │ ├── 7.c │ ├── 7.txt │ └── convert.sh └── boline ├── boline.c └── cm.c /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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | 4 | > A low level preprocessor meta programming library. 5 | 6 | --- 7 | 8 | ## Samples 9 | 10 | ### conditionals 11 | 12 | 13 | 14 |
code.coutput
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 | 48 |
code.coutput
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 | 80 |
code.coutput
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 | 104 |
code.coutput
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 | 146 |
code.coutput
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 | 192 |
code.coutput
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 | 223 |
code.coutput
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 | 251 |
code.coutput
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/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 | 14 |
inputs/N.txtinputs/N.c
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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/6.txt: -------------------------------------------------------------------------------- 1 | bjbffsfnsnppzpphvhjvjtjmjwjrjdjffwrfrvvrqrrqwrrqpqhqnnddvccrbbwcwbcbclclhlzlznntrrzffctcggzqgqtgqtgtrgttlhttgstgtsgsfsnsddsvdsvddrzrvrnvnrvnrnmrrvfvbfbnbmmtbbgpgtptjptpctpccmccgbccqbcqczqccdssfqfzzjgzzvcvgggrjggncgctgtjjpttqtrrvmrvmmzzfcffpgfgfqggbwgghcctllfhlffbbcffspfpcplpjjlwldwldlpddwzzlqzqfzzcwcmwwcddhgddstsnsjsvjsvvndndsnnclcvcpvpwpqwpqwqllcjcsjjbppfdftfrrpwwqtqtvtllrsrhhczzgllsbsvsttbsszzgwgjwjqwjwvvcmcbczbbgppghghgshhvmhmvvvflllllsrsqsbbfsshhrhddcncbnnrfnnbtbftfltftdtndtdtcdcbdcbchhtddhhvbvsbstsjsjppmpjpttmjjvtjvvdcctcbbbbqzzssfdsdrdwdpplspllphpnhnshnncwnnhlnhhvvpttfftwfwjfjzjsjddjldjlddvzzfzczrzjrzrhzhshslhsllmcllhhthrttfssnqnjnbbzfbbmpmlplhlttmzzwrwjrjppzmpmrprcprplrprmrvrvqrrnlnccswwvggvgcgddlrlrccqhhgvgnvvmlmmcqqhrqrwqwsswgssfjjgvjvppfffhjhrhfhhlphpmpzmpmlppcspcpgpnpddcmcllwvvqfqbbpbcchjjpzpzbbhbzhhrrzrhzhphqphhqvqttmhhbvbcbcmbbfgbbmnmncmnmvnvffgdfggvhvthvhqqdwwvmvlmljjjvsjswjwzwjjqmqrmqmlljqqjvqvtvlldjjfbbpbvbttqhhgrrcssfdsdccrncrncnmnvvmccnrrrtctjtsjttrmrhhvdhdrdjdpdhphsppnttnhhvdvvztvtftsfsrfrppsggfbgbbvbmmjgjrjttfnngttscclzcztctcltcllsmllggbfbhffjljhhbjjjgddzdvdvrvzrrgqgllnvllnccqjqhhwrhhtfttfpfsfvfqvqgvgpppjjhzzcszczbcbtblltlffdfwddfsspgprgpgjgdgsgcccrllbzbqzbzwbwwtmwwvpvlpljlsjssfnfqfzqffthtjtptvptvvmlvlzzdnznwnddjtjpptnpnccbsccjmjqqcfcdddwtdtftntzzpbbbhcbblglttrmmclcdchhzttjwtwztwzwzczfccmrmcrmrsrnsrnrsnrrfmmmcpmmjtjrrwssvdssrvrqvrvcrchrhfhpprwprwpwtttvrtvrvffdcfcssfrfbbvsslvvhphrrwggssjtjbttqtllnmlnljlmmtllfjjtjtpjttbwbswsnwnnjdjbblfbfmmblmmwnmnncjcwwhzzdffvppvmmtzzrhrchhtjhttcssvnsnvnhvvdgvvvgtvtqtgqqzrzbzqzgqgmqmtqqztqqgllchlclwwbwrrwprwprrlgrgwggjhggtgmtggjddfhdddnzztrtjrjprpwrwttqzqnzzfnfcnfcftflfttvbvpbpllrtltslttlddbzdbzzfjfrjfjcjhjssbcsczcnznlzzggdccllhbhpbhbjbwjbwjwtwffptpqqqmssrlrddwqwqdqfqjqwqtqhtsrgvsdtrjmhtgrwvwrbfqtgvjbwphbrszdcgtcpqqrcqtzvzjstzpbmwrqlrcsmlnqpsprsfnpqqsdzbfglcshtjpphmchdzggrcjwttwlzdffgpswzfjdcgzntgzsqvjdnwwwwmtjvpqjgmltmstzztpzflfdhbhhljgdmthnrdzhmtwcmpsjnlgwcvnwdbdrbhcsscgwtptzrmqcwdcmsssmqjpnvclhhbgsjrmqgvvqhgmhzmnpqtczqwmnpvvpdhdtdpdsrmzwtsfchzmdlggrnvwcfbfmrgffssdjjlwbdvjqqwddgmgfwvbzldccwnwrnltcrmblwqswjslnsjtfqvssdrdtpwptdtvtdwhgtgqnmhqfljjjsdgwmptbctjtpdhzmtshgdwnnhfjthmhdrqqqprrdwhvsfwfbvwtfvhgglfphzwjqffwcclbpmtcqzmtjmswscngtbmbdsvfzfbgwvhwlhtgdsnscnrssdqzvhmhplqppzrgdncfvvpnzhgnjrvcmhrqmzvzmdhhpjmrrnwfrhdgqdhvvstbldrgdcwbgjvcwhfrpbgrnvgcszhpbbgvqnvvrrcgprtsftjqtnrbqrzspmzpnchbrbbbpnjdllhnnbcfdsjjhhjcrvvtsgnnfvczvqgvbgphzzjcczsgtlvfrddzlvwdfhprnsvrnzdcfqsbfhcmnrgmrfqwcblbzgrpnvbtrqqnnfslfllfsmrrfsthfzgrwswdprzcswgrjcpzwfhzbhpmsjjtsgcqpnhtwpvpcbpttdpcftrqsbtgtspdhlvmphvnglsdntqfzcrwvvzsmjftjpgjglnnjhnpbhpcmwshdrfbczwtmtslcpmnpngvhlccvtwrsglrrfcmngshtjlnvrtqpfngrrtvhhvmnbwpjtwplfnmfqrbzzqzwchthjbbrpgdppmsjlbljrzqvhmsbrtwglgwnhmmdwpmvmjqqrhtmjjmcnbgtpbbqbnphzhwfhzddqbhqhtmwvffjdcfjmwjjdrqwsfzfrrwlmhndhdvrsdqtmccdqgppwpfrtcgzzwczfblvtjhhdjmdlldbtwthfdpjhpsgbcjjznmwdgnczbnfdfslhsjcjnthgsjlslbcvvqgqbstdwlqllpmmtqlqrbtnvphvwhbshhpdzfbclsqgdmhrnjmbwjzwzdtqswzgmnmwcqcmtpnjzzcrqftvnrdqghszchhmnvlvmcmblpcqnspsjthgqrdpbrzvwtfmnfdcfgwtlvpvwjdwzdvqvgdrcqvzwlbmcwmbsqfhzmwfqmjvgjtsprwbbsrldnwmvhrtsmcdsbftpvcsmpnlmlggmlrgjfvljmpfldftqhjmqqhwfpjtzrrhtlrmmstjphtmldslnnmfhnccrpgjmrbffcvgvmghhnpqhpvdqmdzqcjtcjplhlffwgslpsfzpwqsfpngscdlszlpctpqgdmvwfdfgpwrpltvlwrzrgjjjnjtrwctjsnbtpbfbgqzftmjhfrzrtmtnztlhwwgqnvmfnrshfcdswbqnlrqvtgjdzmqqcdgpwjlgfwnnnjsmmtfbvpwqvnjdjphclnvjntqlfwdppjgcvlcjmfdsbtgngcglmdgsgzwdvsqlvgwcrjtttgdmrlthhwhnnrvvrjgqzqmbcbmhdwmndhjstlmbtwjbgmlrqqcmqzjzcbbfrqrqlmvvgfrdtrwrpgcfsrnjdbfddwgwqrlpvfjgnjjnrlzpbtnjphlqzmdwnqhvblmwzvtnsvbcgqdpmgvchqmgjmbvrfwmmzlchhbqrfmvdffczcsjlhjrmmlmdztmltszrjlrgjwrlfwvlgqtqznnscbqgdzbvdnnjbfmcztjvbgbfmdhvrjgjcngtpzndpnpwwldlfrtqhwpfwphrgdzjvslnbpmrvjpcjpbbsmpwvzmldrspmrlbsptzfdngcscsllswzccjzlmbglsrthvbzznzpjdswhqncmrpnqhzggzzfvhlgqbvlmfsqglpphhswhjbpqnqfpzltmhndmmzclwfmlqztvrqdzfqjpdhttgshjwffdcchmvrwmblpzffbgwrgnqhhvvsvlwnzmmhjwrszpfdsncjwllrnzrsfjsrdgnrbjqlrvpmzbstlqdznhjgbslzmplnqprwqgddjlwzbtrmfsfdlggddqrccztjffvbnsmfdzdhrgsflffmmjtjlbtnfcwhwzdsnbbphbjlrfrddbpncjrtglsnrppdbznrbjqqzdswnhvssffhjzrwnmlvmwmljnhtsnplpjdjpqzbbmzzfcmpm 2 | -------------------------------------------------------------------------------- /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/convert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | printf "#define INPUT " 3 | od -vtx1 -An|xargs|tr \ , 4 | echo 5 | --------------------------------------------------------------------------------