XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAX####################XXXXXXAXXXXAXXXXXXXXXXXXXXXXXXXXXXXXA......XXXXXXXXXX####################XXXXXXXXXXXXXAAAXXXXXXXXXXXXXXX............................................
XXXXXXXXXXXXXXXXXXXXXXXXX##XAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXXAXXXXXXXXXXXXXXXXXXXXAXAXXX.......X..XXXXXXXXXXA###XXXXXXXXXXXXXXXXXXXXXXXAAAAAAXXXXXXXXXXXXXX............................................
XXXXXXXXXXAXXXXXXXXXXXX######XAXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXA.....................#.XXXXXXXXXXXXXXXXXXXXXXXXAXAAXXXXXXXXXXXXXXXX............................................
XXXXXXXXXXXXXXXXXXXXXX#########XXXXAXAXAXAXXXXXXXXXXXXXXXX.XAXAXXXXXXXXXXXXXXXXXXXXXAAXXX................................XXXXXXXXXXXXXAAXXXAXXXXXXXXXXXXXXXXX...........................................
XXXXXXXXAXXAXXXXXXXXX##############XAXAAXAXAXXXXXXXXXXXXXX.XXAXXXXXXXXXXXXXXXXXAAXXAXXXXA................................X.XXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXX...........................................
XXXXXXXXXXXXXAXXXXXX###############XAXXXAAXAAXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXAAXAXXXAX.....................................XXXXXXXXXXAXAXXXXXXXXXXXXXXXXXXXX...........................................
XXXXXXXX##XXAXXXXXXX###############AAXAXXAXAXXXXXXXXXXXXXX..XXXXAAXXXXXXXXXXXAXAXAXAXXXXXX..................####################XXAXXXXXAXXXXXXXXXXXXXXXXXXXX...........................................
XXXXXXXX##XXAXXXXXXX##############XAXXAAXAAXXXXXXXXXXXXXXX..XAXXXXAXXXXXXXXXXXAXAXAXXXXXX......................##...........XXXXAXXXXAXXXXXXXXXXXXXX##XXXXXXX...........................................
XXXXXXXXXAXAXXXXXXXXXXXXXXXXXXXAAAAXAAXXXAAXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXAXXXX...............####################AXAXXAAXXXXXXXXXXXXXXXX##XXXXXXXX..........................................
XXXXXXXXXAXXAXXXXXXXXXAXXAXAXAXXAAXXXXXXAAAXXXXXXXXXXXXXXXXXXXXAXXAXXXXXXXXXXXXXAAXXXXXXXX.....................##............AXXXXXAXXXXXXXXXXXXXXXX##XXXXXXX...........................................
XXXXXXXXAXXXXXXXXXXXXXXXXXXAXAAAXXXXAAAXXAXAXXXXXXXXXXXXXXXXXXXAXXXXAXXXXXXXXXXXXAAAXXXXXXX....................##.............XAXXXXXXXXXXXXXXXXXXXX##XXXXXXXX..........................................
XXXXXXXXXAXAXXXXXXXXXXXXXAXX####################XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................##............XXXAXXAXXXXXXXXXXXXXXXX##XXXXXXXX..........................................
XXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................##.............####################XX##XXXXXXXXX.........................................
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................##................AXXXXXXXXXXXXXXX##X##XXXXXXXXX.........................XXXXXXXXXX..X...
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX####XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................##................XXXXXXXXXXXXXXXX##X##XXXXXXXX..........................X.XXX.XXXX.X.XX.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#######XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...##................##................XXXXXXXXXXXXXXXX#####XXXXXXXXX........................X..XXXXX.XXXXXXX.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX########XXAAAAXXAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....##................##................XXXXXXXXXXXXXXXXX#X##XXXXXXXX..........................XXXXXXXXXXXXXX..
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##########XXAAXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....##................##................XXXXXXXXXXXXXXXXXXX##XXXXXXXXX........................XXXXXXXXXXXXXXXX.
XXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXXXXXXXXXXXX#########XXXXXXXAXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...##................##.................XXXXXXXXXXXXXXXXXX##XXXXXXXX.........................XXXXXXXXXXXXXXXX.
XXXXXXXXXXXXXXXXXXXXXXXXXX####XXXXXXXXXXXXXXXXX####XXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..##................##.................XXXXXXXXXXXXXXXXXX##XXXXXXXX.........................AXXXXXXXXXXXXXXX.
XXXXXXXXXXXXXXXXXXXXXXXXX#####XXXXXXXXXXXXXXXX####################XXXXXXXXXXXXXXXXXXXXXXXX...##................##.................XXXXXXXXXXXXXXXXXX##XXXXXXXX.........................AXAXXXXXXXXXXXXX.
XXXX####################X####XXXXXAXXXXXXXXXXXXXXAXXAXAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXX##XX..............##..................XXXXXXXXXXXXXXXXX##XXXXXX............................AXXXXXXXXXXXXXX.
XXXXXXXXXXXXXXXXXXXXXXXX#####XXXXXAAXXXXXXXXXXXXAAXAAXXXXXXAXXXXXXX#####################XXXXX##XX..............##...................XXXXXXXXXXXXXXXX##XXXXX............................XXXXXXXXXXXXXXXX.
XXXXXXXXXXXXXXXXXXXXXXXX####XXXXXXXXAXAXXXXXXXXXXXXXXXXXAAXXAXXAXXXXXXXXXXXXXXXXXXXXXX##XXXXX##..X.............##..................XX.XXXXXXXXXXXXXX##X..X.............................XXXXXXXXXXXXXXXX.
XXXXXXXXXXAXXXXXXXXXXXX#####XXAXXAXAXXAXXXXXXXXXXXXXXXXAAXXXXXAAAXXXXXXXXXXXXXXXX####X##XXXXX##XX..............##....................XXXXXXXXXXXXXXX##.................................XXXXXXXXXXXXXXXX.
XXXXXXXXXXAXXXXXXXXXXXXX###XXXAXXAXXAAXXXXXX##XXXXXXXXXXAAXXXAXXAXXXXXXXXXXXXXXX########XXXXX##XXX.............##......................XX.XXXXXX.XXX##.................................X.XXXXXXXXXXXXXX.
XXXXXXAAXXXXXXXXXXXXXXXXXXXXXXXAAAAXXXXXXXXX##XXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXX########XXXXX##XXX..................................................##....................................XXXXXXXXXXXXX.
XXXXXXXXAAXXXXXXXXXXXXXXXXXXXXXAAXAXXXXXXXXX##XXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXX########XXXXX##XX..............................###.###XXXXXXXXXXX..............................####################XXXX.
XXXAXXAXXXXXXXXXXXXXXXXXXXXAXXXAXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX########XXXXX##XXX.............................#######XXXXXX##XXXXXXX....................................XXXXXXXXXXXXXX.
XXXXAAXXAXAXXXXXXXXXXXXXXXXAXXXXAXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXX##XX.............................X.XXX###XXXXXX##XXXXAXXX.##.................................XXXXXXXXXXXXXX
XXXXXAXAXXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XAXXX##XX.............................XXXXXXXXXXXXXX##XXXAXAX.X#...........................................XXXXX
####################XXXXXXXXAXXXAAXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXX##XXXXX##XXX............................XXXXXXXXXXXXXA##XXXXXAXXX#####A......................................XXXXX
XAXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXXXXXXXX##AXXAX##XAX.............................XXXXXXXXXXXXA##XXXXXXXXXX####XAAX...................................XXXXX
XXXXXXXAXXXXXXXXXXXXXXXXXAXXXAXXXAXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXAXAX##XAXXX##XXA............................XXXXXXXXXXXXAX##XAXAXXXXXA#####A.....................................XX.X.
XXXXXXXXXXXXXXXXXXXXXXXXAAAXAXXXAAXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAAXXAAAX##AAXXA##XXX............................XXXXXXXXXXAXXX##XAXAXXXXAAX#####X.........................................
XXXXAXXXXXXXXXXXXXXXXX####################XX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXX##AXXXAAXXAX............................XXXXXXXXXXAAXA##XXAXXXXXXXA#####XX.................##...........##........
XXAAAXXXXXXXXXXXXXXXXXAXAXXXXXXXXXXXXXXXXXXX##XXXXXAAXXXXXXXXXXXXXXXXXXXXXXXXAAAXXAAAX##XXXAXXAXXAXA..........................XXXXXXXXAXXAAX##AXXXXXXXXXX#####.XX................##...........##.......X
XX##XXXXXXXXXXXXXXXXXXXXAXXXXXXXXXX####################XXXXXXXXXXXXXXXXXXXXXXXAXXXXXXX##XAXXXXXAXXXX.A........................XXXXXXXXXXXXXX##XXXXXXXXXXX#####XAA................##...........##........
XX##AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXX####################...............XXXXXXXXXXAAAX##XXXXXXXXXXX#####XXXA...............##...........##........
XX##XXXAXXXXXXXXXXXAAXXXAXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXX##XXXXX.......................XXXXXXXXXXAXXX##XXXXXXXXXX#####XXXXX...............##...........##........
XX##XAAXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXX##XXX##.......................XXXXXXXXXXXXXX##XXXXXXXXXX####XXXXXX...............##...........##........
XX##XAXXAAXXXXXXXXXAAAXAXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX####################............X..XXXXXXXXXXA##XXXXXXXXXX####XXXXX................##...........##........
XX##XAAAXXAAXXXXXXAAXXXAXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXX........................XXXXXXXXXXXXXA##XXXXXXXXXX####XXXXX................##...........##........
XX##XXAAAXXXXXXXAXAAAXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXX.X....................XX.XXXXXXXXXXX##XXXXXXXXXX####XXXX....####################......##........
XX##XXXXAXXXXXX####################XXXXXXXXX##XXXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXX...........................X..XXXXXX##XXXXXXXXXX####XX.X.................##...........##........
XX##XXXXXAXXXAXAAXXXAAXXXXXXXXXXXAXAAXAAXXXXXXXXXXXXXXXXXXXXXXAXAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXX...........................XXXXXXX##XXXXXXXXX#####XXX..................##.......##..##........
XX##XXXXXXXAAXXXAXAAXXXXXXXXXXXXXAXAXXXXAAAXXXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXX.X.............................XXXXX##XXXXXXXXX#####XXXXX................##.......##..##........
XX##XXXXXXXXXAXAAAXXXXXXXXXXXXXXXXXXAXXXAAXXXXAXX###XXXXXXXXXXAXAXXXXXXXXXXAXXXXXXXXXXXX##XXXXXX##XXXXXXXXX............................XXXXX##XXXXXXXX######XX...................####.....##..##........
XX##XXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXAXA####################XXXXXXAAXXXXXXXXXXXAXXXXXXXXX####AXXXX##XXXXXXXXXXX....................##...XXXXXXXXXXXXXXXX######XXXXX................####.....##..##......XX
XX####XXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXAXXXXA#####XXXXXXXXXXXXXXXXXXXXXXXAXAAXXXXXXXXX####XXXX##XXXXXXXXXX.....................##X.XXXXXXXXXXXXXXXXX#####XXXXXX................####.....##..##......XX
XX#####.XXXXXXXXAAXXXXXXXXXXXXXXXXXAAXAXAXAAXXX#####XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#####XXX##XXXXXXXXXXX....................##X.XXXXXXXXXXXXXXXXX###XXXXXXXX................####.....##..##......XX
XX#####...XXXXXXXXXXXXXXXXXXXAXAAAAAXXXXXXXAXAX####XXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXX###XXX##XXXXXXXXXX.....................##X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX..............####################...X.
XX###....XXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXXAXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXAXXXXXXX##XXXXXXXXXXX....................##.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX................####.....##..##........
XX##.........XXXXXXXXXXXXXXXXXXAAAXXXXXXXXXXXAXAXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXX....................##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX................####.....##..##........
XX##.........XXXXXXXXXXXXXXXXXAXAAXXXXXXXXXXXXXXXXXXXXXXXX####################XXXXXXXXXXXX####################...................##XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X................####.....##..##........
..##.........XXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXX##XXXXXXXXXXAXXXA.XX..X.####################XXXXXXXXXXXXXXXXXXXX...................##.....##............
..##..........XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXAXXAXXXXXXXXXXXXXXXXXX#XXXX##XXXXXXXXXXXXXXXXXXX##XXXXXXXXXXAAAXXXXXXXXX.........##XXXXXXXXXXXXXXXXAAXAXXXXXXXAA...................##.....##............
AXXXAX.X......XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXXXXXXXXXXXAXXAXXX###XXX##XXXXXXXXXXXXXXXXXXX##XXXXXXXXXAXXXAXXXXX.X..........##XXXXXXXXXXXXXXXXAXXXXXXXXXAX....................##.....##............
XXXAXAXXX.X..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXAXXXAXAXX###XXX##XXXXXXXXXXXXXXXXXXX##XXXXXXXXXAAXXAXXXXXXXX.........##XXXXXXXXXXXXXXXXAXXXXXXAXXXXX...................##.....##............
XXAXXAXXXX....XXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXAAAXAAAAXAAXXAAXXXXXXXX###XXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXAXXXXXX..........##XXXXXXXXXXXXXXXAAXXXAAAXXXAXX...................##.....##............
XXXXXXXXXX....XXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXAAXXXAXAXXXXXXXXXXXX###XXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXXXAXXXXXX........##XX#XXXXXXXXXXXXAXAXXXXAXXAXAA...................##.....##............
XXAXAXAAXXX...XXXXXXXXXXXXXXXXXXXXXXXXXX##XXAXXXXXAAXXXAXXXAXXAXXXXAX##XXXX##XXXXXXXXXXXXXXXXXXXXX####XAXXXAXXAXXXXXXXXXXXX......########################XAXXXX....................##.....##............
XXAAXXXXXAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXAXXXXXXXXXAXAXXXXXXXAXAX###XXXX##XXXXXXXXXXXXXXXXXXXXX#####XXXXXXXXXAXXXAXXXXXXX.....######AXXAAXAAXXXXXXAAXAXAXXXXX...................##.....##............
XXXXXXAXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXAAXXXXXAXXXXAAXAXXXXXXX####XXXX##XXXXXXXXXXXXXXXXXXXXX####################XXXXXX.....######AAXXXXAXXXXAAXAAXAXAXAX.X...................##.....##............
XXAXAAXAAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##AXAXXXXXXXXXXXAXXXXXXAAAX####XXXX##XXXXXXXXXXXXXXXXXXXXXX####XXXXXXXXAXXXXAXXXXXXXXX...######XXXAXXXXXXXXXXXXXXAXXX......................##.....##............
XXAXX###AXAAXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXAAXXXXXXXXXXAXAXAXXXX######XXX##XXXXXAAXXXXXXXXXXXXXXX####XXXXXXXXXXXAXXXXXXXXXX....######XXAAAXXXXXXXXXAAXXXAXX......................##...................
XXAX####AXAAXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XAXXXXXXXXXXXXXXXXXXXAX#######XXX##XXXXXAXAXAAXXXXXXXXXXX##XXXXXXXXXXAXXXXXXXXXXXXXX...##.#.#XXAXXXXXXXXXXXXXXX.XXX......................##...................
XXX#####AXAXXXXXXXXX#######XXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXX##########XX##XXXXXAAAXXXXXXXXXXXXXX##XXXXXXXXXXXXAAXXXXXXXXXXX...###....XXXXXXXXXXXXXXXXAX.X............................................
XXX####XXXXXXX####################XXXXXX##XXXXXXXXXXXXXXXXXXXX###########XX##XXXXXXAXXXXAXAXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXX..........#..XXXXXXXXXXXXXXX...............................................
XXX###AXXXXXXXXXXXXX#########XXXXXXXXXXX##XXAXXXXXXXXXXXXXXXXX############X##XXXXXAXXXXAAXAAXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXX............X.XXXXXXXXXX..................................................
XXXXAAXXXAXXXXXXXXXX#########XXXXXXXXXXX##XAXXXXXXXXXXXXXXXXXX############X##XXXXXXXXXXXXAXAXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXX####################.....................................................
XXXXXXAAAXXXXXXXXXXXXX#######XXXXXXXXX####XXXXXXXXXXXXXXXXXXXXXXX########XX##XXXXXXAXAXXXXAAXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXX.......................................................................
XXXXXXXXXXXXXXXXXXXXXXX######XXXXXXXX#####XXXXXXXXXXXXXXXXXXXXXXXXX######XX##XXXXXXXXAXAAXXAAXAXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXX.......................................................................
XXXXXXXXXXXXXXXX##XXXXXXX####XXXXXXAAX#A##AXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXX##XXXXXXXAXXXX###XAXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXX......................................................................
XXXXXXXXXXXXXXXX##XXXXXXXXX##XXXXXAXAAXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXX#####XXXXXX##XXXXXXXXXXXXXXXXXXXXXAXXXXXXX......................####################............................
XXXXXXXXXXXXXXXX##XXXXXXXXX##XXXXXAXXAXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXA#####XXXXXX##XXXXXXXXXXXXXXXXXXXXAXXXXXXXXXX.XXXX............................##.................................
XXXXXXXXXXXXXXXX##XXXXXXXXX##XXXXAXAAXAX##XXXXXXXX####################XXXXX##XXXXXXXXXX######XXXXXX##XXXXXXXXXXXXXXXXXXXXXAAXAXAXXXXXXXXXXXX.........................##.................................
XXXXXXXXXXXXXXXX##XXXXXXXXX##XXXXXXXXXAX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXX######XXXXXXX##XXXXXXXXXXXXXXXXXXXAXXAXAAXXAXXXXXXXXXXX......##................##.................................
XXXXXXXAAXXXXXXX##XXXXXXXX###XXXXAXAAAXX##XXXXXXXXXX####XXXXXXXXXXXXXXXXXXX##XXXXXAX########XXXX##X##XXXXXXXXXXXXXXXXXXXXXXXXXXAAAXXXXXXXXXXXX.....##....##..........##.................................
..........XXXXXX##XXXXXXXX###XXXXAXAXXXXXXXXXXXXXXX######XXXXXXXXXXXXXXXXXXXXXXXXXX#########.XXX##X##XXXXXXXXXXXXXXXXXXXXAXXAAAAXAXXXXXXXXXXXX.....##....##..........##.................................
................##.XXXXXXX###XXXXXXXAXXXXXXXXXXXXXXX#####XXXXXXXXXXXXXXXXXXXXXXXXXA######..XXXXX##X##XXXXXXXXXXXXXXXX##XXXAAXXXAXXXXXXXXXXXXXX.....##....##..........####################...............
................##.XXXXXXA###AAXXXXXXXXXXXXXXXXXXXXXX####XXXXXXXXXXXXXXXXXXXXXXXXXX##...####################XXXXXXXXX##XXXAXXXXXXXXXXXXXXXXXXXX....##....##..........##.................................
................##...XXXXX###XXXXXAXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXAXAA.......XXXX##X##XAXXXXXXXXXXXXXX##XXXXXAXAAAXXXXXXXXXXXXXX#X..##....##..........##.................................
................##...XXAXA###AXXXXXXXXXXXXXXXXXXXXXXXXAAXXXXXXXXXXXXXXXXXXXXXXAXXXX.........X.XX##X##AXAXXXXXXXXXXXXX##XXXXXAAXXXXXXXXXXXXXXXX##.XX##....##..........##......................##.........
................##....XXXA###AXXXXXXXXXXXXXXXXXXXXXXXAAAAXXXXXXXXXXXXXXXXXXXXAAXXXAX.X.......XXX##XXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXX####XX##....##..........##......................##.........
................##......AA###XXXXXAAAXXXXXXXXXXXXXXXAAXXXXXXXXXXXXXXXXXXXXAAAXXXXAXXXAXX........##..XXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXX####X.##....##..........##......................##.........
................##.......X###XAXXAXAXXXXXXXXXXXXXAXAXAAXXXXXXXXXXXXXXXXXXXXAAXXXAXAAAXAX........##..X.XXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXX#####X##....##.........###......................##.........
..........####################AXXAXXXXXXXXXXXXXXAAXXXXXXXXXXXXXXXXXXXXXXXXAXAXXXXXAXXXXX........##.........XXXXXXXXX####################XXXXXX####X##XX.X##.........###.............##.......##.........
................##........##...X##XXXXXXXXXXXXXXXXAXXXAXXXXXXXXXXXXXXXXXXXXXXAXAXXXXXXXX........##...........XXXAAXXX##XXXXXXXXXXXXXXXXXXXXXXX####X##XXXX##.........###.............##.......##.........
................##........##....##....XXXXXAXXAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXX........##.............XAAAAX##XXXXXXXXXXXXXXXXXXXXXXXXX##X##XXXX##.........###.............##.......##.........
................##........##....##....XXXXXXXXA####################XXXXXXXXXXXXXXXXAXAX.........##...........X.X.XXXA##XXXXXXXXXXXXXXXXXXXXXXXXXXXX##XXXX##.........###.............##.......##.........
................##........##....##....####################XXXXXXXX####################X.........##...................##..X.XXXXXXXXXXXXXXXXXXXXXXXX##XXXX##.........###.............##.......##.........
................##........##....##......XXXXXAXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXX.......#######################...XXXXXXXXXXXXXXXXXXXXXXXXX##XXXX##.........###.............##.......##.........
XXXXAXX.X.................##....##.......X.XXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXX.......##...................##..XXXXXXXXXXXXXXXXXXXXXXXXXX##XXXX##X........###.............##.......##.........
XXXAXXXXX.................##....##.........XXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX......##...................##...XXXXXXXAAXXXXXXXXXXXXXXX#####################.............##.......##.........
XXXXXXXXXAX...............##....##.............##X.XXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXX.X.XX..##...................##...XXXXXXAAAXXXXXXXXXXXXXAXX##XXXX##X........##..............##.......##.........
XXXXXXXXXXX.A.............##....##.............##..XXXXXXXXXXXXXAAXXXAAXXXXXXXXXXXXXXXXXXXXXX.X.##.......XXXXXXXAAXXX##XXXXXXXXXXXAXXXXXXXXXXXAXXAA##XXXX##X........##..............##...XXXX##AAAXX.XX.
XXXXXXXAXAXX..............##....##.............##..X.XXXXXXXXXXXXXAAXXXAXXXXXXXXXXXXXXXXXXXXXXX.##.....XXXXXA###XAXXX####################XXXXXXAAAXXXAXXX##X........##..............##..XXXXX##XXXXXXX..
XXXXXXXXXXXXA...####################...........##..XXXXXXXXXXXXAXAXAXAXXXXXXXXXXXXXXXXXXXXXXXX........AXXAXA####X####################XXXXXXXXXXXAXAXXXXXXXXX........##..............##..XXXXX##XAXXXXXX.
XXXXXXXXXXXX....................##.............##..XXXXXXXXXXXXAX##AXXAXX######XXXXXXXXXXXXXXXX.....XXXXXXXXX#XXAXXXX##XX#######XXXXXXXXXXXXXXXXXAAAAXAXXXXX........##..............##...XXXX##XXXXXXXX.
XXXXXXXXXXX.X...................###............##.......XXXXXXAXA##XXXXA########XXXXXXXXXXXXXX.....XXXAXXXXXXAXXXXXXXXXXXX########XXXXXXXXXXXXXXXAXXXXXAXXX.........##..............##..XXXXX##XXXXXXXX.
XXXXXXXXXXXXX...................###............##......XXXXXXXXXA##AAXXX########XXXXXXXXXXXXXXX..XXA###AXXXXXAXXXXXXXXXXXX########XXXXXXXXXXXXXXXXXXXAXXXXXXXX......##..............##..XXXXX##XXXXXXXX.
XXXXXXXXXXX.X...................###............##......XXXXXXXXXX##AAAAXXX######XXXXXXXXXXXXXX...AX.###XAXXAXAXXXXXXXXXXXXXX#####XXXXXXXXXXXXXXXXXXAXAAAXXAXXX......##..............##..XXXXX##XXXXXXXX.
XXXXXXXXXXXX....................###............##......XXXXXXXXXX##XAXXXXXX######XXXXXXXXXXXX....XAX###XXXXXXXXXAXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXXXAAXXXX.....##..............##.XXXXXXXXXXXXXXXX.
XXXXXXXXXXXXX...................###............##......XXXXXXXXXX##AXXXXXXXXX####XXXXXXXXXX.....XAAX###XXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXAXXAXXXXXX.....##..............##.XXXXXXXXXXXXXXXX.
XXXXXXXXXXXX....................###............##.......XXXXXXXXX##XXXXXXXXXXXX##XXXXXXXXXXXXXX.AXX####XXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXAAXXXXXXXX....##..............###XXXXXXXXXXXXXXXX.
XXXXXXXXXXXX....................###............##.......XXXXXXXXX##XXXXXXXXXXXX##XXXXXXXXXXXXXXXXXX########################XXXXXXXXXXXXXXXXXXXXXXXXXXXAAXXXXXXXX....................###XXXXXXXXXXXXXXXX.
XXXXXXXXXXXX....................###............##......X.XXXXXXXX##XXXXXXXXXXXX##XAAXXXXXXXXXXXAXA#####XXXXXXXXXAXAXXAXXXXXXXXXXXXXXXXAAXXXXXXXXXXXXXAXXXXXXXXXX.....................###################
XXXXXXXXXXXXX....................##............##........XXXXXXXX##XXXXXXXXXXXX##XXXAXXXXXXXXXXXXX######XXXXXXXXXAXXXA####################XXXXXX####################.................##XX#XXXXXXXXXXXXXX
AAXXXXXXXXXX.....................##............##.........XXXXXXX##XXXXXXXXXXXA##XXXAXXXXXXXXXXXX#######XXXXXXXXXXXAXAXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXX####################.....##X########XXXXXXX.
XXXXXXXXXXXXX....................##............##.........XXXXXXX##XXXXXXXXXXAX##XAXXXXXXXXXXXXXXX######XXXXXXXXXXXXAXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXX..X......................##X##########XXXXX.
AAXXXXXXXXXXX....................##............##...........XXXXX##XXXXXXXXXXAX##XXAXXXXXXXXXXXXXXXX####XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXXXXXXXXXXXX......................##.##########XXXXX.
XXXXXXXXXXXXX....................##............##.............XXX##XXXAXXXAXXXA##AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.........................##A..########XXXXXX
XXXXXXXX##X####################..##............................XX##XXXXXXXXXAXX##XXXXXXXXXX#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.........................####..#######XXXXXXXX
XXXXXXXX##XXX....................##............................X.##XXAAAAXXXXAX##XXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX............................####.....##XXXXXXXXXX
XXXXXXXX##X......................##..............................##XXXAAAAXXXXX##XXXXXXXX###XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XX...............................####.....##.....XXXXX
XXXXXXXX##XX.....................##.................####################XXXAXAX##XXXXXXXX####XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..............................####.....##.....XXXX.
XXXXXXXX##..X..........##........##..............................##.XXXXXAXXAXX##XXXXXXX#####XXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXXXXXX####################..................####.....##.....XXXX.
XXXXXXXX##X............##........##..............................##..XXXXXXXAXX##XXXXXX######XXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXXAXAAXXXXXXXXXXXX..X....########################.....##.....X.X..
XXXXXXXX##.............##........##...................................XXXAXAXXX##XXXXXX######XXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXXXXXAXXAXXX###XXXXAAXXXXX.......................####.....##..........
XXXXXXXX##.............##.............................................X.XAXXXXX##XXXXX#######XXXXXXXXXXXXXXXXX##XX#####XXXXAXXXXXXXXXXAXXXXAAA####XXXAXXXXAXX......................####.....##..........
XXXXXXXX##.............##..............................................XXXAXXXX##XXXXX########XAAXXXXXXXXXXXXX##########XXAXXXXXXXXXAAAXAXXXAX#####XXXXXXXXA.......................####.....##..........
XXXXXXXX##.............##......##.....####################.............X.XXXXXX##XXXXX########XXXAXXAAXXXXXXXX###########AAAXXXXXXXAAXAXAXXXX######XXAXAAXAXXXX....................####.....##..........
XXXXXXXX##.............##......##........................................XXXXXXXXXXXXXX#######XXXXAXAXXXXXXXXX###########XXXAXXAXXXXXXXXXXXAX#####XXAAXXXAAXXA.....................####.....##..........
AXXXXXXX##XX.X.........##......##.........................................XXXXXXXXXXXXXX#####XAXXAAAXXXXXXXXX########################AAX##XXX#####XXXXXXXAXXXXX....................####.....##..........
XXXXXXXX##XXXX.XA......##......##...X.X.XXXXXX..X.........................XXXXXXXXXXXXXXX##XXXXXXXAAXXXXXXXXX####XXXXXXXXXXXXXXXAAAXXXXA##XXX#####XXXXXXAXXAXXX....................##.......##..........
XAXXXXXX##XXXAXXXXX....##...XXX##XXXXXXXXX..XX.XX.........................XXXXXXXXXXXXAXXAXXXXXXXXAXXXXXXXXXXX##XXXXXXXXXXXXXAXXXXXXAAXX##XXX#####XXXXAAXXXXXXX....................##.......##..........
AXXXXXXX##XXXXAXXAAX...##X..XXX##XXXXXXXXXXAXAXXXXXA......................XXXXXXXXXXXXXAXXXXAAAXXXXAXXXXXXXXXX##XXXXXXXXXXXXXXXXAXXXXXXX##XXX####XXXXXXXXXAXAXX....................##.......##..........
AXXXXXXX##XXAXXXXAAAXXA##X.XXXX##XXXXXXXAXAXXXAAXAXA......................XXXXXXXXXXXXXXXXAXXXXXXXAAXXXXXXXXXX##XXXXXXXXXXXAXXXAAXAXXXXX##XXX#####XXXXXXAXXXX.X....................##.......##..........
XXXXXXXX##XXXAXXAXAXAXX##XXXXXX##XXXXXXXAXAXXAAXXAAX....##................XXXXXXXXXXXXXXXXXXXXXXAAXAXXXXXXXXXX##XXXXXXXXXXXXXXAXAXXXXXXX##XXX#####XXXXXXXXXA.......................#####################
XXXXXXXX##XXX##XXAXXAXA##AXXXXX##XXXXXXXXXAXAAAXXXAXXXXX##XXXXXXX.XXXX.X....XXXXXXXXXXXXXXXXXXXAAXAXXXXXXXXXXX##XXXXXXXXXXAAAAXXXXXXXXXX##XXX#####XXXXXXXXXX.......................##.......##..........
XXXXXXXX##XXX##XXXAAXXA##XXXXXX##XXXXXXXXXAAXXXAXXAXXXXX##XXXX#######XXX....XXXXXXX##XXXXXXXXXXAXXXAAXXXXXXXXX##XXXXXXXXXAXXXXXXXAXXXXXX##XXX######XXXXXX.XX.......................##.......##..........
XXXXXXXX##XXX##XXXXAAXX##XXXXXX##XXXXXXXXXXXAXAXAXXXXX.X##XXXX#######XX.X..X...XXXX##XXXXXXXXXXXXXAXAXXXXXXXXX##XXXXXXXXXAAAXAXXXXXXXXXX##XXX######XXXXX.X.........................##.......##..........
XXXXXXXXXXXXX##XXXXXXXX##XXXXXX##XXXXXXXXXXXXAXXAAXXXXXX##XXXX#######XXXXXXXXXX..XX##XXXXXXXXXXXXXXAXXXXXXXXXX##XXXXXXXXXXXXXXAXXXXXXXXX##XXX#######X##...............................................X.
XXXXXXXXXXXXX##XXXXXXXX##XXXXXX##XXXXXXXXXXXXXXXXXXXXXXX##XXXXX######XXXXXXXXXX..X.##XXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXAXAXAXXXXAXXXXXXX##XXX###.#...##.................................................
XXXXXXXXXXXXX##XXXXXXXX##XXXXXX##XXXXXXXXXXXXXXAXXXXXXXX##XXXXXXX####XXXXXXXXX.....##XXXXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXAXAXXXXXXXXXXXXXX##XXX#####...##.................................................
XXXXXXXXXXXXX##XXXXXXXX##XXXXXX##XXXXXXXXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXX.....##XXXXXXXXXXXXXXXXXXXXXXXXX##XXXXAXXXXXXXXXXAXXXXXXXX##XXX#####...##.................................................
XXXXXXXXXXXXX##XXXXXXXXXXXXXXXX##XXX###XXXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXX.....##XXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXAXXAAXXAAAXAXAXAXXX##XXX#####...##.................................................
XXXXXXXXXXXXX##XXXXXXXXXXXXXXXX##XX#####XXXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXX.....##XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXAAXXXAAAXAXXAXAXXX##XXX####X...##.................................................
XXXXXXXXXXXXX##XXXXAXXXAXXXXXXX##X#######XXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXX.....##XXXXXXXXXXXXXXXXXXXXXXXXXXXX..XXXXXAXXXXXAXXAXAXXXX##XXXX##X....##.................................................
XXXXXXXXXXXXX##XXXAAXXXAXAXXXXX##X#######XXXXXXXXXXXXXXX##XXXXXXXXXXXXXXXXXXXX.....##XXXXXXXXXXXXXXXXXXXXXXXXXXXXX...XAXXXXXXXAXXXXAXAXX##XXXXXXXX...##.................................................
XXXXXXXXXXXXX##XAXXXAAXXXXXXXXX##XX#####XXXXXXXXXXXXX#####XXXXXXXXXXXXX#####.X.....##XXXXXXXXXXXXXXXXXXXXXXXXAAXA.......XXXXXXXXXAXXXAXX##XXXXXXX....##.................................................
XXXXXXXXXXXXX##XXXAXXAAXAXXXXXXXXXXX##XXXXXXXXXXXXX#######AAXXXXXXXXXXX####.X......##XXXXXXXXXXXXXXXXXXXXXXXXXXX........XX.XXXXXXXXXAAXX##XXXXXXX....##.................................................
XXXXXXXXXXXXX##XXAAXAXAAAXXXXXXXXXXXXXXXXXXXXXXXX#########AXXXXXXXXXXXX####.X......##.XXXXXXXXXXXXXXXXXXXXXXXXXX...........XXXXXXXXXXXXX##XXXXX......##.................................................
X.XXXXXXXXXXX###XXXAAAXXXXXXXX.X.XXXXXXXXXXXXXXX#######X##XXAXXXXXXXXXX##..........##.XXXXXXXXXXXXXXXXXXXXXXA...............XXXXXXXXXXXXXXXX.........##.................................................
XXXXXXXXXXXXX#####XXXXXXXXXXXXXXXXXXXXXXXXXXXXX######XXX##XXAXXXXXXXXXX####XXX.....##XXXXXXXXXXXXXXXXXXXXXXXXAAXXA.......XXXXXXXXXXXXXXXXXXXXXXXXX...##.................................................
XXXXXXXXXXXXX#####XXXXXXXXXXXXXXXXXXXXXXXXXXXXX#####XXXX##XXXXXXXXXXXXXXXXXXX......##X.XXXXXXXXXXXXXXXXXXXXXXXXXX........XXXXXXXXXXXXXXXXXXXXXXXX....##.................................................
XXXXXXXXXXXXX#####XXXXXXXXXXXXXX.XXXXXXXXXXXXXX####XXXXX##AXAXXAXXXXXXXXXXX........##XXXXXXXXXXXXXXXXXXXXXXXXAXAA..........XXXXXXXXX##XXXXXXXXAXX....##.................................................
XXXXXXXXXXXXX######XXXXXXXXXXXXXXX.XXXXXXXXXXX####XXXXXX##AXXAXXAXXXXXXAXAXX.......##.X..XXXXXXXXXXXXXXXXXXXXA.X............X.XXXXX####XXXXXAX.A.....##.................................................
.............##...............................XXXX.................................##.................X.XX.......XX..................X...............##.................................................

