adventofcode

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

commit
91aae04b8a8bc8519d302c3d9b85b75c6c252688
parent
3d092fa146c4b2e3e61c75c28e317a556690a307
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2024-12-03 10:15
2024-12-02

Diffstat

A 2024/02/input.txt 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2024/02/solution.rs 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2024/02/test.txt 6 ++++++

3 files changed, 1061 insertions, 0 deletions


diff --git a/2024/02/input.txt b/2024/02/input.txt

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

diff --git a/2024/02/solution.rs b/2024/02/solution.rs

@@ -0,0 +1,55 @@
   -1     1 #[path = "../lib.rs"]
   -1     2 mod lib;
   -1     3 
   -1     4 fn check(a: u32, b: u32, increasing: bool) -> bool {
   -1     5     return (increasing ^ (a > b)) && (1..=3).contains(&a.abs_diff(b));
   -1     6 }
   -1     7 
   -1     8 fn is_safe(report: &Vec<u32>) -> (bool, bool) {
   -1     9     let mut x = 0;
   -1    10     x += if report[1] > report[0] { 1 } else { -1 };
   -1    11     x += if report[2] > report[1] { 1 } else { -1 };
   -1    12     x += if report[3] > report[2] { 1 } else { -1 };
   -1    13     let inc = x > 0;
   -1    14 
   -1    15     let n = report.len();
   -1    16     let mut i = 1;
   -1    17     let mut dampened = false;
   -1    18 
   -1    19     while i < n {
   -1    20         if check(report[i - 1], report[i], inc) {
   -1    21             i += 1;
   -1    22         } else if dampened {
   -1    23             return (false, false);
   -1    24         } else if i + 1 == n || check(report[i - 1], report[i + 1], inc) {
   -1    25             dampened = true;
   -1    26             i += 2;
   -1    27         } else if i == 1 || check(report[i - 2], report[i], inc) {
   -1    28             dampened = true;
   -1    29             i += 1;
   -1    30         } else {
   -1    31             return (false, false);
   -1    32         }
   -1    33     }
   -1    34 
   -1    35     return (!dampened, true);
   -1    36 }
   -1    37 
   -1    38 fn main() {
   -1    39     let mut count1 = 0;
   -1    40     let mut count2 = 0;
   -1    41 
   -1    42     for line in lib::iter_input() {
   -1    43         let report = line.split(' ').map(|s| s.parse::<u32>().unwrap()).collect();
   -1    44         let (safe, safe_dampened) = is_safe(&report);
   -1    45         if safe {
   -1    46             count1 += 1;
   -1    47         }
   -1    48         if safe_dampened {
   -1    49             count2 += 1;
   -1    50         }
   -1    51     }
   -1    52 
   -1    53     println!("part1: {}", count1);
   -1    54     println!("part2: {}", count2);
   -1    55 }

diff --git a/2024/02/test.txt b/2024/02/test.txt

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