~pmikkelsen/aoc2023

d24ffb08e6f2caf699ec8a87db98b69a7ac26c6e — Peter Mikkelsen 7 months ago fc02577
Solve day 13
2 files changed, 1405 insertions(+), 0 deletions(-)

A Day13.aplf
A input/day13
A Day13.aplf => Day13.aplf +18 -0
@@ 0,0 1,18 @@
 r←Day13;input;solve;split
 input←⊃⎕NGET'input/day13' 1
 input←↑¨input⊆⍨''∘≢¨input
 split←{
     m←⍺
     x←⍵
     ⍸{
         (a b)←(⊖⍵↑x)(⍵↓x)
         n←a⌊⍥≢b
         m=+⌿,a≠⍥(n∘↑)b
     }¨⍳¯1+≢x
 }
 solve←{
     horizontal←+⌿∊⍵ split¨input
     vertical←+⌿∊⍵∘split⍤⍉¨input
     vertical+100×horizontal
 }
 r←solve¨0 1

A input/day13 => input/day13 +1387 -0
@@ 0,0 1,1387 @@
##.#.##
#.##...
.######
##....#
#.##.#.
.#.####
.#.####
#.##.#.
##....#
.######
#.##..#
##.#.##
..###..
..###..
##.#.##
#.##..#
.######

###....
##..###
.####..
.#.....
####.##
.....##
#..####
.#...##
#...###
.###...
.#..###
####.##
....###
....###
###..##

...##.##.##....
.##.######.##..
.##.#....#.##..
###.######.####
#.##......##.##
..###.##.###...
#####....######
####..##..#####
.###.#....###..
#####....######
..#........#...

####....##.
##.#....##.
#..#.###.##
.###...#.##
..###..#.#.
#.#..#.#.#.
.##..######
###..#....#
##.###..###
..##.#.##..
.#.##.#.#.#
.##.##.#.#.
.##.##.#.#.
.#.##.#.#.#
..##.#.##..

##...###..#.###
##...###..#.##.
##...###..#.##.
##...###..#.###
...###..###..#.
#.###.##....#.#
.#.#.#...#.#..#

###.#.##.#.##
..##.####.##.
##...#..#...#
.....#..#....
####.####.#.#
..#.#.##.#.#.
#####....####
..####..####.
..##########.
##..##..##..#
...#......#..
...#.####.#..
######..#####
###.######.##
##..##..##..#

#.##.#...
..##...##
##..##.##
##..##...
..###.#..
#.##.#...
#.##.#.##
#.##.#...
#.##.#...
..##..#..
#.##.##..
######.##
#....####
.......##
######.##
.####..##
#.##.####

.####....#..##.##
..########..####.
.#..##..#..####..
#.#..#..###...###
..#...##.#..#.##.
###.#.##.###..##.
....###.#..####.#
....###.#..####.#
###.#.##.###..##.
..#...##.#..#.##.
#.#..#..###...###
.#..##..#..####..
..########..#.##.
.####....#..##.##
.####....#..##.##

...#..#...#.#.#
...#..##...#..#
####.###.#...##
..#..##.#.#....
##.#.#...#.#.#.
.....###..#.#..
..#.#.#.....##.
..#.#.#.....##.
.....###..#.#..
##.#.#...#.#.#.
..#..##.#.#....
####.#.#.#...##
...#..##...#..#
...#..#...#.#.#
######.....####

.####.#
##..##.
###.###
......#
......#
#....##
#....##

...##...##.#.#.
...##...##.#.#.
##....##.#.#.#.
#..##......#.##
...##...#######
########....#.#
.##..##......##
#......#..#...#
#..##..##.#.###

.##.###...#
.##.###..##
.##.##.###.
#..##..##..
#..#..#.#..
#..#..#####
....##.####
....#..####
####.......
#..#.##.#..
#####.##.##

..#.#.#.##....#..
.#...###.##.#..#.
.#...###.##.#..#.
..#.#.#.##....#..
##..#.#..#..#.#.#
.#.#..#.#.##.....
.......###.......
####..#...#.##.##
.#.#.#...........
.#...#...........
####..#...#.##.##

##..###.#....
#....###....#
..##....#....
.####...##..#
.#..#.#.#..#.
.####...#...#
#.##.#.#...##
..##.....##..
########..#.#
#....########
.####....##..
#.##.#..####.
#.##.#.#####.

#.#..##.###
#.#..###...
.#.#.##.#..
.####...###
####..##...
...##...#..
##.#.###...
#..##..##..
#..#.##..##
.######.###
..#####.###

#.#.####.#.#.###.
#.#.####.#.#.###.
#.###..###.##.##.
#.#.####.#.##..#.
############.##.#
.#.######.#.#....
...#....#...#.###
#..##..##..#..#..
.##......##..###.
...##..##...##..#
..#..##..#...###.
.....##......####
..###..#.#..###.#
#.#.#..#.#.#.##..
.###....###..#.##
##.#.##.#.###..##
.#........#..#.##

#..####..####
###.##.######
####..#######
#...##...#..#
###....###..#
#........#..#
###.##.###..#
..#....#.....
............#
#..####..#..#
.##....##....
##.#..#.#####
###.##.######
....##.......
###....######
##......##..#
...#..#......

.###.#..##..##..#
#..#######..#####
.#.##.##.#..#.##.
..........##.....
..........##.....
##...###.####.###
#.#.##..######..#
##.#######..#####
#.....##..##..##.
#....############
.#.#.#..######..#
#.##.####.##.####
###.#####.##.####
.#..#.##.####.##.
#..##.##.#..#.##.
.#####..#....#..#
#.##.#..######..#

####.##.##.##.#
..#............
#####..####..##
.###....##....#
..###..####..##
#...#..#..#..#.
.#...##....##..
.#.#.##.##.##.#
#..............
#..#....##....#
....#..#..#..#.
.#.############
.##############
....##########.
...#.##.##.##.#

...........#...
.#.##.#..#..###
########..#####
..........#.###
#......#...#.##
#.####.####..##
.#....#......##
.#....#.#.#.###
...##.......#..
#.####.##....##
#......##.#....
###..#####..#..
#........##.#..

##########.#.##.#
#.##.#...##..#..#
##..###.#..###.#.
##..###.#..###.#.
#.##.#...##..#..#
##########.#.##.#
########.....##..
#.##.##.##....##.
........##..#...#
#....#.##..#...#.
#.######...##.#..

....#..
#..###.
..###.#
..##..#
#..###.
....#..
####...
...##..
..#.###
##...#.
#.#..#.
#.#..#.
##...#.

.###.##.###.#..
.....##.....###
##.######.##...
#..######..##..
#.#.#..#.#.##..
.##......##..##
...######....##
.##.#..#.##.###
.##.#.##.##..##
###......######
#....##....####
....#..#.......
..#......#..#..

#..#######.
#..########
.#.#..##.##
.#.##...#.#
.#.##...#.#
.#.#..##.##
#..########
#..#######.
..#.##.##..

.##....##.###.#
..##..##....#..
..##..##.......
.##....##.###.#
##......###.###
#.#....#.##.##.
#.#....#.#.#.##
#.######.##....
..#.##.#..#.##.
...####...#.##.
.#.####.#..#..#
###....###.##..
##..##..##.##..

####.##..####
####.##..####
..#.#######.#
.#.##.#.##...
.###...##.#..
.##.###.####.
.##..#.#....#
.##..#.#....#
.##.###.####.
.###...##.#..
.#.##.#..#...
..#.#######.#
####.##..####

####..#.##....#
####..#.##.....
#..##.###.##.##
......#...##.#.
....#.##.##....
####.#.#.##.#..
#..#..#####..##
............#.#
#..#..##.#...#.

####.##.####..#
.##..##..##..#.
#..#....#..#...
.##......##...#
.####..####....
.....##.....#.#
#..#....#..#...
####.##.#######
....####....#.#

##..#.....###..#.
....#.##.##...###
#..####.##...#.##
##.##..###...#.#.
##.#.####.##.....
#.####.###.#.##..
##.#..###.#..##..
###.#.#.#.#.#.#..
###.#.#.#...#.#..
....#..#.#.#..##.
..#.#.###.#.#..#.
..#.#.###.#.#..#.
....#..#.#.#..##.
###.#.#.#...#.#..
###.#.#.#.#.#.#..

.#.##..##.#..
.##########..
..##.##.##...
#...#..#.....
...##..##....
.#.######.#..
#...#..#...##
#.#......#.##
.###.##.###..
.#.#.##.#.#..
#..######..##
#.#..##..#.##
.#.######.#..
#....##....##
.#..#..#..#..
#.#.#..#.#.##
.##########..

....###.....####.
##.####..#.#..#.#
####.##..#.##...#
...#....#...##..#
...#...#....##..#
####.#.#..##.####
....#.###.#......
##.##...####...##
##.##...####...##
....#.###.#......
####.#.#..##.###.
...#...#....##..#
...#....#...##..#

..#.##..#
..#.##..#
#######..
#..#.##..
#.#....##
#..#...#.
###.#.#..
#.#.#..##
#.#.#..##
###.#.#..
#..#...#.
#.#....##
#..#.##..
#######..
..#.##.##

....#.##.####
#.##.#...#...
..####..#..##
##...#...#.##
#.####..##.##
###..######..
.##..######..

#..####.#.#
#..####.#.#
#...#.#.#.#
.##.#.##..#
#..##..####
##..##.##..
####..##.#.
#.##..##.#.
##..##.##..

##.#..#.###.#..
##..#.######.#.
###..#.##.#....
##.####.#.####.
..#.####.#.#..#
...#.#.##.###..
###....#.#.#..#
..#.###.##..##.
...#.###.###...
############.#.
###########..#.

.##....
.#.#...
#..####
#..####
.#.#...
.##....
...#..#

.#.##.#..##..#.
..####....#..##
#......#....#.#
.######.#..#.##
.........#####.
..####..#......
..####..#......
.........#####.
.######.#..#.##
#......#....#.#
..####....#..##
.#.##.#..##..#.
.#.#..#.##..#..
.#.##.#...####.
.#.##.#.#...#..

...#.#..#
##..#....
###......
###......
##..#....
...#.#..#
#...##..#
..##....#
..#.##..#
#.....##.
#....####

...###..###
#..##..####
##.##.....#
..#..###..#
.#.##.###..
#...###.###
....#.#.##.
#...#......
#...#......
....#.#.##.
#...###.###
.#.##.###..
..#..###..#
##.##.....#
#..##..####
...###..###
....##..###

..##.#.#..#..#.##
..#.#..##.#.###..
..#.#..##.#.###..
..##.#.#..#..#.##
#..##.##..#.##.##
.#####.#..###...#
...#.....##.####.
..#....#..##..#..
.#..##.#..###.##.
....#.####.####.#
...#.###..#..#..#
.##.#.#..###...##
..#.#.#..###...##

.###.###...
##..#...##.
.##.#.....#
...#...#...
##.#...#.#.
##.#...#.#.
...#...#...
.##.#...#.#
##..#...##.
.###.###...
#.##.##.##.
#.##.##.##.
.###.###...

.#.##......
.#.##......
..##.##..##
....##.##.#
...###.##.#
##.##..##..
.##.##....#
##.#..#..#.
.#..#.....#

#..#.##..#..#..
#..#....#..##..
.##.#.#####.##.
####.#.##......
.##.##..##.....
#..#.###.###...
.##.........#..
#####..#.#.....
.##.#.#........
.....#..#....##
####.###..###..
#..#.##..#.##..
.##.###...#####

#..#.#.##..#..#
.##.#.###.....#
.##.#..##.#...#
########.#..##.
####.#.#####.##
....##...#.##..
....#.##.###.#.
..........#.#..
..........#.#..
....#.##.##..#.
....##...#.##..

..#####.####...#.
......#.#.###.##.
.##.#...#..#..###
.##.#...#..#..###
......#.#.###.##.
..#####.####...#.
#.####....#.#..#.
####.##..#.###.#.
..#..##.#..###..#
##....###.##.#.##
.##....###.##..#.
.##....###.##..#.
##....###.##.#.#.

..#.####.##......
....####.##......
.#.###.###.#....#
#.###..##########
....###.##.######
#......#.#.######
##...#..#..#.##.#

....#...##..#.#..
#..#....#....#..#
.#..##..#..#.#...
..#.#..#..#.##.##
.##...##.##..##..
.##...##.##..##..
..#.#..#..#.##.##
.#..##..#..#.#...
#..#....#....#..#
....#...##..#.#..
....##...#....###
.#..#.#.#..##..##
#...##..###....##
#...##..###....##
.#..#.#....##..##

..#..#.#..##.#..#
#.#.###..##.#.##.
..##..####..#####
.#.##..#...#.####
###.#.#..##.#####
###.#...#.###.##.
###.#.###..#..##.
#..#....#.##..#..
..###....#..##..#
#.#####.##.#.####
#.##.#...#..##..#
##.....###...#..#
#...##....#...##.
.###.#..#.#######
.###.#..#.#######

.##.#..
###....
#.#....
...#..#
#..####
###....
###....
#..####
...#..#

##.....#..#..
....##.####.#
....#.#.##.#.
.#.#.#......#
#....##....##
##..##.#..#.#
#.#.#..###...
####.##.##.##
####.##.##.##

......###....
...##.####.##
..#..######..
##..##....##.
###.#.#..#.#.
......#..#...
###..##..##..
##.##......##
.....######..
..####.##.###
.......##....
...#.#....#.#
..###......##
###.##....##.
##..#.####.#.
###.#..##..#.
...##.#..#.##

..#.##.#....#
..######....#
#..#..#..##..
....##.......
#..####..##..
..#....#....#
##.####.####.
#.#.##.#.##.#
#..#..#......
#.#....#.##.#
#..####..##..
##......####.
.##....##..##

#...#.#
#...#.#
####.#.
..##..#
.######
....#..
.##..#.
....#..
....#..
.##..##
....#..
.######
..##..#
####.#.
#...#.#

..##...#..##...##
.......#.#.##.#.#
......#..###.#.#.
......#####.#..##
##..##.#####..###
##..###.#.###.#.#
.......#.#.##..##
..##...#.#.#.##.#
##..##..#..##.#.#
##..####.##.#.###
##..###.#.#.##..#
.......#..#.##.#.
..##...##.#.#.###
##..##.######.#..
.#..#.##.##..##..
..##......##.#.##
..##..#..#.....#.

.#....####.
..#.#.####.
.#####....#
##...######
##.....##..
.#..#..##..
..##.#....#
#...###..##
#...###..##
..##.#....#
##..#..##..
##.....##..
##...######

.##.##..#
##...####
#...#..##
##....#..
....#..##
...#.####
...#.####
....#..##
##....#..

#.##..##.##..#.#.
#........##.#....
###....######..##
...####...#..###.
##......##....#..
..#.##.#...##.###
#........#.####..
#.#....#.#.#..##.
#.#....#.#.#..##.
#........#.####..
..#.##.#....#.###

......#..#.##..##
......#..#.##..##
#.#.##.....###.##
#..###....##.#..#
..#.##..###....#.
.#.#.#..##....##.
#.#....#.##...#.#
.##..###.#.#.##.#
.##..###.#.#.##.#
#.#....#.##...#.#
.#.#.#..##....##.
..#.##.####....#.
#..###....##.#..#
#.#.##.....###.##
......#..#.##..##

.#.###....###.###
....##.#.###....#
##....#.#.#.##...
##....#.#.#.##...
....##.#.###....#
.#.###....###.###
..#..#.#...##.#..
.#.#..#...####.##
#..#...#.###...##
.##.#.#.#..#..#.#
.##.#.#.#..#..#.#
#..#...#.###...##
...#..#...####.##
..#..#.#...##.#..
.#.###....###.###
....##.#.###....#
##....#.#.#.##...

##..##..####.
.#..#.#.####.
.####.#.#..#.
###.###.#..#.
##..##...##..
######..####.
......#.#..#.
.#..#........
##..##.######
######.##..##
.####..#....#

##...#..#...#
###.##..##.##
##..#####...#
..#........#.
..#.#.##.#.#.
##.#.####.#.#
......##.....
..#.##..##.#.
##.#.####.#.#
..###.##.###.
###...##...##
..#..#..#..#.
..#.#....#.#.
######..#####
.....#..#....
..#.#.##.#.#.
##...####...#

.##.##..#....#..#
.....####.##.####
.#...###......###
.#...............
.#...############
#.#......####....
.#.###..#....#..#
.#.#.#..#....#..#
#...#.##......##.
#.#.#.##.#..#.##.
..#...##..##..##.

.##...#.#
####...#.
#..#..#..
######.##
.....#.#.
....#..##
#..######
.#..##...
....##...
.....###.
.##...###
.##.#.###
.##.#.###

.#.##.######.##
.#.##.######.##
#..##.#.##.#.##
##..#.######.#.
.###..#....#..#
...#.#.######.#
..##.#.####.#.#

.##...##...
.##.#..#...
#....#.##..
.###..#.###
....#......
#.#.#...###
..####.#...
..####.#...
#.#.#...###
....#......
.###..#.###
#....#.##..
.##.#..#...
.#....##...
.##.#..##..

#.#.#..#.#.###..#
#####..##########
.#.#.##.#.#.#####
.#.#.##.#.#.##..#
###.#..#.########
.##..##..##.#....
###.####.########
.######.###..#..#
...#.##.#....####
#...#..#...###..#
###......###..##.
###.#..#.####....
..###..###..##..#
####....####..##.
#.##....##.###..#

.#...#....#...#.#
#.###......###.##
..#.##....##.#..#
..#.##....##.#..#
...#.##..##.#....
####.#....#.#####
###.#..##..#.####
..##...##...##..#
##..########..###
##..########..###
..##...##...##...
###.#..##..#.####
####.#....#.#####

..#.####.##.###
###..#.#....#.#
###..#.#....#.#
..#.####.##.###
##....##.##.##.
#.#.#.##.##.##.
##....#.####.#.
##......#..#..#
##..##.#....#.#
#..#...######..
###.#####..####

#......##.#.#..#.
#......#..#..##..
#......#..#.#..#.
#..##.###...#..#.
#......#.###.##.#
...##...####....#
.#.##.#.##..#..#.
..#..#..#....##..
...##....########
...##....#.#.##.#
###..#####.#.##.#

..#..####....
..####.#.#...
...##..#.#.#.
..#.#####...#
..#..###..#.#
....###...#.#
....###..##.#
..#..###..#.#
..#.#####...#
...##..#.#.#.
..####.#.#...
..#..####....
..#.#.#.##...
###.....###..
##.###...#..#

#.....#.#..#..#..
...#..#.##...#..#
.####.#.###..#.##
.####.#.###..#.##
...#..#.##...#..#
#.....#.#..#..#..
.##......#.#...#.
..#.#.##.....#...
.#...#.####.#..#.
.####.#.######.##
#..#.#...##...#.#
#..#.#...##...#.#
.####.#.######.##
.#...#.####.#..#.
..#.#.##.....#...
.##......#.#...#.
#.....#.#..##.#..

..#.#.#
..#.#.#
....##.
.##..#.
#..#.#.
....#.#
....#..
.....#.
....##.

.........#.
.#....#....
##....##.#.
#......##.#
.######...#
#.......###
.######..##
#..##..###.
#.#..#.#...
#.#..#.#...
#..##..###.

###..#.###.
##.##...#..
.#.#..###..
.#.###.####
.#.###.####
.#.#..###..
##.##...#..
###..#..##.
.####.#..#.
.##...###..
#...#.#.#.#
#...#.#.#.#
.##...###..

.#.#.#.....
...###.....
....#.#####
##..#......
.###..#####
##.....####
.###.#.####
.#.#..#....
.######....
....##.####
..##.#.....
#.###.#####
.##..##....
.#..##..##.
#.#...#....

..#.##.#..#
#.#....#.##
#.##..##.#.
#.##..##.#.
#.#....#.##
..#.##.#..#
..#....#...
..#######.#
.#.#..#.#.#

####..####..#
..##..#####.#
##..##....##.
..##..####..#
....#.#..#.#.
...#.######.#
...#..#..#..#

.###.####.###
.....####....
.###..##..###
...#......#..
.####.##.####
###..#..#..##
....#....#...
.###..##..###
#...######...
#...#.##.#...
..##.#..#.##.
...#.####.#..
.##.######.##
...#.####.#..
#....#..#....
.###.####.###
#...######...

###.####.#..#..
..##...##.#.#.#
##.#..###.##.##
..#.##.##.###.#
..###..###.##.#
......##..##.##
#####..#.##..#.
#####...#......
###....#.###.#.
.....#.##.#####
##..#.#.##...#.
........####.#.
........####.#.
##..#...##...#.
.....#.##.#####

..........####.
...##....#....#
.........##..##
#......##.####.
#...#..##..##..
.#....#...####.
........#######
#.####.###....#
##.##.###.####.
#......#.#....#
#......#.#.##.#

#######.##....#
##.#.##########
##..##.#..#..#.
###....#.#.##.#
######.#..#..#.
..###.##.##..##
##.##.#..#....#
##.#.##........
#..#..##.#....#
#.###..#..#..#.
#.#.#.###.####.
#.#.#####.####.
#.###..#..#..#.

##.###...#.##..#.
#.#....##.###.#..
.#.....#.###..#..
.#.....#.###..#..
#.#....##.###.##.
##.###...#.##..#.
..#.###...#..#.##
#.#.#.##.######..
#.#.#.##.######..
..#.###...#..#.##
##.###...#.##..#.
#.#....##.###.##.
.#.....#.###..#..

#.#.##..##.#.##..
##.#.####.#.##.##
.####....####.###
.#.###..###.#..##
.#.#......#.#..##
..#.#.##.#.#.....
.#...#..#...#.#..
.#######.####.###
#..#.#..#.#..####
.##.##..##.##....
..#........#..###
#..##....##..####
#.#..#..#..#.#...
..##.####.##.....
#####....#####...
##.########.##...
#.##......##.####

......###..##
#####.######.
.##...##.#.#.
########.##..
....#..#.....
.......###.#.
.##.##.###.#.
#..####..##.#
#..####..##.#
.##.##.###.#.
.......###.#.
....#..#.....
########.##..
.##...##...#.
#####.######.
......###..##
#########....

####...####
.###.#.....
.###.#.....
####...####
.####.##..#
.#..#######
#####...#.#
#.####.##..
#.#...#.##.
#.#####....
...###.#.##
#.#.#.#...#
##.#####.##
#...##.####
#...#..####

#..#..####..#
#######..####
.##..######..
#...#..##..#.
####.##..##.#
...###.##.###
##..##.##.##.
.#...##..##..
#.....####...
###...####...
.....#....#..
....########.
#.#.#..##..#.
#....#....#..
#.#..#....#..

.###.####..
.########..
.###..###.#
##########.
.###..###..
.###..###..
##########.
.###..###.#
.########..
.###.####..
#...##...##

#.#.###.#
#.#.###.#
###.#.###
...###...
..#..##.#
..#...#.#
#.#...#.#
..#..##.#
...###...

..##.#...
..##.#...
...##...#
..#..##..
.#.##.#..
#...##...
##..####.
#.###.#..
#.###.#..
#...####.
#...##...
.#.##.#..
..#..##..
...##...#
..##.#...

###..##...#.#####
.#.##.#..#.#.....
#.#####.#.####.##
.#.#..#.#.###.###
##.##.##....#...#
##.##.##....#...#
.#.#..#.#.###.###
#.#####.#.#######
.#.##.#..#.#.....
###..##...#.#####
...#......#.##..#
..#.##....#...###
......###..#.....
..#.##.#.#.....#.
..#.##.#.#.....#.

###.###.#
###.#....
##.#.###.
###.##.##
..#..#..#
######..#
##.###..#

.....#.########
..#.###..##.#.#
##..#...##..##.
##....#.#.#.#..
#####.####...##
#...#.#.#.##.##
#...#.#.#.##.##
#####.####...##
##....#.#.#.#..
##..#...##..##.
..#.#.#..##.#.#
.....#.########
.#....##...####
##.###..#..##.#
##.###..#..##.#

#########.#..####
...##...#..#.#.#.
##....##......#..
.........##..###.
#..##..###.#.##..
#..##..#.#.#.##..
.........##..###.
##....##......#..
...##...#..#.#.#.
#########.#..####
..####..#.#######

...####...##.
.##....##....
.########.##.
##.#..#.#####
####..#######
####..#.##..#
..#.##.#.....
##..##..##..#
#.##..##.#..#
##..##..##..#
#.######.#..#
.###..###....
#..#..#..#..#
....##....##.
#.######.#..#

.#.#...
#......
.#..#.#
..#..#.
..###..
#.#####
#...###
#...###
#.#####
..###..
..#....
.#..#.#
#......
.#.#...
#.#..#.
#.#..#.
.#.#...

####..##.....#.
....###.###....
#######.##.#...
.##..#..###.###
.##.##..####..#
.##.#..####.###
####.#..##.##..
.##.####.#.#.#.
....#.##.##..##
....#.##.##..##
.##.####.#.#.#.
####.#..#####..
.##.#..####.###

..####.....
##....####.
..#..#....#
#.####.##..
#.####.##..
#.####.#.##
.#....#...#
#......#.##
#.####.##..
..####..##.
..#..#..#.#
.#.##.#.##.
.#.##.#.##.
..#..#..###
..####..##.

#......##..
.#.##.#..##
.#....#..##
.#....#.#..
####.###.##
.######....
###..######
..####..#..
..#..#..#..
##....##...
##....##...
########.##
##....##...

##..###.####.
..##..#.#..#.
#########.#..
######.##..#.
######.....#.
######..#..#.
..##......#.#
##..####...#.
##########.#.
##..##.####..
..##...###...
......##.#.##
......###.###
#######.#####
######...#.##
#.##.###.##..
..##..###.#..

#..#.##.###
.##..##.#.#
.....#..#.#
#..##....#.
....#####..
.##.#......
....#..#...
.##.##....#
#..##.###.#
.......#.##
....#..#.##
#..##.###.#
.##.##....#