- commit
- 9adf36531dc154ccf3144366f6f9938639460d05
- parent
- 3f26ef6152303dafcb0d253a85e827be2e6e3b68
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2023-12-12 17:32
2023-12-12
Diffstat
A | 2023/12/input.txt | 1000 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | 2023/12/solution.rs | 116 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | 2023/12/test.txt | 6 | ++++++ |
3 files changed, 1122 insertions, 0 deletions
diff --git a/2023/12/input.txt b/2023/12/input.txt
@@ -0,0 +1,1000 @@ -1 1 ?#?##?#????.?..?? 9,1 -1 2 ????????#???#? 1,8 -1 3 .??????#???#??????? 2,7,1,1 -1 4 ???.?.?.???#.? 1,1,1,4 -1 5 ??#???#?##??. 4,5 -1 6 ??????##??#???????? 1,10,1 -1 7 ?#?#??.???.???? 6,1,2 -1 8 ?#?#??..#???#???#? 6,1,4,2 -1 9 ??????.?.???#?####? 5,1,9 -1 10 .#?#??#.????#?#??#? 4,1,1,5,1 -1 11 ????..????..??? 3,2,2 -1 12 .?#??#.??.? 4,2 -1 13 ???#????#??? 2,4 -1 14 #.??#??#??.????#? 1,3,3,1,1 -1 15 ???.#?????#. 1,1,4,2 -1 16 ??#?#?.??#??. 3,1,1,3 -1 17 ?????#???? 2,4,1 -1 18 ?.??????.?#?#? 5,3 -1 19 .?????#???..? 7,1 -1 20 .????????.# 1,3,1 -1 21 ???#.?.?.. 1,1,1 -1 22 ?.???.??????#??#??? 2,2,6 -1 23 ??#???.???????#??# 2,10 -1 24 ?#??#?.????.???? 2,2,1,1,1 -1 25 ????#?##??. 1,6 -1 26 #?#???#???.????? 8,1 -1 27 ???.?????#???? 1,7 -1 28 ?????#?????#?...???# 11,1,1 -1 29 ?.?#?.??.#?#? 2,2,4 -1 30 ???#.????#??##. 1,1,3,1,2 -1 31 ??????.????? 2,1 -1 32 ???#???#?..??.?#??## 1,7,2,6 -1 33 ?.??#..#???#???.?? 1,1,5,1,1 -1 34 ?.???###?? 1,5,1 -1 35 ???.?.#??#?????.?#? 3,2,1,3,1 -1 36 ???.??.???? 1,1,3 -1 37 .?##????????.. 6,1 -1 38 ????????#???##?#?#. 1,2,2,8,1 -1 39 ?##?#?????#.????? 4,1,2,4 -1 40 ?????#??.?#? 4,3 -1 41 ?##???.#??.? 2,1,1,1 -1 42 ???.#???#??????# 5,4 -1 43 ?.?????#.???#..? 4,1,1,1,1 -1 44 .?????#??????..#? 8,1,1 -1 45 ????#??##?? 4,2 -1 46 .??##??#?????.. 1,9 -1 47 ?.?????????? 1,3,1 -1 48 ?#??..????..??? 1,2 -1 49 ??????.?.????? 2,2 -1 50 ?.??##?.?? 1,4,2 -1 51 ??#?.#?.#. 3,1,1 -1 52 ??.?##???????#.? 2,5,3 -1 53 ???.?#?.?#?#?. 1,1,1,4 -1 54 ??.#???????.# 1,1,3,1 -1 55 ??###???#? 4,2 -1 56 ?.?????#??#???? 1,1,1,5 -1 57 ?..??.?##?????? 1,1,2,1,1 -1 58 #??#.#.?.???? 4,1,1,2 -1 59 ?#?????#???#??#.#?. 6,1,5,1 -1 60 ?.?###???.????#??? 1,4,1,1,1,4 -1 61 ???#?.#.##?#?##? 3,1,8 -1 62 ??#?#?#??????#??#?.? 1,6,7 -1 63 ##???#?#.???.? 8,1,1 -1 64 ?..#??.????#?#??.?? 3,5 -1 65 ?????#?##??. 2,4,1 -1 66 ??.???###?.?????.? 1,6,1,1,1 -1 67 ??????????#?#??? 2,4,1,1,2 -1 68 ?#???#???#???.?#? 2,9,2 -1 69 ?#??..????? 1,3 -1 70 ??#?.?.????#.? 3,1,2 -1 71 ???#??#?#..???? 2,3,4 -1 72 ?#.##?#?..???#?##.?# 1,2,2,4,2,2 -1 73 ???.?..#?.???? 1,1,2,3 -1 74 ????#?#????.? 1,8,1 -1 75 ?#?????????#?? 1,1,3,5 -1 76 ???.#??#????? 4,1,1 -1 77 .#????.??? 1,1,1 -1 78 ??.?????#????#?#? 2,1,2,1,4 -1 79 .???.????? 3,1,1 -1 80 #????#??##???? 1,9 -1 81 ????#?#?#??.?#?? 4,1,1,2 -1 82 ??????..?#? 5,3 -1 83 ??#?#??#????#???#??. 7,5 -1 84 ??###?.???#??.#. 5,5,1 -1 85 ?????##??. 3,3,1 -1 86 ?.??????#????????# 1,1,12 -1 87 .????.????? 1,1 -1 88 ???.??#??..?#?..?#?. 3,4,3,2 -1 89 ???????.?#??? 3,3,3 -1 90 ??#???.?????? 2,1 -1 91 ?#?.?##?#??## 1,6,2 -1 92 .????.??#??#?.... 1,6 -1 93 .???.#???#? 1,5 -1 94 .?#.???#??? 2,2 -1 95 #...??.???#? 1,1,1,1 -1 96 #.???.?#.??????????# 1,1,1,1,11 -1 97 ????#??.?? 4,1 -1 98 ??#???..??? 5,1 -1 99 ..??????#?? 1,5 -1 100 ????##?#?.??????.? 6,4,1 -1 101 ?.?????????????..? 5,3 -1 102 ??#???????????##???? 5,2,2,6 -1 103 .?#??.??#???# 3,4,2 -1 104 ????#?#????##? 5,3 -1 105 ?#?.??.???#???#?##? 1,1,12 -1 106 ??.???#.????????##?? 1,1,2,1,1,8 -1 107 .??????#??? 2,3 -1 108 ?#?????#?#? 2,4 -1 109 .?????..????? 2,3 -1 110 .?.???#????.???..?. 4,2 -1 111 ??.??..????????. 2,2 -1 112 ??##????#???.?#? 1,10,2 -1 113 ??????#??.?...? 1,3 -1 114 ??##???#?.????#????? 6,6 -1 115 ?#?????#?#?????? 2,5,3 -1 116 ??#???????#???? 5,4,1 -1 117 #?.????..?#?. 1,1,1,2 -1 118 ????????#??#####? 3,12 -1 119 ????????#??#? 2,1,6 -1 120 ????##??.?#. 2,3,2 -1 121 .?.?##?.????#???. 1,2,8 -1 122 ?.#.????.#????? 1,4 -1 123 ??????????.? 1,1,2,1 -1 124 ??.????#??##?. 1,1,6 -1 125 ???.?#??..# 3,3,1 -1 126 ?????#??????.?#.. 10,2 -1 127 ...??.???????#???#?. 1,11 -1 128 ??????.#.??.?.? 3,1,1,1,1 -1 129 ????.#????#?.#?#?? 2,1,2,1,1,1 -1 130 ???#?#..#???? 4,1,2 -1 131 .????..?#?#??.? 2,6 -1 132 .??#??###?#?#??#??.. 4,12 -1 133 ??#???#??# 2,1,1 -1 134 ????..#???..???? 3,1,2,1,1 -1 135 .#??.???#? 1,1,1 -1 136 ?#??#?.???#. 1,1,1,1 -1 137 ?....????##?.??..? 1,1,1,3,1,1 -1 138 ???.#???????#??.#?# 1,11,3 -1 139 .?.?#????#? 2,1,1 -1 140 ?#??#??#.??#?.?????? 7,2,3 -1 141 ???????????.?. 1,1,5,1 -1 142 ??#???####?# 3,6 -1 143 ??#??#.?????????? 1,4,1,1,5 -1 144 ??####?##??.#.?. 8,1 -1 145 ?????#??.?#?#?? 3,2,4 -1 146 ?.???##?#...?? 7,1 -1 147 ?#?.#?##?#?????# 1,12 -1 148 .?????#??#??#???.?#. 1,13,1 -1 149 .??##??#?????# 1,6,2 -1 150 ??.??.?##????.? 1,1,6,1 -1 151 ??..????#?#. 1,2,3 -1 152 ?#?.?#..???? 3,1,1,1 -1 153 ?.##??????? 2,2 -1 154 ????#?###??.???# 3,6,1,2 -1 155 ?#??????#???.??????? 11,3 -1 156 ???..#?##??# 1,1,5,1 -1 157 ???#?..?????? 4,2,1 -1 158 #?#????.??..?# 5,1,2 -1 159 ?#???.???? 2,2 -1 160 ???###?###??.#.? 11,1 -1 161 ????###?#?#???. 11,1 -1 162 ??#??????#??? 2,2 -1 163 #??.#...??#? 3,1,1,1 -1 164 .#.?.?##??#???#.?.#? 1,1,8,1,1,2 -1 165 ?#???????#..#?? 4,1,1,1 -1 166 ##??#?#.???.?.? 3,3,3,1 -1 167 ????.??..????????? 1,1,1,3,1,1 -1 168 ???????#????. 1,1,4 -1 169 ???????#????# 1,5,1 -1 170 ..#??????? 2,4 -1 171 ??#???.???? 2,4 -1 172 .???#??.???##?. 5,4 -1 173 ?.???##.??????..? 2,3 -1 174 .#???.?.??#???#??#?? 1,1,1,10 -1 175 .??.#???#???? 2,9 -1 176 ???????##????????.? 1,10,1 -1 177 ?#.?.#??#?????. 1,1,1,3,1 -1 178 ???.????#.?.? 5,1 -1 179 ?.?#???#??????.? 1,1,2,3,1 -1 180 ??#??..?#.? 5,2 -1 181 .??#?.#.#.?? 3,1,1,2 -1 182 ??#.?#?.???#?? 3,2,3 -1 183 ??????#???..?.??.?? 8,2 -1 184 ??..??.?#??? 2,1,3 -1 185 ??.???#???? 2,2,1 -1 186 ??????#???.#??# 1,2,2,4 -1 187 #??.#?#?...??????## 1,1,4,1,1,2 -1 188 ???#????#????.?.???? 12,2 -1 189 ?#?##?.??????? 5,3,1,1 -1 190 ??????.??????? 1,2,4 -1 191 ???..??????..??## 2,3,1,1,2 -1 192 ?.??..????.?? 1,1,2,1 -1 193 #?.???.?..??? 1,2,1,2 -1 194 ????#.#??#??????#?? 1,2,2,10 -1 195 ?????###??? 7,1 -1 196 ?#??#?..???.#?? 6,3,1,1 -1 197 ?#??.?.?##?#??? 3,1,5,1 -1 198 ??#??#???#???##? 1,2,1,2,5 -1 199 ?#?#.#?....??????. 2,1,2,1,1,1 -1 200 .????##???..?#. 7,1,2 -1 201 ???..?.??#?#?.?#. 1,4,2 -1 202 ??.?.????.#.????#?? 1,1,2,1,7 -1 203 ?#?????#??.? 1,2,1,1 -1 204 ???#???#?????? 9,1 -1 205 ??..???.?##..?? 2,2,3,1 -1 206 ?.#??????????????? 8,1,2 -1 207 ??#??#?####??.???? 1,7,2 -1 208 #.???..#.? 1,1,1 -1 209 ?????#..????? 4,1,1,1 -1 210 ??.???##?#???.# 1,5,1,2,1 -1 211 ????.??.?#?. 3,1 -1 212 #??.???????????##?.? 1,1,13,1 -1 213 ?#.???###?.?.?? 1,1,5,1,2 -1 214 ??#??????#?????????? 11,2 -1 215 ???..????. 1,1,3 -1 216 .?????????????? 1,4 -1 217 ?.#????.???#????? 5,5 -1 218 ???????.#??#?.. 1,1,1,2,2 -1 219 ?????.????????????? 1,2,2,8 -1 220 .???????#?? 3,3 -1 221 ??.????#??..?.??#. 1,3,1,1,1,1 -1 222 ?.#??#???.?? 1,1,1,1 -1 223 .??????????? 5,2 -1 224 .???????#??? 8,1 -1 225 .#?..#???#?.#. 1,1,2,1 -1 226 .???#?#???.???? 7,2 -1 227 ??.?????????#????#.. 2,9 -1 228 ??##???????#????# 5,1,1,1,1 -1 229 ?#????#??.#??.??? 8,3,1 -1 230 ?.#??#?.#?. 1,2,1 -1 231 #???????#???#? 2,6,3 -1 232 ??##?#?.?#?? 4,2,3 -1 233 ???.#????????.?? 1,1,8,1 -1 234 ##???.??????#???# 4,1,2,2,2 -1 235 ??###?.?#???? 4,4 -1 236 #?#??.?#?.?.?#?##..# 1,1,3,5,1 -1 237 .????#?????#?#??. 2,1,7 -1 238 .???###??###????.?? 12,1 -1 239 ??.???####?.??? 1,5,2 -1 240 ??#????????.?##??## 1,1,1,1,6 -1 241 ???##????#????????## 1,5,1,5,3 -1 242 .??#?#??#?####??.? 5,8,1 -1 243 ???#??##...#????? 8,3 -1 244 .??...##????.? 1,5,1 -1 245 .??#????????#? 7,3 -1 246 .???.?##.??????.? 3,3,1,2 -1 247 ????#??##??#?. 3,5 -1 248 ??##??#???#.? 7,2,1 -1 249 #.??#??#??#???.??? 1,2,7,1 -1 250 ...???.#.??? 2,1 -1 251 #???.?##?###??# 1,2,2,6 -1 252 ????.?#??.? 2,1,1 -1 253 ???..?#?#??.#???? 1,6,3 -1 254 ?..?????#?? 1,1,2 -1 255 .?##??.?.?#? 5,2 -1 256 ###???????#?? 3,2,2,1 -1 257 ????????#?##??.. 1,1,4,3 -1 258 ??.?.?#????#?..#.#?# 1,5,1,1,1,1 -1 259 .#???#?.#???? 1,1,1,5 -1 260 ?????.?#?.?#?? 2,1,2,3 -1 261 ?#???????????#?###? 1,1,1,8 -1 262 ???#???#.#??? 1,3,1,1 -1 263 ??#?#????????? 3,2,5 -1 264 ?.???????#???# 2,6 -1 265 ??##???##??. 4,5 -1 266 ????#?.??#??#???#. 4,9 -1 267 #??.???.?.??## 2,1,1,2 -1 268 ?#??.????#?.? 3,2,1 -1 269 ..#?##.?.##??##???? 4,7 -1 270 .??.?##???#???#?.?? 8,1 -1 271 #.?????#?????? 1,6,1,2 -1 272 ?#????.#?.??.#?? 5,1,1,1 -1 273 ?.?.#?#??????.? 1,1,4,1,1 -1 274 ??.?#????.??#..#?? 5,2,2 -1 275 ?#??#????. 2,4 -1 276 ?#????#??#?.#?? 1,1,5,1,1 -1 277 #??##??#??#? 2,3,1,2 -1 278 ??.?.#???#?.??#?#. 2,2,2,3,1 -1 279 .##????.?##.?? 3,3 -1 280 #?.???.??#?#???.?#? 2,2,2,2,2 -1 281 ??.????#???????#?? 2,3,1,1,3,2 -1 282 ??#??#.#??#???#?.? 1,1,1,5,1,1 -1 283 ??.????###.?. 1,5 -1 284 ?#???###?.????? 1,5,2 -1 285 ????#?#???.? 7,1 -1 286 .???#???### 3,1,3 -1 287 ??#..?#??. 3,4 -1 288 ?????##?.?? 1,4 -1 289 ?.??#.??????#?#??#? 1,2,1,5,1 -1 290 ????..??#?? 3,2 -1 291 #.????.?#???##??# 1,1,10 -1 292 ??????????..?.???? 7,2,4 -1 293 ?#.????????? 2,3,1,2 -1 294 .?????.#??#? 2,4 -1 295 ???#?????#.????.? 1,7,2,1,1 -1 296 ..???##?????#?? 8,2 -1 297 ?#????????? 5,1 -1 298 ????#?#????. 3,2,1 -1 299 ???..?..#?..# 3,1,2,1 -1 300 .????.???????? 1,3,1,1 -1 301 .????#?.???#??##?.?? 1,3,7,1 -1 302 ..??#?#???..#?#???? 3,1,1,4,1 -1 303 .??.?????.?#?##??.? 2,1,6 -1 304 ???#.?#.??#?? 2,1,1,2 -1 305 ?.??????#?????????. 1,5,1,2,1 -1 306 ???##?##?.???#?. 1,6,2,2 -1 307 .??#....??.? 2,1 -1 308 .??????.?#???.??? 1,2,1 -1 309 ??.??...?##?##????? 2,9 -1 310 .#??#?#?????????.??? 11,3,1,1 -1 311 ???#??#?#????.???? 12,1,1 -1 312 ???.????#??? 1,1,2,1 -1 313 ?#.??#???##????. 1,12 -1 314 ?.????????#?? 1,2 -1 315 .??###??????????#?## 5,1,7 -1 316 .#?##.???.?.?.???? 4,1,1,1,1,1 -1 317 ?#??###??##..?##? 1,7,3 -1 318 ???#.??.?###?#.? 4,1,3,1,1 -1 319 ???????##?##??#.. 3,1,8 -1 320 ??#?#.???#?#????? 4,1,4,1 -1 321 ?##??#??#?##?? 2,1,6 -1 322 #?#?.?##?????. 1,1,8 -1 323 ????????.#? 6,2 -1 324 .??#.?#?#??.?. 1,5 -1 325 ?.?#?.?.????? 2,1,2 -1 326 ?#????#??????.?????? 2,1,1,3,2,3 -1 327 ????????#?.##.?.?? 8,2 -1 328 ?#????#????????#.??? 5,3,2,1,1,2 -1 329 #?#????#..???????#? 1,3,1,4,1,1 -1 330 .#???#.???????.#???? 5,1,1,3,1,3 -1 331 .??????.?#?##???? 5,6 -1 332 ?.??#.?????#####???? 1,1,9,1 -1 333 #???#????#.??.?## 2,2,4,1,3 -1 334 #????#????#.?#???#?. 1,1,1,4,5 -1 335 ?#????.??. 5,1 -1 336 ????##?????? 7,2 -1 337 ?#?#??#?#????.?.#?? 9,1,2 -1 338 ??##.?##?#??.??..?? 4,4,2 -1 339 ..??.??????? 2,7 -1 340 ?#??#.#?##????? 4,1,6 -1 341 ??.?#?.?#?.?????? 3,1,6 -1 342 .#??????.?? 4,1,1 -1 343 ##??.##??.?##?#???? 4,4,6,1 -1 344 ??????#?????#?? 10,2 -1 345 ?##??????? 3,5 -1 346 .??????????.#?#.? 9,1,1 -1 347 ..???#????##??#? 2,1,8 -1 348 ??????#??#???????# 1,1,1,8,1 -1 349 ?..???.???#?##?#. 2,6 -1 350 ?#????##.???#?# 2,3,6 -1 351 ?#????#??? 4,3 -1 352 #?.??????????#???. 1,1,2,3,3 -1 353 ????????????..?.? 1,4 -1 354 ##?#??#.?#??.#??# 7,1,1,4 -1 355 ??.?????????#..???. 1,1,8,2 -1 356 ????#?????.?#? 2,1,3,2 -1 357 .?#??..#??? 3,1,1 -1 358 ?#?#?????#????? 1,1,9 -1 359 #???#?#?#?.? 1,7,1 -1 360 #??????##??..?#?#??? 2,6,6 -1 361 .??###??????#???. 3,3,3 -1 362 ?????????????##.?? 1,1,8,1 -1 363 ????????#.??#???# 9,2,1 -1 364 ???#????????? 1,6,2 -1 365 .?????.???.??.. 5,1,2 -1 366 ?#?.??????.??# 1,6,1 -1 367 ???#???.????? 2,1,3 -1 368 .#.????#..?##?.????? 1,1,2,3,2 -1 369 ?#?.?#???#?.?. 2,6 -1 370 .##?#.#??#???????### 2,1,1,1,1,4 -1 371 ????#???.????.#.? 7,1,1,1 -1 372 #???.????? 1,4 -1 373 ##??#???#??????????? 5,10,1 -1 374 ?#??????..??? 5,1 -1 375 .???#??#?##? 1,7 -1 376 ??..#?#??????#. 2,4,3 -1 377 ?.??????#??.???.?.?? 3,5,1,1,1 -1 378 ??????#?.??. 5,1 -1 379 #??.??#?.?#?##??#? 3,1,1,5,1 -1 380 ##?#?.?.#? 5,1 -1 381 ????#???.? 4,1,1 -1 382 .??#?#????..?????? 1,1,3,1,1,1 -1 383 ??#????#?##???????? 1,1,11,2 -1 384 #??.?#?#???.# 1,6,1 -1 385 ??.??????.? 3,2 -1 386 ???#?.?????#?##?#.# 4,1,7,1 -1 387 ????##???#?.??.# 2,5,1,2,1 -1 388 ?.?###????#?#??#???? 11,1,1 -1 389 ???#.????.?.?#?#??#. 4,3,1,5,1 -1 390 ?##?###?????.??? 9,1,2 -1 391 ??#???.????????#???? 4,1,8,1 -1 392 #?#????.???.? 6,1 -1 393 ?????..??.????.??? 1,4 -1 394 .??.???.??.?#??.?.? 1,2 -1 395 .?.??#?.??#??#??#? 3,7 -1 396 ?#?????..????? 4,1,2,1 -1 397 ????????????#?? 4,5 -1 398 ??.?#???#??.??? 1,3,2,2 -1 399 ##??#?.????#??? 6,7 -1 400 #?????.?###?##? 1,1,7 -1 401 ?.??#?#??# 2,4 -1 402 ?#???????# 1,2,3 -1 403 ????.????..##? 2,4,2 -1 404 ???????#?#? 1,6 -1 405 ???#.??#??.? 1,4 -1 406 ??###?###??..?????? 11,2,1 -1 407 ?????.?.??.#?.? 1,1,1,1,1 -1 408 ?#?????#.?#??. 2,5,4 -1 409 ??.????#?????#???#. 1,1,2,7 -1 410 ??###????????.? 4,2,1 -1 411 ?????.?.???.? 1,1,3,1 -1 412 .?#??????#??.??##?#. 4,2,3,6 -1 413 ?##???#???#?? 2,3,3 -1 414 ????#????##??????? 1,13,1 -1 415 ???.??????##.... 2,3 -1 416 .#??#???.???.?#?? 1,4,3,3 -1 417 #??#?????#?#???##?? 2,10,3 -1 418 ?????##.??#?#??. 7,1,5 -1 419 ???#????#??? 5,2 -1 420 ????#???.?#??#???? 1,1,1,9 -1 421 #???##???. 2,4 -1 422 .#???..#????#??? 2,2,5 -1 423 ?????????#?? 7,1,1 -1 424 ?#??#????.???? 7,1,1,1 -1 425 ??.?#???#????????? 2,3,6,1 -1 426 .?..??#?###. 1,7 -1 427 ???#????.?#?????? 4,1,2,2,1 -1 428 .????#.???. 4,2 -1 429 .???????.? 4,1 -1 430 .?????????.??#? 1,1,2,4 -1 431 .??##?##?????.?# 2,2,1,1,2 -1 432 ??????.#.?#? 2,1,2 -1 433 ?#???.???.??#????. 4,3,1,1,2 -1 434 ??#.???.??? 2,3,2 -1 435 .????#????#??????? 10,4 -1 436 .#.??#..?. 1,1 -1 437 ????????..?#???# 2,2,2,4,1 -1 438 ##??????.???.?#.?? 3,1,1,3,1,1 -1 439 ###???.?#.?#?#????# 3,2,1,4,2,1 -1 440 #?.###??#.??? 2,3,1,1 -1 441 ???.??#..??.??? 1,1,1,2,1 -1 442 ??#?..?.?..?##???. 3,4 -1 443 ?..???#?#?? 1,7 -1 444 ????#?#????##??????? 10,1 -1 445 .?????????.??.??##?? 4,1,1,1,6 -1 446 ?#???..?????. 2,1,1,1 -1 447 ?#.??#????? 1,3,1 -1 448 .???##?#???#?. 1,4,2 -1 449 ..?????##??????.? 8,1,1 -1 450 ?????#?..??. 3,1,1 -1 451 ????#??#?.?#??. 6,3 -1 452 ????.?.##?????###? 1,1,2,2,4 -1 453 ?????.?#???? 2,1 -1 454 #???#?#??.#.?. 1,6,1,1 -1 455 ????#.?.#??#??#??## 1,1,11 -1 456 ??##?#???#?.?.????? 1,8,1,1,2 -1 457 .##??#.?#?? 5,1,1 -1 458 .?#???.??????..??? 5,1,3,2 -1 459 .???.??????.##???? 3,1,5 -1 460 ???#?#??#??????.???? 13,1 -1 461 ??.?#??.?# 1,2,1 -1 462 ??#????????.??.?.#? 1,9,2,1,1 -1 463 ??#??#..??#.? 4,1,3,1 -1 464 #?.#??#???#???.??? 1,9,1,2 -1 465 ??#?????????? 1,1,3,1 -1 466 ????..?.?#?.???? 1,1,1,3,4 -1 467 ?#??.?#???? 1,5 -1 468 ?##??.??#.??..????? 2,3,3 -1 469 .??.?????? 1,1 -1 470 ?##?#?##????????.?? 3,1,4,3,1,1 -1 471 .???#?#?#?????#?? 4,7,3 -1 472 ?#??#???..? 4,1,1 -1 473 ...?###????#?#??#??# 3,8,2 -1 474 ???#????.??????#???? 2,1,7 -1 475 #???????##?####.?? 1,1,1,2,4,1 -1 476 ??#.????#?????. 1,1,6 -1 477 #??????#?.#? 1,1,1,1 -1 478 #??#????????.?? 1,1,3,1,1 -1 479 ?#?#??#??? 3,2 -1 480 ..????.?#?. 1,2 -1 481 ??????##????. 5,3 -1 482 ????????.??#??. 6,1 -1 483 .#?##????.?#?#.??? 8,2,1,3 -1 484 ??#?.????#????? 3,5 -1 485 ????#???????? 1,8 -1 486 ??.??#???#?? 1,1,4 -1 487 ???...???..? 1,3 -1 488 ..??##??#?#.?##### 9,5 -1 489 ..?#?.???. 2,1 -1 490 #?#???#.#???#???? 1,2,2,2,5 -1 491 ??#???.??.?? 4,1,1 -1 492 ..???.?????... 2,1 -1 493 ?..?#???#?..??#????? 7,7 -1 494 ?.?...???#. 1,4 -1 495 ?..?#???#????? 6,2 -1 496 ??#???????#?????#?.. 2,9 -1 497 ?#??#???###????#. 1,7,1,1 -1 498 ???#..?#????.?##??# 4,5,3,1 -1 499 .??#..#??.?? 3,1 -1 500 ????.#?.??..??#? 4,2,1,4 -1 501 #????????#. 1,5,1 -1 502 ????#??.#.??? 4,1,1 -1 503 .#?#?#??????? 1,1,8 -1 504 ???#?????.# 4,1,1 -1 505 ?????#??#.???.?. 7,1 -1 506 ??????????? 3,1,1 -1 507 ##??#?#???????# 5,1,4,1 -1 508 ?#???##?.??#??#????? 3,3,1,9 -1 509 #????#.????#.?? 3,1,1,1,1 -1 510 .??#.?#.??#?? 1,1,2,3 -1 511 ?.??##?##????.??.#.? 1,7,1,1,1 -1 512 ##???????.? 2,2 -1 513 ??#??.?#????. 2,1,3 -1 514 ?....#?#??. 1,1 -1 515 ??##??.?.??#? 4,1,1,2 -1 516 ??..?.?????# 1,1,1,1 -1 517 .??.?????? 1,1 -1 518 ????#??..?#?#??#. 4,7 -1 519 ?##????#.??# 3,3,3 -1 520 ?#?#????.##?#?? 5,1,2,1,1 -1 521 .#?#???.##? 1,4,2 -1 522 .??????..?#??? 1,3,3,1 -1 523 ?##??#??.????? 6,1,1 -1 524 .???.??... 1,1 -1 525 .##???###???#?#?? 14,1 -1 526 #?#?????###?.?????. 3,5,3 -1 527 ???.?#?#??#?????.?? 1,1,7,1,2,1 -1 528 ???#?.??##?? 1,4 -1 529 #?#.???#???. 3,4 -1 530 ???.?.???.#???#? 1,1,2,1,2 -1 531 ..#??????#???? 4,4 -1 532 .#???????????#??.. 1,3,6,1 -1 533 .????###???#? 1,1,5,1 -1 534 ?.??????#???...?? 2,5 -1 535 ?????#??????.??#???? 7,1,3,1 -1 536 ??#?#..#??.#??? 2,1,2,1,1 -1 537 .?#?.?#??#? 1,5 -1 538 #???##??????????? 1,10,1 -1 539 ????#?###?#?.??.?.# 3,8,1,1,1 -1 540 ??.##????##. 3,1,2 -1 541 .??##.?.??? 2,2 -1 542 ?#?#???????????##??? 11,4 -1 543 ?.?????#?.????#?? 1,1,1,1,4 -1 544 ?#?##?????##??????? 2,12,1 -1 545 ?????????#????.??? 10,1 -1 546 ???.#???.? 2,4 -1 547 ?#????.?#.?#?..#?## 2,1,2,2,1,2 -1 548 ???.#?#?#.?????? 5,2 -1 549 .##??#?#??#?? 7,3 -1 550 #.????#?#?#????.?? 1,3,7,1 -1 551 ??##???#???#??.?#?? 10,3 -1 552 ????#?????#. 4,1 -1 553 ?????.???? 4,1 -1 554 ?##??????#?##.? 2,7 -1 555 .?##?????#?#?? 6,1,1,1 -1 556 ???????.???##?? 1,2,5 -1 557 .?.??#????#??#??###. 1,1,12 -1 558 ??#??#???#.????. 5,3,2 -1 559 ?##??#??.???#??? 8,6 -1 560 ?##??.???????? 5,1,2,1 -1 561 ?.???.?.????#???# 1,3,1,2,5 -1 562 ??#?#????#???#??#. 3,2,9 -1 563 ?#.??????.??????? 2,1,1,1,4 -1 564 ?????#?????. 2,1,2,1 -1 565 ???.??#?#..???# 2,1,1,1,1 -1 566 ?#????????. 2,1,1 -1 567 ???#??..??.??#??. 3,3 -1 568 ????????..?? 2,1,1,1 -1 569 .??..??#...?#.???# 1,3,2,3 -1 570 ?????###??.?? 4,1 -1 571 ????#?????? 6,1,1 -1 572 .???????#??## 3,6 -1 573 .?.???#???????#? 1,10,1 -1 574 ?#.???#??#?#???? 1,4,8 -1 575 .??????##??? 1,4 -1 576 #??##.?????#???##??? 1,3,1,8,1 -1 577 ????#????#?###????# 3,1,7,2,1 -1 578 ??.????###?????? 1,1,7 -1 579 ?#?#?.???.##? 4,1,2 -1 580 ????.?..???#?#? 4,1,1,5 -1 581 ?#???.?#??. 1,2 -1 582 #??#????????????. 1,7,1,1,1 -1 583 .?#..#?.##?#.??? 2,1,4,2 -1 584 ??.???.??#????#??#? 1,1,1,6,1,2 -1 585 ?..#??#.##?.#. 4,3,1 -1 586 ???###??##????# 1,7,2,1 -1 587 ###?????###?#??#..?? 13,1,1 -1 588 .#?????#??? 1,6 -1 589 ?#??#??.??.?.? 6,1,1,1 -1 590 .#??.?#..?#??? 3,1,4 -1 591 ??#??.?##??? 1,1,4,1 -1 592 .#????#?#.?#?#?##??? 8,7,1 -1 593 ?#??#?#.???????. 7,3 -1 594 #?.??#??##??????. 2,6,2 -1 595 .#??#?#??.? 1,5 -1 596 .????#??????#??? 2,7,3 -1 597 .???#?#????.? 1,4,1,1 -1 598 ?#..???.#? 1,2,2 -1 599 .#??????###????? 6,7 -1 600 ?.????.???#?? 1,1,1,2 -1 601 ??..??????.##?##???. 2,6 -1 602 .#?#..?#????.?? 3,5 -1 603 .#?#?????????? 5,1,1,1 -1 604 .?.???#?#??.? 1,3 -1 605 ???#.?#?..????#?###? 2,2,8 -1 606 .?#???.?.???##?.?.? 2,1,5,1,1 -1 607 ???????..#?##? 2,1,1,2 -1 608 .?#?????.??#. 3,1,1,1 -1 609 ???#????#??.?.#?? 1,8,1,1,1 -1 610 ?????.????#??#?#? 3,11 -1 611 #..?.#????#??#?..? 1,9,1 -1 612 #.?.?#??.??? 1,1,3,2 -1 613 ????.????.?##???? 1,1,2,3,1 -1 614 ..??.?..???.?.?? 1,1 -1 615 .???.##??#??#???? 1,1,6,1,1 -1 616 #.#?????????# 1,1,3,2 -1 617 #??#?#???.?????.? 1,5,1,1,1 -1 618 ??.###???..? 5,1 -1 619 ?#?#??##??#??.??. 4,7 -1 620 ??#?????????? 5,3 -1 621 ?#???#???. 2,2 -1 622 ??#??#?#??#?? 6,1,1 -1 623 ?.???#.?#?# 1,3,3 -1 624 ???#??????#???#?. 1,10,1 -1 625 ?.?#?##?.?? 1,4,1 -1 626 #??##??.????#??. 1,3,6 -1 627 #.???????#? 1,2,2 -1 628 ?#?#??.?.?#?#.?#? 3,1,1,3,2 -1 629 ??#???.?#?????? 2,1,6 -1 630 .??#???##???# 1,2,7 -1 631 ??#??#???#?#?.?.?. 1,1,8,1 -1 632 ##???.?..??#?? 2,1,1,2 -1 633 ?#..????.????????#?. 2,2,10 -1 634 ??##?..?##????###.?? 4,10 -1 635 ?#?..??.?? 1,1,1 -1 636 ??????#??..??????.#? 8,1,1,1,1 -1 637 ???????.#?????..??.? 2,1,5,2,1 -1 638 #?#????????##??? 4,1,1,6 -1 639 .???#?..?????? 1,2,1,4 -1 640 .#..???.??##??. 1,3,3,1 -1 641 ????#??????#???????? 1,1,5,2,1,1 -1 642 ?.?###?#?#?#?#?#?.?? 14,1 -1 643 ?.?.?#??????? 1,3,2,1 -1 644 ?##????????#?#??.# 5,1,3,1,1,1 -1 645 ???.???#????? 1,6 -1 646 ?????####?????#?#? 1,11,3 -1 647 ?#?.???#??? 1,2,1 -1 648 ..#??##??? 6,1 -1 649 ??????.??.. 2,3,1 -1 650 .????#?.#???.?? 1,2,1,1,1 -1 651 .??##?##??..??###??? 7,5 -1 652 #???#??.??.?#.#.?. 1,2,2,1,1,1 -1 653 ??????#?#??.?? 5,1,2 -1 654 #?#??#??????.????.?? 9,1,1,1,1 -1 655 #?#..????#?????###? 1,1,1,4,7 -1 656 .?.?????#.?# 1,1,2,1 -1 657 ?.???#?##?????#????? 5,2 -1 658 #?????.??? 2,1,2 -1 659 ?????#??#?#????#?? 13,1 -1 660 ?.??#????#..?? 5,2,1 -1 661 ????#??##?.?.? 1,3,3,1 -1 662 ?.????.?##???#? 2,7 -1 663 #?#?????#??.??##?? 6,1,1,1,2 -1 664 ???#?#??????#???.?.? 4,4,1,1,1 -1 665 ???#???#?#?.#? 4,5,1 -1 666 ??.?#???????????. 1,5,4 -1 667 .?#.?????#.? 2,2,1,1 -1 668 ????.?#?###???#?.#.? 2,11,1 -1 669 ??#??????##?#?? 2,9 -1 670 ???????#?#?##??????? 3,1,7,1,1 -1 671 ???##?....??????? 6,6 -1 672 ?#.?#?.##?#?#. 1,1,2,3 -1 673 ??????????#? 4,2 -1 674 #.?###?#???#?##?#?.? 1,13,1,1 -1 675 ??#?#?.?.???.??##?? 6,3,4 -1 676 ???.#?????##?.# 1,1,8,1 -1 677 ??????#?#?? 8,1 -1 678 ?#??????#??#?. 6,1,1 -1 679 .#?#??#.#?#?#?.? 6,5,1 -1 680 ?????????#??.??#?#? 7,2,3 -1 681 .????#??#????.??#? 8,1,3 -1 682 ??.?#???##?#??##??? 2,12,1 -1 683 ?#???###?.???.?? 7,3,2 -1 684 #????.#???.???#..# 1,1,1,1,4,1 -1 685 ????##?.#? 6,2 -1 686 ??????####?.# 7,1 -1 687 ????#??.#. 1,4,1 -1 688 .????#?????????##?? 15,1 -1 689 ???.????#?# 1,4 -1 690 ???????###. 1,5 -1 691 #?.?????#??#?? 2,6 -1 692 ?????##????.#??#.?? 8,2,1 -1 693 ??####????##???.# 13,1 -1 694 ?..??#??#.?#?????? 1,3,1,1,1,1 -1 695 .#???#???????#??#?? 6,1,8 -1 696 ??#?#..???? 4,2 -1 697 .?#?.?.???? 2,1 -1 698 .???????????? 2,1 -1 699 ????????#?.??? 1,1 -1 700 ??#???#???. 2,4,1 -1 701 #??.????#.?. 3,3,1,1 -1 702 ?????#.?.?.????. 5,2 -1 703 ???#???.???? 1,5,1,1 -1 704 #.?.?????#????? 1,6,1,1 -1 705 ?#?..#?#.??.??#?. 2,3,3 -1 706 #????..???. 5,1,1 -1 707 ?#??#?????#???#. 1,3,1,1,3 -1 708 ???#?????????????.?? 4,2,1,5,2 -1 709 ????...?..??.????? 2,1 -1 710 ??.?..?####?#?#????# 1,14 -1 711 ???###?##??#?# 9,1,1 -1 712 ??.#??.???##? 1,3,5 -1 713 ??#??#???????? 1,2,1,2 -1 714 ?.###??##??.?#.. 9,1 -1 715 ?????#???? 1,1 -1 716 #??????#?#???.?##?. 1,8,3 -1 717 .?.??###?# 1,7 -1 718 ?????????##???.???# 1,2,1,4,2 -1 719 ?.?#???#???#.???? 2,1,2,2,1 -1 720 #????#??????.?? 4,3,1,1,1 -1 721 ??????????.? 3,3,1 -1 722 ?????.??#?## 2,4 -1 723 ?###?#??.????..? 8,2,1 -1 724 ?????.##???.?? 3,4,1 -1 725 #??????.??# 1,3,2 -1 726 ?#?????????#?.?? 7,3 -1 727 ????#??#?.??????. 5,1,5 -1 728 .?#?#??#?.???### 8,1,3 -1 729 ??.?#???.???????.? 2,4,1,5,1 -1 730 ??.??#????.#?#???? 1,1,2,1,1,3 -1 731 ????????.???# 1,1,1,2 -1 732 ???#??#?#??.????#. 5,2,5 -1 733 ??.??.?#?.#?#? 2,2,1,4 -1 734 .#????.#???????.?? 1,1,1,5 -1 735 ???###??????????.?? 15,1 -1 736 ???????##.??.??# 6,2,1,1,1 -1 737 ???????.??? 6,2 -1 738 ????????.?#?#.??#??. 3,3,3,4 -1 739 ????#?..?.. 3,1 -1 740 ?#??#?###???##?#?? 2,13 -1 741 ????###??? 2,4,1 -1 742 ??.?#??####?.??##??? 9,6 -1 743 ?#???..???.????? 4,2,1,2 -1 744 ??#??##???? 3,2 -1 745 ?#??#?##?????# 1,2,6,1 -1 746 ..????..???? 4,1,2 -1 747 ?#????.???..#???? 2,2,2,2,2 -1 748 ?#????????#??#??? 1,13 -1 749 #???..#???????# 1,1,1,7 -1 750 #?#.#????.?? 3,1,1,1 -1 751 ?.???????..?.?? 1,4 -1 752 ?.#??.????? 1,1,1 -1 753 ??#?.?????#. 3,3,2 -1 754 .?.#??##?##???#? 1,12 -1 755 ??#????#??.#? 8,1 -1 756 ??#???..####?#??#? 5,7,2 -1 757 ???.#?#?????#?????? 1,6,2,2 -1 758 ??.???????#??##?#.. 1,2,4,4 -1 759 #.??????????#???? 1,1,11 -1 760 ???#?#???#???. 1,4,2,2 -1 761 ?????.????? 1,1,4 -1 762 ??????#??##??. 9,1 -1 763 ??#???#?.??? 6,1 -1 764 ????.???##?.??.#??? 2,5,1,2,1 -1 765 ??.#?.?..?#????.?? 1,3 -1 766 ?#?#.??#.? 3,1 -1 767 ##??#?.#?????#?????? 3,1,3,1,1,4 -1 768 ????.?#???#??#?? 1,1,5,2,1 -1 769 ?????..?????? 4,5 -1 770 ??#..?#.?.????????#? 1,2,6,1 -1 771 ?#??#?##???#???#???. 2,8,1,1 -1 772 ????#????#.????.#? 1,5,1,1,1,1 -1 773 ?????????# 1,1,2 -1 774 ??#???##??. 3,4 -1 775 ?#?????#???#?? 1,1,6 -1 776 ??#??.#?#???#?????? 2,1,5,3 -1 777 ??????????#???#. 2,6,1 -1 778 ?????#?#??????#????? 11,1,1,1 -1 779 ?????#.?.?...??.?# 1,3,1,1,1,1 -1 780 ??#.#???#???????? 1,1,10,1 -1 781 ???#?.????.??#??# 1,3,1,1,6 -1 782 #??????#.??#?.? 2,1,1,1,2 -1 783 ?.???????.??? 5,1 -1 784 ???#...?#?? 1,1,2 -1 785 ????.?????????.? 1,8 -1 786 ?##?#?##?#???###??? 3,14 -1 787 ??????#???#?#?#???#? 1,16 -1 788 ?.?????????????? 1,2,1,4,1 -1 789 ?..?.?#??##?..?????? 1,1,6,2,1 -1 790 .?###?#?.??# 7,2 -1 791 ???#.#????.???? 1,2,3,1,3 -1 792 ?#.????#????? 2,1,5,1 -1 793 #.##?????.#..??#???? 1,2,2,1,5 -1 794 ??#?##????.#???.?.?? 3,2,1,4,1,1 -1 795 ?.??#.?????#?#.. 3,6 -1 796 ????##??#??? 1,1,7 -1 797 ??.#?##??.? 1,6,1 -1 798 ??.???#?.??##????? 1,1,6,1 -1 799 ?#??.????###??.? 2,9 -1 800 ?????#??#???#.??. 1,7,1,1 -1 801 ?????????#? 2,3,1 -1 802 #?????????.???? 8,4 -1 803 ??.#?.#?.?? 2,1,1 -1 804 .????##?????#?#? 6,4 -1 805 #??????.?#????? 1,2,6 -1 806 ?#???????. 3,4 -1 807 ???.???##???.??#? 1,8,2 -1 808 .#???#??#????#??? 1,13 -1 809 ?.?????#????? 1,2,1,4 -1 810 ??.??????? 1,3 -1 811 .????#??#?????# 8,1,1 -1 812 .??#???#????????? 3,4,3 -1 813 #?????#???#?#?.????? 7,4,1,1 -1 814 ???#.?.#??.??????? 4,1,1,1,4 -1 815 ???????#?? 3,3 -1 816 ??#???#???? 3,6 -1 817 ?????#????.?? 5,1,1 -1 818 .???#?#..##.? 2,3,2,1 -1 819 ?#?.?????#?#?? 2,1,5 -1 820 #.????.?????? 1,4,2,1 -1 821 ???#???..?#??#???. 6,6 -1 822 #???.#?#?????#?? 4,10 -1 823 #????????? 2,1,3 -1 824 ?#??#?#.?#?#???# 1,1,1,4,2 -1 825 ???????##?#?? 2,7 -1 826 ..??#?????.?#??? 5,3 -1 827 ..????????.???.? 1,1,2,1 -1 828 ?.??#????#?? 4,1 -1 829 ???.??.????.??. 1,2 -1 830 .?????????###.?#?? 5,1,3,1 -1 831 ???.?#????#????? 1,8,1 -1 832 ??.??.???.??? 2,1,3,1 -1 833 ?.??###???????.. 4,3 -1 834 ????????????.#??? 3,3,1,2 -1 835 ???#?.#?###??#??? 1,3,5,1,2 -1 836 ?#??#???..??#?.. 7,4 -1 837 #.??##?????. 1,1,4,1 -1 838 ?.??.#????#?#??#? 1,1,12 -1 839 ????#??#?.? 7,1 -1 840 ????#??.?? 2,3 -1 841 ?..??#?.????# 3,1,2 -1 842 ?.#?#???#???.#? 1,5,3,1 -1 843 ##??#?#???###?? 2,11 -1 844 ???#####??????? 2,10 -1 845 ??#?#?#?.?. 6,1 -1 846 ????..????..#?#. 1,1,3,1,1 -1 847 .#?????#???##?#??? 14,1 -1 848 #.??.?.??#.?.?? 1,2,3,1,1 -1 849 ?#??????.????.???.? 3,1,1,2,3,1 -1 850 ?.?.???#?? 1,1,2 -1 851 ??#?##????? 4,1 -1 852 ?.?#??.??. 2,1 -1 853 ??.???#.?? 1,1 -1 854 ##.?.?#?????.#? 2,5,1 -1 855 ?##?#.???????. 5,1,4 -1 856 ..?##???#.???? 6,2 -1 857 .???.??????#?#?. 1,7 -1 858 ?????#.??#? 2,1,2 -1 859 .#?.#?????????? 1,1,1,5,1 -1 860 ???.?????##??..? 2,1,1,4,1 -1 861 ?????##..? 5,1 -1 862 #?????????#???? 1,3,1,3,1 -1 863 ?#????..???????##? 1,1,10 -1 864 ???#????#.??.????#? 1,2,1,1,2,6 -1 865 ??##.?.???.??..#? 3,3,1,2 -1 866 ?.?#?#?.???#?#??? 4,4 -1 867 ?##???.??#?.? 2,1,1 -1 868 #?.??##??.?.#?????? 1,6,1,1,1 -1 869 ???#??#???.?##?? 7,3 -1 870 ?##??.?.?#????????#? 3,2,1,1 -1 871 ?..?#?.##?#?.? 2,5 -1 872 ?..??????? 1,2,2 -1 873 ??#?????.#???#??. 4,7 -1 874 ????.?????.. 2,4 -1 875 .??#?.??.??..??????# 3,1,1,4,1 -1 876 #???#?###??##?.? 1,11 -1 877 ??#??.???????#??#? 5,10 -1 878 ?.??#?..##?. 1,3,3 -1 879 ??.???.?.? 2,2 -1 880 #??????##?##.?? 4,6,1 -1 881 ???????.?#????.?? 2,1,2,3,1 -1 882 .??#???#???#?##.#.?? 13,1 -1 883 ??.??#?#?? 1,5,1 -1 884 ?#?#?#.?????.?? 2,3,2,2,1 -1 885 ????.???#????#? 1,1,2,4 -1 886 .?????.????#. 2,1,1,1 -1 887 .???.????.?? 1,1,1,1 -1 888 ?.????.?#.??#. 4,2,2 -1 889 ??????.?.???#?? 1,1,5 -1 890 ????????.?#???#?? 5,5 -1 891 ????####??##?? 7,5 -1 892 .??##??????.???.? 10,1 -1 893 #??#???#??#??? 1,3,4,1 -1 894 .#???.????? 2,3 -1 895 ..??#??#??#??#?? 2,8 -1 896 ??????##??.???? 2,1,4,1 -1 897 ??????##??????????? 1,5,5,1,1 -1 898 ??#?.??????.?????? 3,1,1,1,1,2 -1 899 ???#.?#??? 2,2 -1 900 ##.??????#????# 2,2,8 -1 901 ?#????????? 5,3 -1 902 ?#?..????.?# 2,1,2 -1 903 #??.?.#???#????# 1,1,1,3,1 -1 904 ?..??.??????? 1,1,1,2 -1 905 ?#?.?######?#???? 2,7,1,1 -1 906 ??##???.?###? 5,3 -1 907 ??#.??##..???????? 2,4,4 -1 908 ??????.#.??##?. 2,1,5 -1 909 ????#?.??? 1,2,1 -1 910 .???????.?.? 2,2,1 -1 911 ?????#???????? 2,3,2,1 -1 912 ?.??.#?#?# 1,5 -1 913 ??.???.?????.?? 1,2,1,1,1 -1 914 ???.?..??? 1,1,2 -1 915 ????.?.??.? 1,2 -1 916 ?.????#??? 2,3 -1 917 ?????#???????.?? 7,2,1,1 -1 918 ???????.?## 1,4,3 -1 919 ?.?#?????? 4,1 -1 920 ??????#????#..?????? 11,3,1 -1 921 #?##????##???##.? 4,1,7,1 -1 922 ?#???##??????##?#? 2,3,1,4,1 -1 923 ??..#?????#??.?? 1,9 -1 924 ?###.????.???#???? 3,2,1,6 -1 925 ???#????.????##??. 3,1,4 -1 926 ????#???.?##?. 1,1,2 -1 927 .???#??##?#?# 1,6 -1 928 #??.?????.?.? 3,4 -1 929 ?.??#?#?#????? 8,1 -1 930 ?????.????? 1,1,2 -1 931 ?.#???#????????#.#? 1,8,4,2 -1 932 ???#???#??#??????#.? 6,1,2,2,2 -1 933 ????.???.??????#? 2,1,7 -1 934 ??#.?????.?. 1,2,1,1 -1 935 ?#?##???.?#???????# 1,5,1,2,1,1 -1 936 ??????#?#.??? 3,3 -1 937 ??##??????..#??. 7,2 -1 938 ????.?.??.? 1,1 -1 939 ?????#??#? 2,1,2 -1 940 ???#?.???????# 4,1,3 -1 941 ??##????#?#?? 5,1,1,1 -1 942 ??##?.#?.#????????. 1,2,1,1,1,4 -1 943 ?.??.???.#. 2,1,1 -1 944 ???#??#?????###???.. 9,6 -1 945 ???????.???#.?# 1,2,3,2 -1 946 ???#?.####??????. 1,3,6,1,1 -1 947 #?#??#?????###?#. 1,8,3,1 -1 948 ???#?????? 1,3,2 -1 949 #?#??????#??#?.?? 13,2 -1 950 .?????#.??#? 1,1,1,2 -1 951 .###..?.???#??.?? 3,1,6,1 -1 952 #??#???#?..?????###? 1,6,3,3 -1 953 .??????#???. 1,3,1,2 -1 954 #????#??.??????#?? 1,1,1,1,1,5 -1 955 ?????.??#??#???#?? 4,11 -1 956 ????#???#??????? 6,1 -1 957 .??##?.?..?.#??#. 4,1,1,1,1 -1 958 ???#?????#??? 2,5 -1 959 #?????.?????.?#? 3,1,5,3 -1 960 ??.#??#?#.? 2,1,1 -1 961 ?#.?????????.?. 1,7,1 -1 962 ###???#?????#????#.. 13,1,1 -1 963 ..???????.?.#.?? 1,4,1,1,1 -1 964 ??.#?#????????? 3,1 -1 965 .????????.??#?#??? 5,7 -1 966 ?#.????????#???.? 1,2,1,4,1 -1 967 ?#.??##????#??#####? 1,6,8 -1 968 ???.?#?#???#?#. 2,5,3 -1 969 ##..?#????.# 2,6,1 -1 970 #??#.#???##.. 1,1,1,4 -1 971 .?.?##?????.?? 3,1 -1 972 .#..#.??#??#?##?##.. 1,1,11 -1 973 .?.?????##???#?. 1,7,3 -1 974 ?#???#????#???# 2,3,2,1 -1 975 ?##?#????.?# 7,1 -1 976 ?..??#?????? 1,1,1,4 -1 977 ..#?.?#?.???#???#? 1,2,4,3 -1 978 ????????.????? 3,2,4 -1 979 ???.???#?.?...# 1,1,2,1 -1 980 #??###???#??? 6,2 -1 981 ?.?.?.?.#.?? 1,1,1,1 -1 982 .?##?#??.??#???##?. 5,7 -1 983 ??.?????#?????? 2,9,1 -1 984 .?#..?##??..#??# 2,4,4 -1 985 ????.??????#?????? 1,9,2 -1 986 .????.##???? 1,2,4 -1 987 .???.??.#?? 2,1,2 -1 988 ..???#???? 1,3 -1 989 .??#???..?? 2,2,1 -1 990 ?#?#?????????.???? 13,2 -1 991 ???.??#??... 2,3 -1 992 ???.?#????#??. 1,6 -1 993 ?.??##??##????? 8,1 -1 994 ?.??#?###??#.?#?? 9,1 -1 995 ??###.?????#????##? 1,3,8,2 -1 996 ?????#??#.#.???###? 1,5,1,7 -1 997 ?...?#????. 2,2 -1 998 ????.??#?.???? 2,3,2 -1 999 ??.?????#.. 2,3 -1 1000 #??#??????.. 2,2,2,1
diff --git a/2023/12/solution.rs b/2023/12/solution.rs
@@ -0,0 +1,116 @@ -1 1 use std::collections::HashMap; -1 2 -1 3 #[path = "../lib.rs"] -1 4 mod lib; -1 5 -1 6 fn parse_map(s: &str, fold: usize) -> Vec<(u128, usize)> { -1 7 let mut map = vec![]; -1 8 let mut run = 0; -1 9 let mut count = 0; -1 10 for k in 0..fold { -1 11 if k > 0 { -1 12 count += 1; -1 13 } -1 14 for b in s.bytes() { -1 15 if b == b'.' { -1 16 if count > 0 { -1 17 map.push((run, count)); -1 18 run = 0; -1 19 count = 0; -1 20 } -1 21 } else { -1 22 if b == b'#' { -1 23 run |= 1 << count; -1 24 } -1 25 count += 1; -1 26 } -1 27 } -1 28 } -1 29 if count > 0 { -1 30 map.push((run, count)); -1 31 } -1 32 return map; -1 33 } -1 34 -1 35 fn parse_runs(s: &str, fold: usize) -> Vec<usize> { -1 36 let mut runs = vec![]; -1 37 for _ in 0..fold { -1 38 for part in s.split(',') { -1 39 runs.push(part.parse().unwrap()); -1 40 } -1 41 } -1 42 return runs; -1 43 } -1 44 -1 45 fn count( -1 46 runs: &Vec<usize>, -1 47 map: &Vec<(u128, usize)>, -1 48 cache: &mut HashMap<(usize, usize, usize), usize>, -1 49 i: usize, -1 50 j: usize, -1 51 x: usize, -1 52 ) -> usize { -1 53 if let Some(result) = cache.get(&(i, j, x)) { -1 54 return *result; -1 55 } -1 56 -1 57 if i >= runs.len() { -1 58 if j >= map.len() { -1 59 return 1; -1 60 } else if map[j].0 >> x == 0 { -1 61 return count(runs, map, cache, i, j + 1, 0); -1 62 } else { -1 63 return 0; -1 64 } -1 65 } -1 66 if j >= map.len() { -1 67 return 0; -1 68 } -1 69 -1 70 let run = runs[i]; -1 71 let (m, len) = map[j]; -1 72 let mut sum = 0; -1 73 -1 74 for end in (x + run)..=len { -1 75 if (m << 1) & (1 << (end - run)) != 0 { -1 76 break; -1 77 } -1 78 if m & (1 << end) == 0 { -1 79 let s = count(runs, map, cache, i + 1, j, end + 1); -1 80 if s == 0 && m >> (end + 1) == 0 { -1 81 break; -1 82 } else { -1 83 sum += s; -1 84 } -1 85 } -1 86 } -1 87 -1 88 if m >> x == 0 { -1 89 sum += count(runs, map, cache, i, j + 1, 0); -1 90 } -1 91 -1 92 cache.insert((i, j, x), sum); -1 93 -1 94 return sum; -1 95 } -1 96 -1 97 fn process_line(line: &str, fold: usize) -> usize { -1 98 let (a, b) = line.split_once(' ').unwrap(); -1 99 let map = parse_map(a, fold); -1 100 let runs = parse_runs(b, fold); -1 101 let mut cache = HashMap::new(); -1 102 return count(&runs, &map, &mut cache, 0, 0, 0); -1 103 } -1 104 -1 105 fn main() { -1 106 let mut sum1 = 0; -1 107 let mut sum2 = 0; -1 108 -1 109 for line in lib::iter_input() { -1 110 sum1 += process_line(&line, 1); -1 111 sum2 += process_line(&line, 5); -1 112 } -1 113 -1 114 println!("part1: {}", sum1); -1 115 println!("part2: {}", sum2); -1 116 }
diff --git a/2023/12/test.txt b/2023/12/test.txt
@@ -0,0 +1,6 @@ -1 1 ???.### 1,1,3 -1 2 .??..??...?##. 1,1,3 -1 3 ?#?#?#?#?#?#?#? 1,3,1,6 -1 4 ????.#...#... 4,1,1 -1 5 ????.######..#####. 1,6,5 -1 6 ?###???????? 3,2,1