OO+++OOOOOOO++--.....--++OOOOO+++---.........---++OOO#####OO++--.....---+++OOOOOOOOOO+++++++++--..   ..-++OOOOOOO++OOOOO+++---.---++OO###OO+++++++OO####OO+-...   ..--++++++++++++++++++OOOO++++++++++OOOO+++++------....--++OO#######O++--...--++OO####OO
OO+++OOOOOOOO++--...---+OOO##OOO++---.......---+++OOO#####OO++--...----+++++OOOO####OOOOOOO++--...  ...--++OOOOOOOOOOOOOO++-------+OO###OO+++---++OO####OO+--......--+++++++-----------++++++++++++OOOOOO+++++--------...---+OO#####OO++--....--+OOO####OO
++++++++++OO+++---.---++OO####OO+++--......--+++OOOOOOOOOOO++-------+++++++++++OOO###OOOO++++--......----++++++++OOOO#OOO++-------++OOOO++--..---++OO####O++--...---+++++-------++---------++++++OOOOOOO++-----++++++--....--++OOOOOO+++-------++OOOOOOO++
+---------+++---....--++OO####OO++--..   ..--+++O++++++++++--------++++++-----++OOOOOOO++++----...---+++++++++-++++OOOOOO++---------+++--.......--+OO#####O++-----++++++-------++++---...----++++++OOOO+++-----++++++--......---++++++++----++++OOOO+++---
--...................--++OOOOO++--..     ..--++++++---..---.....---++++++------++++++++-----..----+++OOOO+++------+++OOOO+++---....---....    ..--++O#####OO++---+++++++------++++++---.........---+++++++-----++++++--..   ...------++++++++++OO+++---..-
--....             ...--++++++-..       ..--++++++--..    ....---+++++++++-------------.....----++OOO###OO++--.....---++++++---......          ..--++OO####OO++++++++++++----+++++++---....      ..----++----+++++++++--............----++++++++++--... ..
----...             ..--+++++-..      ...-++OOO+++-..      ..---++++++++++++------.........---++OOO#######O++--........----+----...           .....--+OO###OOO++-------++++++++---------..         ...------+++OOOOO+++---.............------------...    
+++---...          ..--++++++--..  ....--+++OOO++---..   ...--++++++++++++++++---..   ...---+++OOOOOO#####OO++--...    ..---++----...  ............--++OOOOOO++--....---++++++------------...       ....----++OOOOOO++++--------........-----------....  .
+++++++------........--+++O+++---------++++++++++-----------++++O++++++++++++++-..     .--+++OOOOO+++OOOOOOOOO+--..     ..--++++++--------+++++-------++++O+++--..  ..--++++++------++++++-----.........---++OOOOOOO+++++++++++---......---------------...
++++++++++++++--------+++OOOOO+++++++++++++---------+++++++++OO++++-----++++++--.      .--+++O+++++---++OOOOOO++--.     ..-++++O+++++++++OOOOOO++++++++++++++--.     ..-++++++++---+++OOOO++++++---------+++OOOOOO+++----+++++++---..----++++++++++++++---
-++++OOOOOOOO+++-----++OOO#####OOOOOOO++++--------+++OOOOOOOOOOO+++------------..      .---+++----....--++OOOOO++--..  ..--+++OOO++++++++OOOOOOOOOOOO+++++----..    ..---++++++++++OOOOOOOOO++++++------+++OOO#OOO++------+++++-------+++OOOOOOOOOO+++++--
--+++OOOOOOOOOO+++++++OO###@@@@######OOO+++------+++OOO########OO+++---------...      ..------.........--++OOOO+++--......--++++++++++++++OOOO#####OOOO++---.........-------+++++OOO#####OOO++++++------+++OOOOOOO+++----------------++OO#####OOO+++++++--
--+++OOOO#OOOO+++++++OOO###@@@@######OOOO++++++++++++OO########OOO++++-----...........-----...     ...---+++++++++++---...---+++++++-----++++OOOO###OO++---..-----+++----------++OOO###OOO+++--+---------++OOOOOOO++++++++-----...--++OO#####OO++++-------
+--++++OOOOO++-----+++OOOO######OOOOOOO+++++++++----+++OOO#####OOO+++++-----.....-----+----..      ..---+++++++++++++--------++++++----------+++OOOOO+++------++OOOOO++---.....--++OOOOO+++---------------++OOOOO+++++++++---------++OOOOOOOO++----------+
-----+++++++--.....--+++++OOOOO+++++++++++++++----..---+++OOOOOOO++++++----------++++++++--..     .--++++++-----++++++------++++++++-------------+++++-------++O#####O++--..   ..--+++++++----------------+++++++++++++++++------++++OOOO++++--.....----++
--------++--...    ..-----++++------...-------........---++++++++--------+++++++OOOOOOOO++--..   ..--++++++------+++++++-++++OOOOOOOO+++++------------------++OO#####OO++-..    ..----+++++++++++++-------+++++++---------++++++++OOOOO+++---......--+++OO
.....------..         ............         ....   ....---+++++++-------++OOOO###########OO++--....--++OO+++---.---+++++++++OO##########OOO++--------------+++OO######OO++--...   .....--+++OOOOOOO++-------+++---... ...---+++OOOOOOO+++--....  ...-++OOO#
......---...             ......                  ....--++++++++------+++OO#######@@@@####OOO+------++OOO+++--..---++++++++OO###@@@@@@####OOO++-----------++OOOO###OOOO+++++---....  ...--+OO#####O++---..------...     ..-+++OOOOOO++++---..      .--+OO##
...-------..           ..........            .....----+++++++++-----++OOOO###############OOO++-----++OOO+++-------+++++++++OO##@@@@@#####OOOO+++---------++OOOOOO++++++++++++++--......--++OO###OO+---....-----...    ..--++OOOO+++++++----..     ..-++OO#
---++++++---..      ...---++++---...      ...-------+++++++++++----+++OOOOOOOOOOOOOOOOOOOO+++-------+++++++------+++++++++++OO######OOOOOOOOOO++++-------+++++++-------+++OOOOOO+---...---++OOO+++---...----------....--+++OOO+++------++---..     ..-++O#
+++OOOOOO++---......--+++OOOOOO+++--......---+++++++----++++-------++++O++++++-++++++++++-----.....--+++++------++++++-----++OOOOOOO++---+++++++++--.....-------......--++OO###OO++---------++----....----++++++++++++++OOOOOO++------+++++--..    ..--+OO
OOO#####OOO+++------+++OOOOOOOOO+++---------+++++++-----------------+++++++------------.......   ...-------------+++----..---++OOO+++------++++++--........----.......--++OO####OO+++-----------....---++OOOOOOOOOOOOOOOOOOOOO++----++++OOO++-..   ..--++O
########OOOOOOO+++++OOOOOOOOO++++++--------+++++++----.........----++++++++----------...         ....--.........----........--+++++++-------++++--...   ...-----....---++OOO##OOO+++-----------...---++OOOOO#############OOOO+++--++++OOOOOOO+--......---+
####OOOOOOOOOOO###OOOOO+++++----------+++++++----------.......---+++++++++++--+++++---..        ........... .........     ..--+++OO+++-----+++++--...   ...-----------+++OOOOOO+++----+++++++-------++OOOOOOOOO#########OO++++---+++OOOO###OOO++----...---
OOO++++++++OOO#####OO+++---....-----++++++++-------------....---+++++++++++++++++++++---........-----..... ..........    ...--+OOOOOO+++-+++++++---..   ..--+++++++--++++OOOO+++-----++++OO+++-----+++OOOOO+++OOOOOO#OOO++------+++OOOOOOOOOOOO++++----...
++--....---+OO#####OO++--.......---+++OOO+++------++++++---..----+++++------+++++OOOO+++--------++++---......------.......--++OOOOOOO++++++++++++--..   ..--+++++++----+++++++++-----++OOOOOO++----++++++++-----+++++++--.....--+++OOOOOO++++++OO++++-----
--...  ...--+OO####OO++--.....--++++OOOOOOO+++-+++++++++---....--------....-----+++OOOO++++++++++++++--------+++++---------++OOOOOOO++-----+++++++--..   ...-------------++++++++++++OOOOOOO++-------++++----..--------...  ..--+++OOO+++----++++OOO+++++-
-....  ...--+OO####OO+++-----+++OOOOOO##OOOOO+++OOOOOO++---....-------...........--++++++++++++++++++------++OOOOOO+++++++++OOOOOOO++------++++++--..       ........-----+++OOOOOOOOOOOOOOO++--...----+++----...------...    ..---++++++-------+++OOOOOOOO
--.......--++OOO###OOO+++++OOOOOOOOOOOOOOOOOOOOOO###OOO++--------------.....    ...--+++++---++++++++-----++OO####OOOOO+++++++++++++++--+++++++---...           ....---++++OOOO#OOOOOOOOOOO++--....---++++------------....  ....-----+++--------+++OOOOO##
-----------++OOOOOOOOOOOOO######OOO+++++++++OOO######OO++--------++++-----....   ...-----------+++++------++OO####OOOOOOO+++++------+++++++++++---....          ...---++++OOO####OOOOOOOO+++---....--++++++------++++---..........----+++++-------++OOO###
+++++------+++OOO++++++OO######OO++--.....--++O######OO++-------++++++++++----......-----------+++++------+++OOOOOOOOOOOO+++--....---++++OOO+++----...............---+++++OOO###OOO++++++++++---.----++++++---++++++++---------------+++++++---...--+++OO#
++++++-----++++++++---++OO####OO++-..     .--+OO#####OO+---------+++++++++++++---------++-----+++++++-------+++++-+++++++++--... ...--++++OOO++++-------++++-----------++++OOOOOO+++-----+++++-------+++++-----++++++---------------++++++++--..  ..--++OO
-++++--------+++-------++OOOOOO++--.      ..-++OO##OOO+---.......-------+++++++++-+++++OO++++++OOOO+++---------------++++++--..    ..---++OOOOOOO++++++++++++++------------++++++++------+++++-----------------------------+++++++++++++++---..     ..--++
------------------------+++++++--..       ..---+++++++--...............--+++++++++++OOO###OOOOOOOOOO++++-----......---------..    ...--+++OO####OOOOOOOOOOO++++------.....----+++++++--+++++----....----------------------++OOOOOOOOOOOO+++--..       ..--
---++++----..-----------++++----..      ...----------..............   ..--++++++++++OO######OOO++++++++++---.......-------.........---+++OO######OOOOOOO++++++---------......---++++++++++----........-------------------+++OOO########OO++---..        ..
--++OOO++---..----++++++-------........-------....  .....---+++---......--+++++----+++OO##OOO++----+++++++---...----------.......---++++OO######OOO++++++++++------------......--++++++++++---........---+++++--------++++++OOOOO#######OO++---...........
-+OOO##OO++-------+++++----------------+++++--..     ..--++OOOOO++--------++++-------+++++++---...--++++++-------+++++++------------++++OOO###OOO++-----++++------++++++--......--+++++++++------.....---++++++------++++++++++++OO#####OO++-----------...
++O#####OO+-------++++--------+++++++++OOO+++--.    ..--++OO####OO++----+++++++-------------.......--++++++-----++OOOOOO+++++++--------+++OOOOO+++------+++++----+++++++--..   ...--++++++++++++----...---++++-------++++++-----++OOO#OOO++--------++++---
+OO####OO++-----------------++OOOOOOOOOOOOO++--......-++OO######OO+++++++OOOOO+++---........     ..--++++++++++++OOOOOOOOOOOO++++---..---+++O+++---...--+++OO+++++OOOO+++-..    ...--+++OOOOOOOOO+++-------------..--------------++OOOOOO++--------+++++--
+OOOOO++++----.......-.---++OO###########OO++--....--+OO#######OO++++++OOOO##OOO++--..           ..-+++OOOOOOOOOOO####OOOOOOOOO++--....--++++++--......--++OOOOOOOOOOOOO++--..  ...--++OOO########OO+++---------.....----------+++OOOOOOO+++-------+++++--
++++----------........---++OO############OO++--....--+OO#####OO+++++++OOO#####OOO++-..           ..-++OOOOOOOOOOOOOOOOOOOOOOOOO++---..---++++++--...  ..--++OOOO#####OOOO++-......---++OOO##########OO+++-------..........----++++OOOOOOOO+++++-----------
+---......-----......---+OOO####OOOOOOOOOOO++--.....--+OOOOO+++-----++OOOOOOOOOO+++--........  ...--++OOOOOOOOOOOOO+++++++++OO+++------++OOOOO++--..    ..-++OOO#####OOO+++--....---++OOOOOOOOOO#####OOO++-----------.....---+++++OOOOOOO++++++-----------
--..   ..---------.----++OOOOOOO++++++OOOO+++--..  ..--+++++--------++OOOOOO++++++-----------.....---++OOOOO+++++++--------++++++------+OO###OO++--..    ..--++OOOOOOO++++--.....--+++OOO+++++++OOO##OOO++--------++----...---++++++++++++++++-----------+
-...  ..--++++++------++OOOOOO++-----+++OO+++--..   ..------------+++OOOOO++----------+++++++----.---+++++++-------.......--++++-------+OO#####OO++-...  ..--+++OOOO++----........--+++++++-----++OOOOO++-------++++++---....----------------------+++++OO
-..   ..-++OOOOO+++++++OOOOOOO++-----+++OOO+++-.......------++++++OOOOOOO++--...-----++++OOO++++-----+++++---.....      ...-----......--+O#######OO+--.....--++++O++++-----.......--------------+++++++++-------+++++----.......................--+OOO####
..    ..-++OOOOOOOOOOOOOO##OOO+++---+++OOOOO++--....---+++++++++OOO##OOO++--....-----+++++OOOOOO+++++++----...           ........  ...--+OO##@@###O++-.....--++++O++++------------------------+++++++++------++++++------.......      ....    ..--+O######
..     ..-++OOO###OOOOOOOOOOOOO+++++++OOOOOO++-------++++++++++OOOOOOOO++--...---------++++OOOOOOOO+++-----.....       .......      ..--+OO######OO++-.....--+++OO++++++++++++++++----------++++++--------++++++++------------..............  ...-++O#####
-..     .--++OOO#OOOOO++OOOOOOO++++++++OOOO+++-------+++++++++++++OO+++---..---+++++-----++OO#####O+++----------........----...    ...--+OO####OOO++-......-++++OO++++++++OOOOOOO++---...---+++++---------+++OO+++-------+++++---....-------.....--++OOOO+
--.     ..-++OOOOOO+++--++++++++++--+++++++++----------+---------------.....--++++++------+OO#####O++-------++++--------+++---......---+OOO##OOO++--..   ..--++++++++---++OOO##OOO+---....--------......--++OOOOO++++++++OOOOO++------+++++---.....-------
+-.......--+++OO+++------------------++++++++----.---------....-------......--++++++++--+++OO####O++------+++OOO++++++++OOO+++---.---+++OOOOOOO+---..     ..--------.....--++OOO+++--........--....   ...--+++OOOO+++++OOOOOOO++------++++++--........--..
-----.----++++++----....------------++++OOO+++------------.......-----------+++OOO++++++++OOO##OO++-----++OOO###OOOOOOOOOOOOO+++----+++++OOOOO++--...     ...--....      ..--+++----.............      ....---+++++++++OOOOO+++---------++---..      .....
----+++++++++---.......-----++++++++++OOOOOO++++++++++++---......-----+++++++OOOOO++++++++OOOOOO++-----++OO######OOOOO####OOO+++++++++++++++++++---.............         ...------.....-------...      ........----++++++++++----..---------...      ....-
--+++OOOO+++--..   ...--++++++++++++OOOOOOOOO++++++++++++---....---++++OOOOOOOOO++++----++OOOO+++-----++OO#####OOOOOOOOOOOO++++++++++++---+++++++---...-------..       .....----....---++++++---...................--+++++++----------------...     ..----
-++OO##OOO++-..    ..--+++++++++++++OOOOOOO++++++++++++++--.....---+++OOOOO++++++--------++++++------++OO####OO+++++++OOO+++----++++++------++++++------++++--..     ..--------------++OOOOO++----..-------...  ...---+++++++--------+++-----...   ..--+++
++OO###OO++--.      .--+++++++-----++++++++------++++++---..   ...--++++++++------......--+++++------+OOO##OO++-----+++++++------++++++-----++++++-----++++++--......--++++++++++++++OOO##OOO++-------+++++--.....--++++OOOO+++++++++OO++++++--......--+++
++OOOOOO++--.       ..----+-----------++++--------------...      ...-------------......--++++++++++++OOO###OO++-----++++++---...-------------+++++----++++++++--------+++++++++++++OOO####OOO++-----++++OO+++-------++++OOOOOOOOOO######OOOO++--....---+++
+++OOO+++--..       ....--------------------------++----...      ......-----------...---+++OO+++++++OOO###OOO++---++++++++--.......----...----+++++++++++++++++++++++++++++++++++++OOO###OOOO++++++++++OOOOOO++++-----++++OOOO#####@@@@@##OOO+--.....--+++
--++++++--...      ......----------------+++++++++++++---...............----+++--------+++OOOO++++++OOOOOOOO+++++++OOOOO++--...   .........----++++++++++++++++OOOOOOO++++---.---+++OOOOOOO++++++++++++++OOOOOO+++--------+++OOO###@@@@@##OO++-......--++O
--+++++++--........----.----+++++--------+++++++++++++++---..-------....---+++++-------++++++++++++++OOOOO++++++++OOOOOOO++-...   ....----.-----++++++++----++OOO###OO++--..   ..--++OOO+++++++++++++++++++OOOOOO++----...---++OOO##@@@##OO++-..   ..--++O
-++++OO++++--------+++----++++++++--------+++++++++OO+++-------++++--------++++----------+++++------++++++++----++OO###OO++--.......-------------++++++------++O#####O++--.     ..-+++++++----++++++------++OOOOOO++----.....---++OO####OO++-..     .--+OO
++OOOOOOOO++++++++++++++++++++++++---.....-------+++++++-----+++++++-------------........------...---------------++OO###OO++---.----+++++++-------+++--------++O#####O++--..    .--+++++++-----+++--------++OO##OOO+++---.......--+OOOOOOO+--..    .--++OO
+++OOOOOOOOOOOOOOOOO++++++++++O++++--...........--++OOO+++++++++++++--------------................-------......---+OO####OO++++++++OOO##OO+++----++++--------++OOO#OO++---......--+OOOOOO++++-++++-------++OOOOOOOO++++--...   ...--+OOOO+++--.....--++OOO
+++++++OOOOOOOOOOOOO+++---++++OOOO++--...    ..--++OOOOOOOOOOOO++++---...----+++-----....    ....-------.......--++O######OO+++++OOO#####OO+++++++++++-------++OOOOO++---......--+OOOO#OOOO+++++++-------++OOOOOO++++----....    ..--++OO+++-------+++OOOO
-------++++OOO###OOO++------++++OO++--........--+++OOOOOOOOOOOOO+++--.....---++++++++---.......---+++--.......--++OO######OO+++++OOO###OOO+++++++++++---...--+++OO+++---.....---++OOOO###OOOO++++---..---++OOOOO+++---------.......--+++O+++-----++++OO+++
----------++OOO##OOO+---------++++++--......--+++OOOO+++++OOOOOO+++--......--++++OOOOO++---.----+++++--..   ..--++O#####OO++++++++++OO+++++--+++++++---....--+++OO+++------------+++OOOOOOOOO+++--.....--+++OO++++------++++--------++++++++-----+++++++--
++----...--++OO###OOO++--------------.....---+++OOO+++---+++OOOOO+++--......---+++OOOOOO++-----++++++--.     .--++OO###OO++--------+++---------------......--++OOOOO+++++++---------++++OO++++---..   ..--++++++++++++++OOOOO++++++++++++++-------++++---.
+++---....--++OO####OO+++--................--++++++++------+++OOOO+++---....-----++OOOOOOO+++++++++++--..   ...--+++OO+++--.....---------...................--++OOOOOOOOO+++---.....---++++---..       ..--+++OOOOOOOOOOOOOOOOO+++++OOOOO+++-----------...
++---.......-+OO#####OO++--..           ...---++++++++-----+++++++++++++---------+++OOOOOOOOOOOOO+++++------------------.........--------....      ..........--+++OOOOOOOO++-...  ...-------..          ..--+++OOOOOO######OOOO++OOOOOOOOO+++----.........
----........-+OO#####OO++-..          ......----+++++++++++----++++++++OO+++++---+++++OOOOOOOOOOOO+++++++++++++-----...........------+++---...    ............--++OOOOOOO++-..    ...---+---..          ..--++++OOOOO####OOOO+++++OOOOOOOOO+++--.........-
----.......--+OO####OO++-..     ...........------+++++++++---------++OOOOOOOO+++------++OOOOOOOOO+++++OOOOOOOO++--...    ..------+++++++++---......---+++----.---++OOOOO++-..    ..--+++++++--..        .---++++++++OOOOOO+++---++OOOOOOOOO+++--.......---
------------+OO####OO++-...   ..----+++++-------+++++++++---.....--++OO####OO++---....---++++++++++++++OOO##OO++--..    ..--++++++++-++++++-------+++OOOO+++----++++++++--..    ..--++OO#OOO++--..     .--++++++----+++++++-----+++OOOOOO++++---.....--+++
+++++-----++OO#####O++--......--+++OOOOOO++++++++++++-----.......--++OOOOOO++---...   ...--------------++OOOOO++--.     .--+++++++---------------++OOO###OOO++++++++++++--.     ..-++OO####OO+++-... ...--+++++--------++-------++OOOO+++----......---++++
OOOO+++++++OO#####O++-......--++OOO######OOOOOOO++++-----......--++OOOOOO++--...        ........   ....--++++++---.......--+++++---...........----++OO######OOOOOOO+++---..    ...--++OO####OOO++-......---+---.......---------+++++++--...    ...--++OOOO
OOOOOO++++OOO###OO++-......--+OO###########OOOOO+++++----.....--++OOOOOO++-..                         ..--------------------------.......    ...--+++OO#########OO++---...........---++OO###OOO++--.....-----...     ...---+++++++----...      ..--++OOOOO
OOOOOO+++++OOOOOO++--....--++OOO##########OOOO+++++++++--------++OOOOO++--................           ....-------+++++++++-----------....      ...--+++OOOO#####OO++---....------------++OOOOOOO++---...----...      ...--+++++++----....      ..--++OOOOO+
++O+++++++++OOOOO++-------+++OOOOOOOOOOOOOOO+++--+++++++--------+++++++--.....---++++++---..       ..-----------++OOOOOO++-------------..     ...---++++++++OOOO++--------+++++++------+++OOO+++-----------....  ....--+++OOO+++---...........--+++OO+++++
++++++-----+++OOO++++-++++++++++++--+++++++++------+++++---...----------...---+++OOOOOO+++--.......--++++-------++OO###OO++-----+++++++-...  ..---++++++-----+++--------+++OOOOOO++---+++++++++--------+++---.....---++OOOOOOO++---...----+--++++++++++---
++++++-----+++OOOOOO+++OOOOO+++--...---++++++-------++---................---++OOO######OOO++-------++OOO++++----++OO####OO+++++++++++++--....--++OOOOO+++--------------+++OOOOOOOO++++++OOOO+++-----+++OOO+++++-++++OOOO####OO++-------+++++++++++++---..-
+++++++++++++OOOOOOOOOOOOOOOO+--..  ..--++++++++++++++---...    .... ....--+OOO###@@@@####OOO++++++OOO##OOOO++++++OOOOOOOOO++++OO++++----..---+OO####OOO++-----+++++---++++++++++++++++OOOOOOO+++++++OO####OOOOOOOOO######OOO++------+++OOOO++++++---.....
++++++++++++OOOOOOOOOOOO###OO+--.    ..--+++OOOOOOOO+++--..........   ..--+OO###############OOO+++OOO#######OO++++++++++++++OOOOO+++---....--++OO#####OO++++++++++++++--------------+++OOOOOOOO++++OOO##################OOO++-------+++OOOOO++++----...   
+++OO+++++++OOO+++++++OOO###OO+--..  ...--++OOOOOOOOOO++--......-.......--++OOOOOOOOOOOOOOOOO+++++++OO#######OO++++-------+++OOOOO++---....---++OOO#OOOOO+++++++OOO+++-----......----++OOOOOOO++++++OOOO#OOOOOOOOO#OOOOO++---------+++OOOO+++--------.....
++++++++++++++++------++OO###OO++--......--+++OOO###OO++--------+----..----++++++++++++++++++-------++OO#####OO++--... ..--++OOOOO+++----------+++++++++++++++++OOOO+++---.......---+++OOOOOO++++++++++++++++++++OO++++----..-----++OOOOO+++------------..
+++++++----------------+OO####OO++--.......---++OOOOOO++------++++++--------------...---------.....--++OOOOOOO++--..    ..-++OOOOOOO++++-----------------------+++OOOO+++---...---+++OOOOOO+++------------------++++----...----+++OOOO#OOO++------+++++---
+++++---....---.......--++OOOOOO++--..      ...--+++++---..-----+++---.................------......---+++OOOO++---..    ..---++OOOOOOO++++----..--------.......---+++++++------+++OOOOOOOO++-----...........----------------++++OOOO####OOO++++++++++++--.
++++--..................--++OOO+++--..         ...-----......--------...          ...------------------+++++++++---..    ...---+++++++OO+++-------------...    ...---+++-----++OOO####OOO++-------..........----+++++---+++++OOOOOOOOOOOOOOOOOOO+++++++--.
O++--... ....------......--++++++--..           .............-------....        ...---+++++++++++++------++++++++---...........-----++++++++-------++++---..    ...---------+++OO####OO++-----------.......--++++++++++++OOOOOOO+++++++OOOOOOOOOOO++++--..
++--.......--++++++---..----+++++--...     .............-------------...........---++++++++++++OO++++------+++++++----..............--+++++++-----++OOOO++--........--------+++OOOOOO++---.---+++++----.---+++OOOO+++++OOOOOOOO++-------++OOOOOOOO+++---..
+--......--++OOOOOO+++----+++++++---......---------------+++++++---------------+++++++++++++++OOOO+++--------++++-------------......---++++++-----++OOOOOO++----------------++++++++--......--++++++------++OOOOO+++++++OOOOOO++--......--+++++OOOO+++--..
-.......--++OOO###OOO++++++OOOOOO+++-------+++++++++++++++OOOOOOOO+O+++++++++++++++++++-------++++++---.....-----...----+++++--------++++++++-----++OOO#OOOO++++++++++++++++++------..     ..--++++-------+++OO+++-----+++OOOOO++--........---+++OOOO+++--
.......--++OOOO#OOOOO++++OOOOO#OOOOO+++++++++++++++++++OOOOOOOOO#####OOOO+++++++++++++--.....--------.................---++++++---+++OOOOO+++-----++OOOOOOOOOOOOOO+++++++++----....        .--+++++--------++++++------++OOOOOOOO+--..      ..--++OOOOO+++
-....--++OOOOOOOO+++++++OOOOO######OOOO++++--++++++OOOOO+++OOOO########OO+++----++++++--.......-----.............    ...------+++++OOOOOOO+++-----++OOOOOOOOOOOOOOOO++++----....          ..-++++++---...---++++-------+OOO####OOO+--..      ..-++OOOOOO++
------+++OOOO+++------+++OOOOOOOOOOOOOO+++-----+++OOOOO++++++++OO####OOO+++------++++++---.....------.......---...    ...------++++OOOOOO+++-----++++++++++++OOOOOOO+++----....        ...---++++++---...---+++------+++OO####OOOO++--..     .--+OOOOOO++-
------+++++++--.....---+++++++++++OOOO++++-----+++OOOO++-------+++OO+++++--------++++++++--------------------+---........------++++++++++--------+++++++----+++OOOOO+++----........----------++++++--------+++++----+++OOOOOOOO+++++-----...--+++OOOO++---
---------++--...  ..--++++++++----++++++++++++++OOOOOO++---....-----------++++++++OOOOO+++------+++++----+++++++---....---+++++++++++----.......--++++-------++OOOOOOO+++---------+++++--------++---------++++++-----+++OOOO+++----------++++++OOOOO++---.
......-------......--++OO+++--.....--+++OOOOOOOOO##OOO+++--............--+++OOOOOOOOOOOO++-----+++OOO+++++++++++---...---++++++++----....     ..---++-----.---++OOOOOOOOOOO++++OOOOOOO+++----------------++++++-------++++++++--------+++OOOOOOOOOO++--...
......---++-------+++OOOO++--..   ..--++OOO########OOO++++--...      ..--++OOOOOOOOOOOOO+++---+++OOO#OOOOOO++++--......---+++++---...         ..--++++---.....--++OOOOO###############OO++------++++++++++++---------+++OOO+++--...--++OOO##OOOO+++--.....
. ...---+++++++++++OOOOO++--.     ...--++OO######OOOO++++++---..     ..-++OOOOOOOOOOOOOOO++----++OOO###OOOO+++--........----------...         ..--+++++---.....---+++OOO##############OO++-----++++OO++++-----...---+++OOOOOO+---.---++OO###OO++---.......
....---+++++++++OOOOOOO++-...   ....---+++OOOOOOOO+++++++++++---.....--++OOOOO+++++++OOO+++------++OOOOOOOO+++---.......------------....      .--+++OO+++---......---++OOO########OOOO+++-----++OOOOOOO++---......--++OOO###OO++-----+++OOOO++--.......---
------+++++++++++OOO+++--.......----+++----++++++-------++++++++-----++OOOOOO++-----++++++--.....---++++OOO++++------.-------++++++++---...  ..--+++OOOO+++-----.....--+++OOOOOOO+++++--------++OOO##OOO+--...  ...-+++O#####OO+------++++++--.......---++
++++++---------+++++++--......--+++++++-----------------+++OOOO++++++OOO##OOO++------++++--...  ...----+++OOOO+++++----++++++++OOOOO+++--.......---++OOOOOO++++--.....---+++++++-----........---+OOO#OOO++--...  ..---++OOOOOO++--------+++--......--++++O