This commit is contained in:
Paul-Henri Froidmont 2022-12-14 14:48:59 +01:00
parent 7735a22aa1
commit 2cda8f7b94
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
2 changed files with 244 additions and 0 deletions

View file

@ -0,0 +1,144 @@
513,151 -> 513,155 -> 510,155 -> 510,161 -> 519,161 -> 519,155 -> 515,155 -> 515,151
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
510,167 -> 514,167
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
486,120 -> 486,122 -> 482,122 -> 482,128 -> 491,128 -> 491,122 -> 490,122 -> 490,120
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
498,175 -> 498,176 -> 505,176
493,39 -> 493,43 -> 489,43 -> 489,51 -> 501,51 -> 501,43 -> 496,43 -> 496,39
489,79 -> 493,79
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
483,85 -> 487,85
486,120 -> 486,122 -> 482,122 -> 482,128 -> 491,128 -> 491,122 -> 490,122 -> 490,120
480,82 -> 484,82
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
494,144 -> 494,145 -> 504,145 -> 504,144
486,54 -> 490,54
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
492,60 -> 496,60
493,39 -> 493,43 -> 489,43 -> 489,51 -> 501,51 -> 501,43 -> 496,43 -> 496,39
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
513,151 -> 513,155 -> 510,155 -> 510,161 -> 519,161 -> 519,155 -> 515,155 -> 515,151
493,39 -> 493,43 -> 489,43 -> 489,51 -> 501,51 -> 501,43 -> 496,43 -> 496,39
497,147 -> 497,148 -> 513,148 -> 513,147
493,39 -> 493,43 -> 489,43 -> 489,51 -> 501,51 -> 501,43 -> 496,43 -> 496,39
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
513,151 -> 513,155 -> 510,155 -> 510,161 -> 519,161 -> 519,155 -> 515,155 -> 515,151
474,70 -> 478,70
466,103 -> 466,104 -> 481,104 -> 481,103
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
471,85 -> 475,85
490,131 -> 490,134 -> 482,134 -> 482,139 -> 501,139 -> 501,134 -> 495,134 -> 495,131
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
493,39 -> 493,43 -> 489,43 -> 489,51 -> 501,51 -> 501,43 -> 496,43 -> 496,39
480,70 -> 484,70
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
468,70 -> 472,70
480,60 -> 484,60
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
477,68 -> 481,68
483,79 -> 487,79
495,85 -> 499,85
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
493,39 -> 493,43 -> 489,43 -> 489,51 -> 501,51 -> 501,43 -> 496,43 -> 496,39
486,120 -> 486,122 -> 482,122 -> 482,128 -> 491,128 -> 491,122 -> 490,122 -> 490,120
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
474,82 -> 478,82
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
490,131 -> 490,134 -> 482,134 -> 482,139 -> 501,139 -> 501,134 -> 495,134 -> 495,131
495,63 -> 499,63
489,63 -> 493,63
477,79 -> 481,79
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
501,170 -> 505,170
497,147 -> 497,148 -> 513,148 -> 513,147
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
489,85 -> 493,85
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
490,131 -> 490,134 -> 482,134 -> 482,139 -> 501,139 -> 501,134 -> 495,134 -> 495,131
490,131 -> 490,134 -> 482,134 -> 482,139 -> 501,139 -> 501,134 -> 495,134 -> 495,131
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
471,68 -> 475,68
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
486,76 -> 490,76
483,73 -> 487,73
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
513,151 -> 513,155 -> 510,155 -> 510,161 -> 519,161 -> 519,155 -> 515,155 -> 515,151
466,103 -> 466,104 -> 481,104 -> 481,103
504,167 -> 508,167
507,170 -> 511,170
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
486,120 -> 486,122 -> 482,122 -> 482,128 -> 491,128 -> 491,122 -> 490,122 -> 490,120
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
513,151 -> 513,155 -> 510,155 -> 510,161 -> 519,161 -> 519,155 -> 515,155 -> 515,151
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
507,164 -> 511,164
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
486,120 -> 486,122 -> 482,122 -> 482,128 -> 491,128 -> 491,122 -> 490,122 -> 490,120
474,66 -> 478,66
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
486,120 -> 486,122 -> 482,122 -> 482,128 -> 491,128 -> 491,122 -> 490,122 -> 490,120
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
486,120 -> 486,122 -> 482,122 -> 482,128 -> 491,128 -> 491,122 -> 490,122 -> 490,120
489,57 -> 493,57
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
480,76 -> 484,76
488,36 -> 488,32 -> 488,36 -> 490,36 -> 490,26 -> 490,36 -> 492,36 -> 492,26 -> 492,36 -> 494,36 -> 494,32 -> 494,36
477,63 -> 481,63
492,82 -> 496,82
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
513,170 -> 517,170
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
490,131 -> 490,134 -> 482,134 -> 482,139 -> 501,139 -> 501,134 -> 495,134 -> 495,131
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
483,57 -> 487,57
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
498,175 -> 498,176 -> 505,176
486,60 -> 490,60
497,147 -> 497,148 -> 513,148 -> 513,147
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
513,151 -> 513,155 -> 510,155 -> 510,161 -> 519,161 -> 519,155 -> 515,155 -> 515,151
486,82 -> 490,82
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
490,131 -> 490,134 -> 482,134 -> 482,139 -> 501,139 -> 501,134 -> 495,134 -> 495,131
477,85 -> 481,85
493,23 -> 493,21 -> 493,23 -> 495,23 -> 495,18 -> 495,23 -> 497,23 -> 497,19 -> 497,23 -> 499,23 -> 499,18 -> 499,23 -> 501,23 -> 501,18 -> 501,23 -> 503,23 -> 503,15 -> 503,23 -> 505,23 -> 505,16 -> 505,23
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
483,63 -> 487,63
513,151 -> 513,155 -> 510,155 -> 510,161 -> 519,161 -> 519,155 -> 515,155 -> 515,151
466,103 -> 466,104 -> 481,104 -> 481,103
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
463,98 -> 463,97 -> 463,98 -> 465,98 -> 465,94 -> 465,98 -> 467,98 -> 467,94 -> 467,98 -> 469,98 -> 469,88 -> 469,98 -> 471,98 -> 471,90 -> 471,98 -> 473,98 -> 473,97 -> 473,98 -> 475,98 -> 475,95 -> 475,98
494,144 -> 494,145 -> 504,145 -> 504,144
493,39 -> 493,43 -> 489,43 -> 489,51 -> 501,51 -> 501,43 -> 496,43 -> 496,39
490,131 -> 490,134 -> 482,134 -> 482,139 -> 501,139 -> 501,134 -> 495,134 -> 495,131
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117
494,144 -> 494,145 -> 504,145 -> 504,144
476,117 -> 476,114 -> 476,117 -> 478,117 -> 478,110 -> 478,117 -> 480,117 -> 480,110 -> 480,117 -> 482,117 -> 482,114 -> 482,117 -> 484,117 -> 484,113 -> 484,117 -> 486,117 -> 486,113 -> 486,117

100
aoc/src/Day14.scala Normal file
View file

@ -0,0 +1,100 @@
import scala.io.Source
import scala.util.chaining.*
object Day14 extends App:
val input = Source
.fromURL(getClass.getResource("day14Input.txt"))
.mkString
.split('\n')
.toList
enum Block:
case Sand, Rock, Air
object Block:
val show: Block => String =
case Sand => "o"
case Rock => "#"
case Air => "."
type Point = (Int, Int)
extension (point: Point)
def x = point._1
def y = point._2
final case class Grid(blocks: Map[Point, Block]):
val blocksWithDefault = blocks.withDefaultValue(Block.Air)
val lowestLevel = blocks.keySet.map(_.y).max
def show =
(for
x <- blocks.keySet.map(_.x).min to blocks.keySet.map(_.x).max
y <- blocks.keySet.map(_.y).min to blocks.keySet.map(_.y).max
yield ((x, y), blocksWithDefault((x, y))))
.groupBy(_._1.y)
.toList
.sortBy(_._1)
.map(_._2.sortBy(_._1.x).map(p => Block.show(p._2)).mkString)
.mkString("\n")
def applyGravityToSand(sand: Point): Point =
if blocksWithDefault(sand.x, sand.y + 1) == Block.Air then (sand.x, sand.y + 1)
else if blocksWithDefault(sand.x - 1, sand.y + 1) == Block.Air then (sand.x - 1, sand.y + 1)
else if blocksWithDefault(sand.x + 1, sand.y + 1) == Block.Air then (sand.x + 1, sand.y + 1)
else sand
def dropSand(sand: Point): Option[Grid] =
val finalPosition = LazyList
.iterate(sand)(applyGravityToSand)
.sliding(2)
.takeWhile {
case LazyList(p1, p2) => p1 != p2 && p2.y <= lowestLevel
case _ => false
}
.toList
.lastOption
.flatMap(_.lastOption)
.getOrElse(sand)
if finalPosition == sand || finalPosition.y >= lowestLevel then None
else Some(Grid(blocks + ((finalPosition, Block.Sand))))
end Grid
val grid: Grid =
input
.flatMap(
_.split(" -> ")
.map(_.split(",")).map { case Array(x, y) => (x.toInt, y.toInt) }.sliding(2).flatMap {
case Array((x1, y1), (x2, y2)) =>
if x2 - x1 == 0 then
for y <- y1 to y2 by (Math.signum(y2 - y1).toInt) yield ((x2, y), Block.Rock)
else for x <- x1 to x2 by (Math.signum(x2 - x1).toInt) yield ((x, y2), Block.Rock)
}
)
.toMap
.pipe(Grid.apply)
val part1 = LazyList
.iterate(Option(grid))(_.flatMap(_.dropSand((500, 0))))
.takeWhile(_.isDefined)
.map(_.get)
println("Part 1:")
println(part1.last.show)
println(part1.length - 1)
val grid2 = Grid(
grid.blocks ++ (
for x <- 300 to 700
yield ((x, grid.lowestLevel + 2), Block.Rock)
)
)
val part2 = LazyList
.iterate(Option(grid2))(_.flatMap(_.dropSand((500, 0))))
.takeWhile(_.exists(_.blocksWithDefault(500, 0) != Block.Sand))
.map(_.get)
println("Part 2:")
println(part2.last.show)
println(part2.length)
end Day14