adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
bdd9ab85f6c4d9fc433a70fe0eb03b2af616ec3d
parent
d7197dd18e5dc958120047f47f9db05fbbe3c16b
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2022-12-04 08:20
2022-12-04

Diffstat

A 2022/04/input.txt 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2022/04/part1.rs 31 +++++++++++++++++++++++++++++++
A 2022/04/part2.rs 31 +++++++++++++++++++++++++++++++
A 2022/04/test.txt 6 ++++++

4 files changed, 1068 insertions, 0 deletions


diff --git a/2022/04/input.txt b/2022/04/input.txt

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

diff --git a/2022/04/part1.rs b/2022/04/part1.rs

@@ -0,0 +1,31 @@
   -1     1 #[path = "../lib.rs"] mod lib;
   -1     2 
   -1     3 fn split_once(s: &str, sep: char) -> Option<(&str, &str)> {
   -1     4     let x = s.find(sep)?;
   -1     5     return Some((&s[..x], &s[x+1..]));
   -1     6 }
   -1     7 
   -1     8 fn parse(line: String) -> Option<(u8, u8, u8, u8)> {
   -1     9     let (a, b) = split_once(&line, ',')?;
   -1    10     let (a1, a2) = split_once(a, '-')?;
   -1    11     let (b1, b2) = split_once(b, '-')?;
   -1    12     return Some((
   -1    13         a1.parse::<u8>().ok()?,
   -1    14         a2.parse::<u8>().ok()?,
   -1    15         b1.parse::<u8>().ok()?,
   -1    16         b2.parse::<u8>().ok()?,
   -1    17     ));
   -1    18 }
   -1    19 
   -1    20 fn main() {
   -1    21     let mut count = 0;
   -1    22 
   -1    23     for line in lib::iter_input() {
   -1    24         let (a1, a2, b1, b2) = parse(line).unwrap();
   -1    25         if (a1 <= b1 && a2 >= b2) || (b1 <= a1 && b2 >= a2) {
   -1    26             count += 1;
   -1    27         }
   -1    28     }
   -1    29 
   -1    30     println!("{}", count);
   -1    31 }

diff --git a/2022/04/part2.rs b/2022/04/part2.rs

@@ -0,0 +1,31 @@
   -1     1 #[path = "../lib.rs"] mod lib;
   -1     2 
   -1     3 fn split_once(s: &str, sep: char) -> Option<(&str, &str)> {
   -1     4     let x = s.find(sep)?;
   -1     5     return Some((&s[..x], &s[x+1..]));
   -1     6 }
   -1     7 
   -1     8 fn parse(line: String) -> Option<(u8, u8, u8, u8)> {
   -1     9     let (a, b) = split_once(&line, ',')?;
   -1    10     let (a1, a2) = split_once(a, '-')?;
   -1    11     let (b1, b2) = split_once(b, '-')?;
   -1    12     return Some((
   -1    13         a1.parse::<u8>().ok()?,
   -1    14         a2.parse::<u8>().ok()?,
   -1    15         b1.parse::<u8>().ok()?,
   -1    16         b2.parse::<u8>().ok()?,
   -1    17     ));
   -1    18 }
   -1    19 
   -1    20 fn main() {
   -1    21     let mut count = 0;
   -1    22 
   -1    23     for line in lib::iter_input() {
   -1    24         let (a1, a2, b1, b2) = parse(line).unwrap();
   -1    25         if a1 <= b2 && a2 >= b1 {
   -1    26             count += 1;
   -1    27         }
   -1    28     }
   -1    29 
   -1    30     println!("{}", count);
   -1    31 }

diff --git a/2022/04/test.txt b/2022/04/test.txt

@@ -0,0 +1,6 @@
   -1     1 2-4,6-8
   -1     2 2-3,4-5
   -1     3 5-7,7-9
   -1     4 2-8,3-7
   -1     5 6-6,4-6
   -1     6 2-6,4-8