Day 23
This commit is contained in:
parent
7a3abcaa35
commit
4b2e4a0be7
|
@ -7,3 +7,4 @@ Approximate execution times of the hardest problems, compiled with `raco exe`.
|
|||
| 15 | 3.81 |
|
||||
| 16 | 20.6 |
|
||||
| 19 | 75.7 |
|
||||
| 23 | 15.8 |
|
||||
|
|
|
@ -0,0 +1,138 @@
|
|||
░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░█░░░░░░█░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░█░░░░░░░░░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░█░░█░░█░█░█░░░░░░░█░░█░░█░░░░░░░░█░░░░░█░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░█░█░░░░░█░░░░░░░░░░░░░░░█░█░░░░░░░░░░█░░░░█░░░░█░░░░█░░█░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░█░█░░█░█░░░░█░░░░░░░░█░█░░░░░█░░░░█░░░░░█░░░░░░░█░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░█░░█░█░░░░░░█░░░░░░░░░░░█░░░░█░█░░░░░░░░█░░░░░░█░░░█░░░░░░░░█░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░░░░░░░░░░░░░░░░░░█░░█░░█░░░░░░░░░░░░█░█░░░░░░█░█░░░░█░░░█░█░█░░░░░░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░█░░░░░░░░█░█░░░░░░░░░░░░█░█░░░░░░░░░░░█░█░░░░░░░█░░░░░░░░░░░░█░█░░░░░░░░█░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░█░░░█░░█░█░░░░░░█░░█░█░█░░░░░░░░█░░░█░░░░░░░█░░░█░░░█░█░░█░░░█░░░░░█░░█░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░█░█░█░░░░░░░░█░█░░░░░█░░░█░░░░░░░░░░░░█░█░░░░░░░░░░░░░░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░█░░█░█░░░█░█░░░░░░█░█░█░█░░░░░░░░█░░░░░░░░░░░░░░░█░░░░░█░░█░░█░░░░░░█░░░░░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░█░░░░░░░░░░░░░░░░█░░░░░░░░░░░█░░█░█░░░█░█░░░░░█░░█░░░░░░█░░░░░░░░░░░█░░░░░█░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░░░░█░█░░░░█░█░░█░░░█░█░█░█░░░░░░░░░░░░░░░░█░█░░░░░░█░█░░░░█░█░░█░█░░░░░░█░░░█░█░░█░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░█░░█░█░█░░░░░░█░█░░░░░█░░░░░░░░░░░░░░█░░░░░░░░░░░░░░█░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░░░░░█░█░░░░░░█░░█░░░░█░░░░░░░░░░░░░░░░░░░░░░░█░░░░░█░█░░░░░█░░█░█░█░░░░░█░░█░░░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░█░░░░░░░█░█░░░░░░░█░░░░█░░░░█░█░█░█░█░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░█░░░░█░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░░░░░█░░█░░░░░░█░░█░░░░█░░░░░░░░░░░░░░░░█░░░░░░░░░█░█░░█░█░█░█░█░░░░░░░░█░░░░░█░█░░░░░░░░░░░░░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░░░░░░░█░█░░░░░░░░░░░░█░█░█░█░█░░░░░░░░░█░█░█░░░░░░░░░░░░░░░░░█░█░█░░░░░░░░░░░█░█░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░█░█░█░░░█░░█░░░░░░░█░░█░█░█░░░░░░░░░░░░░█░░█░█░░░░░░░█░░░█░░░█░░░░░█░░░░░░░░█░█░░█░█░░░░░░█░░░░░░░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░░░░░░░█░█░░░░░░░░░░░░█░█░░░░█░░░░░░░░░░░█░█░░░░░░░░░░░░█░█░░░░░█░░░░░░░░░░░░░█░█░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░█░░░█░█░█░░░░░█░█░█░░░░█░░░░░█░░░░░░░█░█░░█░░░░░█░█░░█░░█░░░░░░░░░░░░░█░█░░█░░█░░░░░░░█░░░░░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░█░█░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░█░░░█░█░░░░░░░░░░░█░░░░░░░░░░░░█░█░█░█░█░█░░░░░░░░░░░░█░█░░░░█░░░░░░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░█░█░█░░█░░░█░█░█░█░░█░█░█░░░█░░░░░░░█░░█░░█░░░░░█░█░█░█░░░░░░░░░░░░░░░█░░█░█░█░░░░░░█░░░░░█░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░█░█░░░░░░░░░░█░░░░░░░░░░░░░░░░█░░░░░░█░░░░░░░░░░░░█░░░░░░░░░░░░░░█░█░░░█░░░░░░░░░░░█░█░░░░█░░░░░░░░░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░█░█░░░░░█░░░░░░░█░█░█░░░░░░░█░░░█░░█░░░█░░░░░█░█░░░░█░░░█░░░░░░░░░█░█░█░░░█░░░░░░█░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░█░█░░░░░░░░░█░░░░█░░█░░░░░░░░░░█░░░░░░░░░░░░░░░░█░█░░░░░█░░░░█░░░░░█░█░░░░░░░░░█░░░░░░░░░░█░█░█░█░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░█░░░░░█░█░█░░█░░█░░░░░░░░░░░░░░█░░░░░█░░░░░░░█░█░░░░░░░░█░█░░█░░░░░░░░░░█░░░░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░█░░░█░█░█░░░░█░░█░░█░░░░█░█░░░█░░░░░░░░░░░░░░░░░░█░█░░█░█░░░░░░░░░░░█░░█░░░░░░░░░░█░░░░░░░░█░░█░░░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░░░░░░░░█░░░░░░░░░░█░░░░░█░░░█░█░█░░░█░█░░░█░░░░░░░░░░░░█░░█░░█░░░░░░░░█░█░█░░░░░░█░░█░░░░░░░█░░░░░░░█░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░█░░░█░░█░░░░░░█░█░░█░░░░█░░░░░█░░░░░░░░░░░░░░░░░█░█░█░█░░░░░░░░░░░░░█░█░█░░░░░░░█░█░░░░░░░█░░░█░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░█░█░░░░█░█░░█░█░░█░█░░░░░░░░░░░█░█░█░█░░█░░░░░░░░█░░░░░░░░░░█░░░░░█░░░█░░░░░░░░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░█░█░░░░█░░█░░░█░█░█░█░█░█░░░░░░█░░░░░░░░░░░░░░░█░░░░█░█░░░░░░░░░░░░░░█░░░█░░░█░█░█░█░░░░█░█░░░░░░░█░█░█░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░█░░░░░█░░░░░░░█░░░░░░░░░░░░░░░░░░░░░█░█░░█░█░█░░░░░░█░░░░░░█░█░█░░█░░░░░░█░░░░░░░░░░░░░░█░░░░░░█░█░░░░░░░░░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░█░░░░░░░░█░░█░█░░█░█░█░█░░░░░░░░░░░░░░█░█░░░░░░█░░░░░░░░░░░█░█░░░░░░█░█░█░░░░░░░░█░█░░░░░░█░█░░█░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░█░░░█░░░░░░░░░░█░█░░░░░░░░░░░░░░░░░█░█░█░█░░░░█░░░░░░█░█░░░█░░█░█░█░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░█░█░█░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░█░░░█░░░░░░█░░░░░░░█░░░█░█░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░░░█░░░░█░░░░█░░░█░█░░█░░░░░░█░░░░░█░░░░░░░░░░░░█░░█░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░░█░░░░░█░░░░░█░░░░░░░█░█░█░░█░░█░░░█░░░░░░░█░█░░█░█░░░█░░░░░░░░░░█░░░░░░░░░░░░░█░░█░░░█░█░░░░░█░░█░█░█░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░█░█░░█░░░░░░░█░░░░░█░░░░░█░░░█░░░░░░░░░░░░░░░░░█░░█░░░░░░░░░░░█░░░█░░░░█░█░░░░█░█░█░█░░░░░░░░░░░░░░░░░█░░░░░░░░░░█░░░░█░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░█░░░█░░░░░░░█░░░█░░░█░█░█░░█░░█░░█░░░░░░░░░█░░░█░█░░░█░░░░░░░░░░░█░░░░░░░░░█░█░█░░█░░█░░█░░░░█░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░█░░█░░░░░░░█░█░░░░░░░░░█░░░░░░░░░░░░░░░░█░░█░░█░░░░░░░░░░░░░█░░░█░░░░░░░░░█░█░█░░░░░░░░░░░░░░░░░░░░░█░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░█░░░░░░░░░░█░█░░░░░░░█░░░░░░░░░█░█░█░░█░░█░█░░░░░░░░░░░█░░░█░░░█░░░█░░░░░█░█░█░░░░░░░█░░█░░░░░░█░█░█░█░█░░░█░░░░░░█░░░░░░░░░░░░░░░░░░░░░
|
||||
█░░░░█░░█░░░░░░░░░░█░░█░░░█░█░░░█░░░░░░░░░░░░░░░█░░░░█░█░░░░█░░░░░░░░░░░░█░░░░░░░░░░░█░░░░░░░░░░█░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░█░░░░░░█░█░░░░█░░░░░░░░░░░░░░░░█░░█░░█░░░░░█░░░░░░░░░░█░░░░█░█░░░█░░█░░░░░░█░░░░░░░░░░░█░█░░░░░░█░█░░░░░░░█░█░░░░░█░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░█░░░░░░░█░░░░█░█░█░█░█░█░░░░░░░░░░░░█░░░░█░█░░█░█░░░░█░░░░░░░░░░░░█░░█░░░░█░█░█░█░░░░░░█░░░░░░░░░░█░░░░░░░█░█░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░█░█░░░░░█░█░░░░█░░░░░░░░░░░░░░█░░░░█░█░░░░█░░░░░░░░░░░░░░░░░█░█░█░█░█░░░░░░░░░░░░░░░░░█░░░░░░░█░░░█░█░░░█░█░█░░░░░█░█░█░░░░░░░░░░░░░░░░░
|
||||
█░░░░░░█░█░░░░░░█░░░█░░░░█░█░█░█░░░█░░░░░░░█░░░░█░░█░█░█░░█░█░░░░░░░░░░░░░█░█░█░█░█░█░░░░░░█░█░█░░░█░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░█░░░░░░░░░█░█░░░█░░░░░░░░░░░░░░█░░░█░█░░░░░█░░░░░░░░░░░░░░░░░░░░░█░░█░░░░░░░░░░░░░░░█░█░░░░░░░░█░░░░░█░█░█░█░█░░░░█░░░░█░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░░░█░░░░░█░░░█░░░░█░░█░░░░░░█░░░░░█░█░░░░█░█░█░█░░█░█░░█░█░░░░░░░░░░█░░█░█░█░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░█░░░░█░░░░░░░░░░░░░░░░░░░░
|
||||
░░░█░░░░█░░░█░░░░░░░░░█░░░░░░░█░█░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░█░█░░█░█░░░░░░░░░░█░█░░░█░░░█░█░░░█░░█░█░░█░█░░░░░░░░░█░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░░░░░░░░░█░░░█░░░░░░░░░░░░░░█░█░░█░░█░░░█░░░░░█░█░░█░░█░█░░░░░░░░░░░█░░█░░█░░░░░░█░░░░░░░░░█░░░░░░░░░░░░░░█░█░░░░░░█░░░░░░░░░░░░░░░░
|
||||
░░█░█░░░░░█░█░░░░░█░░░░░█░█░█░█░░█░░░░░░░░░░░█░░░█░█░░░░░░░░░░░░░█░░░█░░░░░░░░░░░░░░█░█░░░█░█░█░░░░░█░░█░░█░█░░█░░░░░░█░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░█░░░░░░█░░░░█░░░░░░░░░░░░░░░█░░█░█░█░░░░░░░░░░░░█░░█░░░█░░░█░░░█░█░░░█░█░░█░░░░░█░░░░░░░█░░░░░░░░░░░░░░░░░░█░░░░░░█░░░░░░░░░░░░░░░░
|
||||
░░█░░░░░░░█░█░░░░█░░░░░█░█░█░█░█░░█░░░░░░░░░░█░█░█░░█░█░░░░░░█░░░░░░░█░░░░░█░░░░░░░░░░░░░░░░░░█░░░░░█░█░█░░░█░░█░█░░░░█░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░█░░█░░░░░░█░░░█░█░░░░░░░░░░░░░░░░█░█░█░░░░░░░░░░░░░░█░█░░░░░█░░░░░░░░░░░░░█░█░█░░░░░░░█░░░░░░█░░░░░░░░░░░░░░░░░█░░░█░░█░░░█░░░░░░░░░░░
|
||||
░░░░░░░░░░░░█░░░░░░░░░░█░█░░█░█░█░░█░░░░░░░░░█░░█░█░░░█░░░░░░█░█░░░░░░░█░░░░░█░░░░░░░█░█░█░░░█░░█░░░░░░█░█░█░█░░█░░░░░█░░░░░░░░░░░░░░░░░░░░
|
||||
░░░█░░█░█░░░░░░░░░█░░░░░░░░░░░░░░░░░░█░░░█░░░░░░░░░░█░░░█░░█░░░░░░░█░░░░░█░█░░░░░█░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░█░░░░░░█░░█░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░█░█░█░░░░░█░█░█░░█░█░█░░░░░░░░░░█░░█░░░░░░░█░░░░░░░░█░█░░░█░█░░░░░█░░░░░█░█░█░█░░█░░█░░░░░█░░█░█░█░░░█░░░░░░█░░░░░░░█░░░░░░░░░░░
|
||||
░░░░█░░█░░░░░░░░░█░█░░░░░░░░░░░░░░░░█░░█░░░░░░░░░█░█░░░░░█░█░█░░░░░░░░░░░█░░░░░█░█░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░█░█░░░░░█░█░░░░░░░░░░░░░░
|
||||
░█░░░░░░░░░░█░█░░░░░░░░░░█░█░█░█░░█░░░░░░░░█░█░░░░░░░█░█░░░░░░░█░█░░░░█░░░░░█░░░░░░█░█░░█░░░░█░█░░░░█░░░░░░░░█░█░░░░░░█░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░█░█░█░█░░░░░░░░░░░█░░░░░░░░░░░░░█░░░█░░░░░░░░░░█░░░░░█░█░░░░░░░░░░░░░█░░░░░█░█░░░░░░░░░█░░░░░█░░░░░█░█░█░░░░░░░░░░░░░░░█░░█░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░█░░░█░█░█░░░░█░█░░█░█░█░░░░░░░░░░█░█░█░░░█░█░░░░░░█░█░█░█░░█░░░░░█░░░░░░░░░█░░░░░█░░░░░░█░░░░░░░░█░█░░░█░█░█░░░░░░░░█░░░░░░░░░░
|
||||
░░░█░█░░░░░░░░█░░░░░░░█░░░░░░░░░░░░░░█░░░█░█░░░░░░░█░░░░░░█░░░░░░░░░░░░░░░█░░░░░░█░█░░░░░█░░░░░░░░█░░░░█░░░█░░░░░█░░░░░░░█░░░░█░░░░░░░░░░░░
|
||||
░░░░░░░░░█░░░░░░█░░█░░░░░█░█░█░░░█░█░░░░░░░░░░░░░░░░░█░░█░░░░░█░█░█░░░█░░░░░░█░░░░░░░░█░░░░░█░█░░░░░░░░░░░░░░█░█░░░░█░░█░░░░█░░░█░░░░░░░░░░
|
||||
░░░░░█░█░░░░█░░░░░░░░░█░░░░░░░░█░░░░░█░░█░█░█░░░█░█░░░░░░░░█░░░░░░░░░░░░░░░█░░░█░█░░█░░░░░█░░░░░░█░█░░░░░█░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░█░░░░░░░█░░░░░█░█░░█░░░░░░█░░░░░█░░░░░░░░░░░░░░░░░░█░░░░░░░░█░░░░█░░░█░█░░░░█░░░░░░░░█░█░░░░█░█░░░░░░█░░░░█░░░░░░░░█░░█░█░░░░█░░░░░░░░░░░░
|
||||
░░░░░░░█░░░░░█░░░░░░░░█░░█░░░█░░░░░░░█░░█░░█░░█░░░░░░░░█░█░█░░░█░░░░█░░░░░█░░░░█░░░█░░░░░░░░░░░░░░█░█░░░░░░░░█░█░█░░░░░░░░░░█░░░░░░░░░░░░░░
|
||||
░░░█░░░░░█░█░░░░░█░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░█░░█░░░░░░░█░░░░░░░░█░░░░░█░░░░█░░░░░░░░░░█░█░░░░░░░░░█░░█░░░░░░░░█░█░█░█░░░░░█░░░░░░░░░░
|
||||
░░░░░░░░░░░░░█░█░░░░░█░█░░█░░░█░░░░█░░░░░░░░█░█░█░░░░░░░░█░░░░░░░█░░█░░░█░░░░░░█░░░░█░░█░█░░░░░░░░░█░░█░░░░░░█░░░░░░░░░░░░░░░░█░░░░░░░░░░░░
|
||||
░░░░█░░░█░░░░░░░░░█░░░░░░░░░█░░░█░░░░█░░█░░░░░░░░░░█░░░░░░░█░█░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░█░░░░░░░░█░█░█░░░█░█░░░░░█░░░░░░░░
|
||||
░░░░░░█░░░░█░█░░█░░░░░░░░░█░░░█░░░░█░░░░░░█░░█░░█░░░░░█░░█░░░░░░█░░░█░░░░░█░░░█░█░█░█░█░░░░░░░░░░█░█░█░█░░░█░░░█░░░░░░░░░░░░░░░░█░░░░░░░░░░
|
||||
░░░░░░░░█░░░░░░░░░█░█░█░█░░░░░░░█░░░░░█░░░░░░░░░░░█░█░░░░░░█░█░░░░░░░░█░░░░░█░░░░░░░░░░░░░░█░░█░░░░░░░░░░█░░░█░░░░█░░░░░░█░░█░█░░░░█░░░░░░░
|
||||
░░█░░█░░░░░█░░░░█░░░░░░░░░░░█░█░░░█░█░░░░░░░░█░░░░░░░░█░░█░░░░░█░█░░░░░░░░█░░░░█░░█░░█░░█░░░░░░░░█░░░█░█░░░░░░░░█░░░░█░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░█░█░░░░█░░░█░█░█░█░█░░░░░█░░░░░░█░█░█░░░█░░░░░░░░░░░█░█░░░░░█░█░█░░░░░░░░░░░░░░░░░░░█░░█░░░░░░░░░░░░░░█░░░░░█░░░░░█░█░█░█░█░█░█░░░░░
|
||||
░░░░░░░░░░░░░░░░█░░░░░░░░░░░█░░░░░█░█░░░░░░░░█░░░░█░░█░█░░░░░░░█░█░░░░░░░░█░█░█░░░░█░█░█░█░░░░░░░░█░█░░█░█░█░░░█░█░░░░█░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░█░█░█░░░░░░░█░░░░█░░░░░░█░░░░░░░░░█░░░░░░░░░░░░░░░░█░█░█░░░░░█░░█░█░░░░░░░█░░░░░░░░░░░█░█░█░░░░░░░░░░░░░░░░░░█░░░░░░█░░█░█░░░█░█░░░░░
|
||||
░░░░█░░░░░░░█░█░█░░░░░░░░░█░░░░░░░░░░░░░░░░░░░█░░█░░█░█░░░░░░░░░░░░░░░░░░░░░░░█░░░█░░░█░░█░░░░░░░░█░░░█░█░░░█░░█░░░░░░█░█░░░░░░░░█░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░█░░█░█░░░░█░░░░█░░█░█░█░░█░░░░░░░░░░░░█░░█░░░█░█░░░█░█░░░█░░░░░░░░█░░░░░░░█░█░░░░░█░░░░░█░░░░░░░█░█░░░░░░░░█░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░█░█░█░░░░░░░░░█░░░█░░░░░░░░░░░░░░░█░░░█░█░░░░░░░░░░░░░░█░░░░░█░░░█░░█░░░░░█░░░█░░░░░░░░░░░█░░░░░░░█░░░░░░░░█░░░░░░░░█░█░█░░░░░░
|
||||
░░░░█░█░█░░░░░░░░░░░█░█░█░░░█░░░█░░█░█░░░█░░░░░░█░░░░░█░█░░░█░░█░░░░░█░█░░░█░░░░░░█░░░░░█░░░░█░█░█░░░░░░░█░░█░░░░█░█░█░░░░█░█░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░░░█░░░█░░░░░░░░░░░█░░░░░░░░█░░░░█░░░░░░░█░░░░░░░░░░░░█░░░░░░░█░░░░█░░░░░█░░░░░█░░░░░░░░█░░░█░░░░░░█░░░░░░░░█░░░░░░░█░░█░░░░░░░░
|
||||
░░░░░█░░░░░░█░░░█░░░█░█░█░█░█░░░█░░░█░░░░█░░░░█░█░█░░░░░░█░█░█░█░░░░░░░░░░░█░░░░░█░░░░░░░░░░░█░░█░░░░█░░░█░░█░░░░░█░░█░░░░░░░█░░░░░░█░█░░░░
|
||||
░░░░░░░█░█░░░░█░░░█░░░░░░░░░░░█░░░█░░░█░░░░░█░░░░░░░░█░█░░░░░░░░░█░░█░░█░█░░░█░█░░░░░░░█░█░█░░░░░░░█░░░░░░░░░░░█░░░░░░░░░█░░░░░█░░░░░░░░░░░
|
||||
░░░░░░░░░░░█░░░░░░░░░░░░█░░░░░░░█░░░█░░░█░█░░░█░█░█░░░░░░█░█░░░░░░░░░░░░░░░█░░░░░░█░█░░░░░░░░░░░█░░░░░░█░░░█░█░░░░░░█░░░░░░█░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░█░█░░░░░░░█░░░░░░░░░░░░░░░░░█░░░░░░░█░░░░░░░░░░█░█░░█░░░█░░░░█░█░░░░░░░░█░░░█░█░░░░█░█░░░░░░░░░░█░█░░░█░█░░░░░█░█░█░░█░█░░░
|
||||
░░░░░░░░█░░░█░█░░░░░░█░░░░░░░░░░█░█░░░░░█░░░░░░░░░░░░░█░░█░█░░░░░░░░░░█░░░░░░░░░░░░█░█░░░░█░░░░░░█░░░░░░█░░█░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░█░░░░░░░░█░░░█░█░█░░█░░░░░░░█░░░░█░░░█░░░█░░░░░░░░░░█░█░█░░░░░░░█░█░█░░░░░░░░░░░░░█░░█░░░░░░█░░░░░░█░░█░█░█░█░░░░░░░░░░░░█░░░░░░░
|
||||
░░░░░░░░░░░░░█░█░█░░░█░░░░░░░░░░█░█░█░░░░█░░░█░░░░░░░░█░░░█░░░░░░░░░█░█░░░░░░░░░█░█░█░░░█░█░░░░░░░█░█░░░░░█░░░░░░░░░░░░░░█░░░░░█░░░░░█░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░░░░░█░█░░░░░░░░█░░█░█░░░░░░░░█░█░█░░░░░░░█░░░░░░░█░█░░░░░░█░░░░█░█░█░░░█░░█░░░░░█░░░█░░░░░░█░░
|
||||
░░░░░░░░░█░█░░░█░█░█░█░█░░░░░░░░░█░░░░░█░░░█░░░█░░░░░█░░░█░░░░░░░░░█░█░█░░░░░░░░░█░█░░░░░░█░█░░░░░░░░░░░░█░░░░░░░░░░░░░░░░█░░░░░░░░█░░░░░░░
|
||||
░░░░░░░░░░░░░█░░░░░░░░░░░█░░░█░█░░░█░█░░░░░░░█░░░█░█░░░░░░░░░█░░░░░░░░░░░░░█░█░█░░░░░░█░░░░░░░░░░░█░█░░█░░░░░░█░█░█░░█░░░░░░░█░█░█░░░█░█░░░
|
||||
░░░░░░░░░█░░░░░░█░░█░░░░░░░█░░░░░░░░░░░█░█░█░░░░░░░░░█░░░░█░░░░░█░█░░░░█░█░░░░░░░█░░░░░░░█░█░█░█░░░░░░░░░░░█░░░░░░░░░░░█░░░█░░░░░░░█░░░░░░░
|
||||
░░░░░░░░░░░█░░█░░░░░░░░░█░░░░░░░░░░░░█░░░░░░░█░░░█░█░░░░█░░░█░█░░░░░░█░░░░░█░░░█░░░█░░░░░░░░░░░░░░█░░░█░█░░░░█░░░█░█░█░░░█░░░░░█░█░░░░░█░█░
|
||||
░░░░░░░░░░░░░░░░░█░░░█░░░░░█░█░█░█░█░░░█░░█░░░░█░░░░░░█░░░█░░░░░█░░░░░░█░█░░░█░░░█░░░█░░░█░░░░░░█░░░█░░░░░█░░░░░░░░░░░░█░░░░░░░░░░░░░█░░░░░
|
||||
░░░░░░░░░░░░░█░░░░░█░░░█░░░░░░░░░░░░░█░░░░░░█░░░░█░░░░░░█░░░█░░░░░░█░░░░░░░░░░░█░░░░░░░░░░░█░░█░░░█░░░░█░░░░█░█░░░█░█░░░░░█░░█░█░█░░░░░█░░░
|
||||
░░░░░░░░░░░░░░░░█░░░░░░░░█░█░░░░░█░█░░░█░░░░░░░█░░░█░█░░░░░░░░░░█░░░░░░█░░░░░█░░░█░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░█░█░░░░░
|
||||
░░░░░░░░░░░░░░█░░░░░█░░█░░░░░█░░░░░░░░░░░█░░░█░░░░░░░░░░░█░░█░░░░░░█░█░░░█░░░░░░░░░█░█░█░█░░█░█░█░░░░░█░░█░█░░░█░█░█░░░░░░░█░█░█░░░░░░░█░░█
|
||||
░░░░░░░░░░░░░░░░░█░░░░░░░░█░░░░█░░░░█░░█░░░█░░░█░█░░█░█░░░░░░░░█░░░░░░░█░░░█░░░█░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░░░█░█░█░░░░░░░█░░░█░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░█░█░█░░░░█░░░░░█░░░░░░█░░░█░░░░░░░░░░█░█░█░░░░█░█░█░░░█░░░░░░░█░█░░█░░░█░░░░░░░░░░░░█░░█░░█░█░░░█░░░░░░░█░░█░░░░█░░░█░░░
|
||||
░░░░░░░░░░░░░░░░█░░░░░░░░█░░░░░█░░░░░█░█░░░░░░░░█░█░░█░░░░░░░░░█░░░░░░░░░░░█░░█░░░░░░░░░░░░░░█░░█░█░░░░░░░░░░░░░░█░░░░░█░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░█░░░░░░░░█░░░░░░░░░░█░░░░░█░░░█░░█░░░░█░░░░░░█░█░█░░█░█░█░░░░░░░░█░░░█░█░░░█░░░░░█░░░░░█░░░░█░█░░░█░█░█░
|
||||
░░░░░░░░░░░░░░░░░░░█░█░█░█░░░░░█░█░░░░░░█░█░░░█░█░█░░█░░░█░░░░░░░░░░░░█░░░░█░░░░░░░░░░░░░░░░░█░░░░░░░░█░░░░░█░░░░░░░░░█░█░░░█░░░░░░█░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░░░█░░░░░█░█░█░░█░░░░░░░░░█░█░░░█░░░░░█░░░░░█░░█░░░░░█░░░░░█░░█░█░░░░░░░░░░█░█░░░░░█░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░█░█░░█░█░█░░░░░░░░░█░█░█░█░░░█░░░░░░░█░░░░░░░░░░░░█░█░█░░░░░░░░░█░█░░░█░█░░░░░░░█░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░█░░░█░
|
||||
░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░█░█░█░█░░░░░░░░░█░░░█░█░█░░░█░░░░█░█░█░░░░░░░░░░█░█░░░░░░░░░░░░░░█░░░░░█░░░█░█░█░░█░░░█░░░░░█░░░░░█░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░█░░█░░█░█░░░░░░░░░░░░█░█░░░░░█░░░░░░░█░░░░█░░░░░░░░░█░░░█░░░░░░░░░█░░█░░░█░░░░█░█░░░█░░░░░░░░░░█░░░█░░░░░░█░░░░█░█░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░█░░░░░░░░█░░░░░░░░█░░░░█░░░█░░░░░█░░░█░░░█░█░█░░░░░░░░░░░░█░░░░░░█░░░░░░█░█░░░░░█░░░░█░█░░░█░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░█░█░░░░█░░░░█░░░█░█░█░░░░█░░░░█░░░░░░░░░░░░░█░░░░░░░█░░░░░░█░░░░░░█░░░░░█░█░░░░░░░█░░░░░░░░░░░░░░░█░░░█░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░█░░░░░█░░░░░█░░░░░░░░░░░█░░░░░█░░░░░█░░█░█░░░░░░█░░░█░░░█░░█░░░█░█░░░░█░░░░░░░░░░░░░░░░░█░█░░░░█░█░░░░█░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░█░░░░█░█░░░░█░█░░░░█░░░░█░░░░░█░░░░░░░░░░█░░░░░█░░░░░░░░░░█░░░░░█░░░░█░█░█░░░█░░░░░█░░░░░█░░░░░░█░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░█░░░░░░░░░░░░░█░░░░█░░░░░░░░░░█░░█░█░█░░░█░█░░░░█░█░█░█░░░█░░░░░█░░░░░░░░░░░░█░░░░░░█░░░░░█░░░░░░█░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░█░█░░█░░░░░░█░░░░░█░█░░░█░░░░░░░░░░█░░░░░░█░░░░░░░░░░░░░░█░░░░░░█░░░█░█░░░░█░░░░░░░█░░░░█░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░█░░░░░░░░█░█░░░░░░░░░░░░█░░░░█░█░█░█░░░░█░░░░░░░█░█░░░█░█░░░░░█░█░░░█░░░░░░░░░░█░█░█░░░░█░░░░░█░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░█░░░░░░░█░█░█░░░░░░█░░░░░░░░░░░█░░░█░░░█░░░░░█░░░░░░░█░░░░░░░░░█░█░█░░░░░░░░░░░█░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░█░░█░░░░░░░░░░█░░░█░░░░░░░█░░░░░░░░░░░░█░░░░█░█░█░░░█░░░█░█░░░░░░░░█░░░░░░░░░░░░█░░█░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░█░░█░░░░░░░░░░█░█░░░█░░█░█░░█░░░░█░░░░░░░░█░░░█░░░░░░█░█░█░░░█░░█░█░█░█░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░█░█░█░█░█░░░░░░░█░░█░█░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░█░░░░░░░░░█░░░░░░░░░░░░░█░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░█░░░░░░░░░░░░█░░█░░░░░░░░░░░░░░░█░█░░█░█░░░░░░█░█░░█░█░░░░█░░░░░░░█░░█░░░░█░█░░█░░░█░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░█░░░░░░░░█░░░░░░░█░░█░░░░░░░░░░░█░░█░░░░░░░░░░█░░░░█░░░█░░░░░░█░░░░░░░░░░░░░░█░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░█░█░░█░░░█░█░█░░░░░░░░█░█░░█░░░░░░░░░░█░░░░░░░█░░░░█░░░█░░█░░░░░░█░░░░█░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░█░░░░░░░░░░░░░░░░░░░░░░█░░░░█░░░░░░░░█░░░█░█░░░░█░█░█░░░░░░░░░░░░░░░░█░█░░░░█░░░█░█░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░█░█░░░░░█░█░░░█░░░░█░░░░░░░░░░░░░░█░░░░░░░░░░█░░░░░█░█░░█░░░░░█░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░█░█░░░░░░░█░█░█░░░░█░█░░░░░░░░░░█░░░░░█░█░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░█░█░█░░░█░█░░░█░█░█░░░░█░░░░░█░░░█░░░░░░░░█░░░░░█░█░░░░░░░░█░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░█░░░░░░░░░░░░░█░░░░░░░░█░░░█░░░░░█░░░░█░█░█░░░░░░░░░░░░░█░█░░░░░░█░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░█░░░█░░░░░░░░░█░░░█░░░█░░░░░░█░░░░░░░█░░█░█░░█░░░░░░░░░█░░░░█░█░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░█░░░█░█░█░█░░░█░░░░░░░░█░█░░░░░█░█░░░░░░░░░░░░█░█░█░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░█░█░░░█░░░░░░░░░░░░░█░█░░░░░░░░█░█░░░░░█░░░░░░█░█░░░░░░░░░░█░█░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░█░░░░░█░░░░█░░░░░░░░█░░█░░░░░░░░░█░░░█░█░░░░░░░░░█░█░█░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░█░░░░█░░░█░░░░░░░░░░█░█░░░█░░░░░█░█░█░█░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░░░░░░░░█░░░░█░░░█░█░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░█░░░░░░░░░░█░░░░░░█░█░█░░░░░█░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░█░░░░░░█░█░░░░░░░░█░█░░░░░░░░█░░░░█░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░█░░░░░█░░█░░░░░░█░█░█░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░█░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░█░░░█░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
@ -0,0 +1,73 @@
|
|||
#....#############.####.##.#..#..#.#.##..#..###.###.#...#..#.##..###...##
|
||||
.####.#.#.#####.#....###...###...#.##.#...#...#.#...#..#.###..#..####.#.#
|
||||
####....#.#..##...####.#..#.......#.###..#.##.###.##..###...#####.......#
|
||||
.#.#....#####..#.#.##...#.##..#####...###............##....#####.###..#..
|
||||
######.##..#.#.#.#..#..#.#..#.##..#.##.###.#.##.#.##..#.#####..#.##.#....
|
||||
..#..#####..#.##########.#......#.#.#.#.###.#.#.###.#..#####...###.#..##.
|
||||
#####.#.##..#.#.#..#.#.#..##.#.##...##.#.#.##.....#........#.###.#.##.#.#
|
||||
...##...###.....#....##...##.##.##..#.....#.##......#....#...####..#.#...
|
||||
.#.#.#..#.#..##.#.#..###.####.#...#...#.##.##.#.###.....#....#..###.#.#..
|
||||
.#..###.#.#.#....##.#...#.###...#...#.###.####......#.#####.....#.####...
|
||||
#.##.######.#.##.#..##############..#......###.#.##.#...##.#..#...#......
|
||||
.###...#..##..###..##...##..#####..#..###..##.#..##....#.##########.#...#
|
||||
#...#......##.###.####..#..#.###.#.#.###.#####.####..#####.####...####.#.
|
||||
...#.##..#..#...##.###.#...#.#....##.##...###..#..##..##.#....###......##
|
||||
####..#.#.##..##...#.##.#....###.##..#.#.#.#..#.#.#####..###..#.#####.#.#
|
||||
..####..##.#..##.###.##.....###....####.#.#...##.##...#...#..#..#####..##
|
||||
#.#.#.##.####...#.....#..#.##..........#..###.....#..##..##..###.##......
|
||||
#.##########..#...####.###....#.###..#....#....#..##.#...##.###...#...#..
|
||||
.##.##....##...###.###....#.###.#.....##..#.#.#.....#.##..##.#.#.#..#.#.#
|
||||
..#.##.###..#....#..#..#.#.#..#.####...#.####...###.#.#.#...######...#.#.
|
||||
###.##.###.#..##..#.#..#.#.#..#.##..###...#.##..#...###.#...##.#....###.#
|
||||
##..#.....#..########.##.#.####..#.##..##..####..####..##..#..#.##.#.#...
|
||||
#....##.#.#..#.#.###.###.#....###.##..###.##..#.......##..###.##.....#..#
|
||||
#..#..#.#.#.####...#.##....#....#..####..#....#..#.##....###..##...##.#..
|
||||
##.....#..##.#..###..#.####.#...#.#.#.#..#.#..####..#....#.###.####.####.
|
||||
###..#...##..####..#.##.....#.###.###.##......##..#.####.#.....##.#.####.
|
||||
##.#...##.#..###.##.#...###.#####..#.#...#####..#####.#.##.#..##....#.###
|
||||
##.#....##...#.#.##..##...#.#.#.#..####.#.#.#.#.###.#.###.....##..######.
|
||||
#...##...##..##..#.#...#..#.#..#.#......#.#.#.#.#.####...#.....##..#..##.
|
||||
##.#..#.######....###..#..##...#..###..#.####.######....#..#..#.#####..#.
|
||||
......###..#.#..##...#.####.####.###..#..###.#..#..##.#.##...#.#....#####
|
||||
####..##.####.#.######....#..#...##.##..##.....#..##.#.#.##..###..###.###
|
||||
.#..#.##..#####.##.####..#..#.###...##.##...####...#.#.#.##......##.#..#.
|
||||
##..#####......#..#.#..##......##.##.#.###.#.##.#.##..#####.#.#.#...#.#..
|
||||
...#######.#######.#.#..#..#.#.###.#######....##...#....#...#####.##.#.##
|
||||
#..#.##..#.#..#..######.....###...###....##...##.##...#..#.........####..
|
||||
##..#######.#.#....#...###..#...#.##.....###.##.#.#.#..#.#....##.#......#
|
||||
.#.#.##..#.#.#.###.##.#....#.###..#.#...#.##.#####.#....#..##..#.##....#.
|
||||
###.#########..#...#.#..##...#.#.##.###.###....#.....#.#.##.#.#.###.#....
|
||||
....##..###..##.#....#..##.#.##..#.#.####.##......###.#.###......#.###...
|
||||
..##.#......##.#.#.###.#.######..##.#....#..##..###..#...##...#...#...#.#
|
||||
#.##.##..##.#.##...##...##.######.####.#..####...#.###.#...###..#.##.###.
|
||||
##...#....####..####.##.##.###.#...##..........##..##..#...#..#...##.#...
|
||||
...#.#.#....#..#####.##...####....##..#..#.##..##.######....#..##.###.#..
|
||||
##.##......##.##.##.....###...##....##.###.######......#.###...##.###...#
|
||||
#..##...#....#...###.....#.#.##.###.#.#.##.##...##..#..###........###..#.
|
||||
#.#...#.###.##...#...#.#.#.....####.........##..##..####.######....#.#..#
|
||||
######.#.#..#.#.##.##.#...#..#.#....#..#..#.#.#.#.#####...#.....#.#.#.###
|
||||
.#.#.###.###.###.######.#...#....#..#.##..#.##.#...#...#...##..####.#.#.#
|
||||
..#....##.###.##.###.#.###.#.##.#.#..#.#.#.##.#..#.#.##.#.##..#.#.####...
|
||||
.##.##..#.####..#.....#.....##.#....##..###..######..#.##.##...#...##.##.
|
||||
..#.#.#..#.#....#..#.##..####..#..#....#..#..##.#.###.##.#........#.####.
|
||||
##...##.###.#.###.###....##.##..#...#....#.####..##.###....#..#.##..#####
|
||||
##.#.####...#.##.#....##.#.....#.#..#..###.##.#....##.####.#.#####.#####.
|
||||
.....##.#......#..###..#..#..#.#.#.##.##..#..#.#..#..##.##.####.#.#.#.#.#
|
||||
##.#.##.#.##.#..#####...##..#....##.###.#.##..###...##..##..#..#.##..#..#
|
||||
#...#..#.###.#.#..##.#.###....#...#..#.#...#.#..##.###...##...####.###.##
|
||||
.#..#..###....#.#.#..#.######.#.#....#####...#.#.###..#.###....#..######.
|
||||
.#..#.##.#....##.###....#.#.###.#.#...##...##..###..###..###.##...###.##.
|
||||
#.#...###..#..#.##.##.....##..#####..#.#.##.####.#.######..#.##.#.......#
|
||||
..###..##..#...#.###.#.###..#...#.#.#.##...#..####.###.##...#...#..##...#
|
||||
.#..#.#.#.##.#.###.###..##..#..##...######.#..#.#...#...#..##.#.#..###.#.
|
||||
#..###.#####..#..###..#.#...#####.##..###..#.###.###.#.#.##..#####....##.
|
||||
....#..###...#.#.#...##.##...###.#...##.#.#..#.....###........##.#...####
|
||||
#......#.#..###.....###.#...###...##..#.###.#.##.#.#...#..#...##....##...
|
||||
..#.####..##..#..###.#...##...######.###.#..#.#.##.##.##.###.####.#..#..#
|
||||
####.#.##.###.#.#.#.#...#...#.#..####.#.##..##....##...####.#######...##.
|
||||
.##.##.#.....#.#..#....#.###.#..#..#.#.#.#.##..#.##.#..#####.#.####...###
|
||||
#....#....#...##.#.#...#####.#..#..###.###....#####...#.....#..#.###.####
|
||||
#..##.##...##....####..##.#.######.#.#..###...###.#.##.#.##.#...##..#..##
|
||||
...####..#..###.....#.#...#.##..##..###......###.#..##.#.##.#..#.#.##.##.
|
||||
...####.##..###.....#..###...##...##.##.##.#.#..###.#.##.#....##.#.##.#..
|
||||
...#....#.#...#...#..#.#.#.#####..##....##....##.#.##.#.#....#..###..####
|
|
@ -0,0 +1,88 @@
|
|||
#lang curly-fn racket
|
||||
|
||||
(require "../lib.rkt"
|
||||
data/queue)
|
||||
|
||||
(define elves
|
||||
(for/fold ([elves (set)])
|
||||
([row (problem-input 23)]
|
||||
[y (in-naturals)])
|
||||
(for/fold ([elves elves])
|
||||
([col (string->list row)]
|
||||
[x (in-naturals)])
|
||||
(if (char=? col #\#)
|
||||
(set-add elves `(,x ,y))
|
||||
elves))))
|
||||
|
||||
(define (grounds elves)
|
||||
(define xmin (minimum (set-map elves first)))
|
||||
(define xmax (maximum (set-map elves first)))
|
||||
(define ymin (minimum (set-map elves second)))
|
||||
(define ymax (maximum (set-map elves second)))
|
||||
(- (* (add1 (- xmax xmin)) (add1 (- ymax ymin)))
|
||||
(set-count elves)))
|
||||
|
||||
(define ((propose elves r) x y)
|
||||
(define N `(,x ,(sub1 y)))
|
||||
(define NE `(,(add1 x) ,(sub1 y)))
|
||||
(define E `(,(add1 x) ,y))
|
||||
(define SE `(,(add1 x) ,(add1 y)))
|
||||
(define S `(,x ,(add1 y)))
|
||||
(define SW `(,(sub1 x) ,(add1 y)))
|
||||
(define W `(,(sub1 x) ,y))
|
||||
(define NW `(,(sub1 x) ,(sub1 y)))
|
||||
(match (% r 4)
|
||||
[0 (cond
|
||||
[(set-empty? (set-intersect elves (set N NE E SE S SW W NW))) `(,x ,y)]
|
||||
[(andmap #{not (set-member? elves %)} (list N NE NW)) N]
|
||||
[(andmap #{not (set-member? elves %)} (list S SE SW)) S]
|
||||
[(andmap #{not (set-member? elves %)} (list W NW SW)) W]
|
||||
[(andmap #{not (set-member? elves %)} (list E NE SE)) E]
|
||||
[else `(,x ,y)])]
|
||||
[1 (cond
|
||||
[(set-empty? (set-intersect elves (set N NE E SE S SW W NW))) `(,x ,y)]
|
||||
[(andmap #{not (set-member? elves %)} (list S SE SW)) S]
|
||||
[(andmap #{not (set-member? elves %)} (list W NW SW)) W]
|
||||
[(andmap #{not (set-member? elves %)} (list E NE SE)) E]
|
||||
[(andmap #{not (set-member? elves %)} (list N NE NW)) N]
|
||||
[else `(,x ,y)])]
|
||||
[2 (cond
|
||||
[(set-empty? (set-intersect elves (set N NE E SE S SW W NW))) `(,x ,y)]
|
||||
[(andmap #{not (set-member? elves %)} (list W NW SW)) W]
|
||||
[(andmap #{not (set-member? elves %)} (list E NE SE)) E]
|
||||
[(andmap #{not (set-member? elves %)} (list N NE NW)) N]
|
||||
[(andmap #{not (set-member? elves %)} (list S SE SW)) S]
|
||||
[else `(,x ,y)])]
|
||||
[3 (cond
|
||||
[(set-empty? (set-intersect elves (set N NE E SE S SW W NW))) `(,x ,y)]
|
||||
[(andmap #{not (set-member? elves %)} (list E NE SE)) E]
|
||||
[(andmap #{not (set-member? elves %)} (list N NE NW)) N]
|
||||
[(andmap #{not (set-member? elves %)} (list S SE SW)) S]
|
||||
[(andmap #{not (set-member? elves %)} (list W NW SW)) W]
|
||||
[else `(,x ,y)])]))
|
||||
|
||||
(define (proposals elves r)
|
||||
(for/fold ([ps (make-immutable-hash)])
|
||||
([elf elves])
|
||||
(hash-update ps (apply (propose elves r) elf) #{cons elf %} '())))
|
||||
|
||||
(define (round elves r)
|
||||
(for/fold ([elves* (set)])
|
||||
([(p es) (proposals elves r)])
|
||||
(match es
|
||||
[`(,e1 ,e2) (set-add (set-add elves* e1) e2)]
|
||||
[`(,e) (set-add elves* p)])))
|
||||
|
||||
(define part1
|
||||
(for/fold ([elves elves]
|
||||
#:result (grounds elves))
|
||||
([r (in-range 10)])
|
||||
(round elves r)))
|
||||
|
||||
(define part2
|
||||
(let loop ([elves elves]
|
||||
[r 1])
|
||||
(define elves* (round elves r))
|
||||
(if (set=? elves elves*) (add1 r) (loop elves* (add1 r)))))
|
||||
|
||||
(show-solution part1 part2)
|
Loading…
Reference in New Issue