OOOOOOOO++---........---++OOO####OO+++----++++++++++--..    ..--+++OOOOOOO+++---.......---++++++++++++------------++++++++---.......---++OOOOOOOOO++++-----.....-----+++OOOOO+++----....---++++++OOOOOOOOO+++++++OOOO++++--..       ..---------------++OO#
OOOOOO+++--....  ...---++OOO####OOO++-------+++++++--..      ..--++OO####OOO+++---......-----+++++++++++++++------+++++-----.......---+++OOOOOOO+++--------------++++OOOOOOOO++---........----+++++++++++++---++++++O++++--..      ..--++++++--------++OO#
+++++++++---......--+++OOOO####OOO++---------+++++---..      ..--++OO######OOO+++---........----+++++OOOOO+++++++++--------........---+++OOOOO+++-----...-----++++++OOOOOOO+++---....    .....------------------++++++++++--...  ...--+++++++++------++OO#
-++++++++--------+++OOOO######OOO++----------++++++---...    ...--++OO#######OOO++---..........---++OOOOOOOOOO++++++-------........---++++OOO++++--......----++++OOOOOO+++++----.....         ......------------+++++++++++--......---+++OOO++++++---+++OO
--+++++++++++++++OOOO#######OOO+++-----------++++++++---.........--++OO#######OOO++---..........--++OOO###OOOOO+++++++------........---++++++++++--......---++++OO++++++--------........          ....---------+++++++++++++----------+++OOOOOO+++++-+++++
--+++++++++++OOOOO#######OOO+++-------------+++++++++++----.......--++OO#####OOOO+++----.........--++OOO#OOOOO+++++++++++----........---++++OO++++---...----++++++++----.......--------....        ....---++++++++++++++++++++--------+++OOOOOOOO+++----++
+++++++++++OOOOO####OOOOOO++----...-----+++++++++++++++++++----...--+++OOOOOOOO+++++--------....---+++OOOOO+++++++++++++++---........---+++OOOOO+++--------++++++++--...   ...----++++++---....   .....--++++++++++---+++++++++--------++OOO###OOO++------
+++++++++++OOOOOOOOOOO+++---.......---+++++++++--+++++OOO++++-------+++OOOOOO+++-----++++++--------+++++++++-------+++++++----.....-----++OOOOOOO+++-------+++++++--..      ..--+++OOOOOO++----........---+++++++-------++++++++-------++OOO####OO+++-----
++++------+++OOOOOO+++----........---++++++++------++++OOOOO++++++++++OOOOO+++-------++++++++------+++++++-------------------...-----++++OOOOOOOO+++-------+++++++--..      ..--++OOO###OOO+++----......-----------------+++++++-------++OO######OO++-----
+----....---+++++++++----.........---++++++-----.----++OOOOOOOOOOOOOOOOOOOO+++------++++++++++------++++----.........---.........---++++OOOO##OOOO++-------++++++---..     ..--++OOO#######OOO+++---.....--------.......----+----------++OO#######OO++----
--.........--++++++++-----.......----+++----.......--++OOO##########OOOOOOO+++++++++++OOOOOO++++----------................   ....---+++++OOOOOOOOO++++-------------..      ..--++OO###@@@@###OOO++---....--------........---------------++OO######OO+++---
...      ..---+++++++++------------------....   ....-++OO############OOOOOO++++++++OOOOOOOOO+++++---------....    ......      ...----+++++OOOOOOOOO+++++----------...      ..--++OO##@@@@@@####OO++--------------..........------.....---++OO#####OO+++---
.       ...---++++++++++++++++---------...      ...--++OO##########OOOOOO++++++++OOOO####OOO++++----------...............     ....-------++++OOOOOOO++++---------....      ...--++O###@@@@@###OO+++--------++++---.........------......--++OO#####OO+++--.
       ...--++++OOO++++++++++++++++----..       ..--++OO#######OOOOO++++++++++++OOO#####OOO++++------------........----..........----------++++OOOO+++++----------....     ...--++OO########OOO++---------++++++----.....-----------..---++OOO###OOO++--..
     ...---+++OOOOO++++++++++OO+++++---..      ..--++OOO####OOO++++---------+++++OOO####OOO++-------+++++-----------------.....-------------++++++++++--------------.........---++OO######OO+++---......---++++++----------+++++---------++OOOOOOOO++--.. 
.  ...---+++OOOOO+++++---+++++OOO++++--...    ...--++OOO##OOOO++----.......----+++OOOOOOOO++--------+++++++------+++++++----------++++++----+++++++-----------+++++----......---++OOO###OOO++---.........---++++++-------+++++++++++++++++OOO###OOO++--.. 
.....--+++OOOOOOOO++-------+++++OO++++---......--+++OOO###OOO++----.........----++++OOOO+++---.-----++++O+++++++++++++++------+++++OOOOO+++++++++-----------++++OOO+++---....---++OOOOOOO++----....   ...----++++++-----+++++OOOOOOO+OOOOO#######OO++--...
....--++OOOO###OOO+++-------+++++++++++--------+++OOO######OO++----.........----+++++++++---.....---++OOOOOO+++++++++++------+++OOOO###OOOOOO+++++--------++++OOOOOOO+++---..----+++++++++----...........---+++++++++++-++++++OOOOOOOO######@#####OO+++--.
....--++OOO######OO+++--------++++++++++++++++++OOOO#######OOO++----......----++++++++++--........--++OOOOOOOOO++++++--------+++OOO#######OOOO+++++++---+++++OOOO###OOO++---...-----++-----------.....-----++++++++++++----++++OOOO########@@@####OOO+++--
....--++OOO######OOO+++++----------+++++++++OOOOOOOO#######OOO+++-----------+++++++++++---........---++OOOOOOOOO+++----------+++OOO#######OOOOO+++++++++++++++OOOO#OOOO++---....-------------------------+++++OOOOO++++------++++OOO#############OOOOO++++
.....--++OOO######OOO++++----....----++++OOOOOOOOOOOOOO####OOOO+++---------++++++++++++----.......----++OOOOOOO++++-----------++++OOOOOOOOOOOO+++++++++++++++++++OOOOOO+++----.---------.------++++++++++++++OOOOOOO+++---------+++OOOOOOOOOOOOOOOOOO+++++
. ....--+++OOOO#OOOO+++++---......---+++OOOOOOO++++++OOOOOOOOO++++----------+++++++++++++-------..------+++++++++++------------+++++++++++++++++++++++++--------+++++++++++------------..----+++++++++++++++++OOOOOOO+++----------++++++++++++++++++++++++
.......--+++OOOOOOO+++----........---+++OOOO++++----++++++O+++++----......-------+++++++++++++--------------++++++++++++++++++----------------------------....----+++++++++++++++++-----------+++++++++-----+++OOOOOOO++++------------------------------++
.......--++++OOOO+++---..........--+++OOOO++++---------++++++++----..........------+++++++++++++----------------++++++OOOOOO++++-------------.....................---+++++++++++++++++-------+++++++++-------+++OOOOOOO++++------------------..........---
......--++++OOOOO++---..........--++OOOOOO+++--.....---+++++++++---..........------+++++++++++++++------.....----+++OOOO##OOOO++----.------.....    ....        .....------++++++++++++++++++++++++++--------+++OOOOOO++++---------------...............--
....---++++OOOOOO+++--.........--++OOOOOO++---......--+++OOOO+++---..........-----+++++++++++++++++++-----.....---+++OO#####OO+++----------....                   ......------++++++OOO++++++OOO+++++-------+++OOOOOO++++----------------....         ..--
....---+++OOOOOOOO++---.......--++OOOOOO++---......--++OOOOOOO+++---........----++++++++---+++++OOOO++++---......---++OO###OOO+++------------...    .........     .........----++++OOOOOOOOOOOOO++++-------++++OOOOO+++----------++++++---...       ...--+
...----+++OOOOO#OOO+++--.....---+++OOO++---......---++OOO###OOO+++--.......---++++++++-------+++OOOOOOO++---.......--++OOOOOO++++-----+++++----......--------................---+++OOOOOOOOOO+++++--------++++OOOOOO+++--------+++++++++--...     ...--++O
....---++++OOOO##OOO+++----------++++++--........--++OO#####OOO++---........--++++++++-------++OOO####OO++--...    ..--+++++++++------+++++++---------+++++++---------.......---+++OOOOOOOO+++++----------++++OOOOOO++++------++++++++++--...   ...---++OO
.....-----+++OOOOOOOO++----------------....   ...--++OOO###OOO++---...    ..---+++++++-----+++OO######OO++--..      ..---++++----------++++++++----++++OOOOO+++++++++----------+++OOOOOOO+++----.........---+++OOOOOOO++++++++++++++++---...    ..---++OO#
---.....----+++OOOOOOO+++-------------...      ..---+++OOOO+++---...      ...----+++++++++++OOO########OO++--..     ...-----------...--------------++++OOOOOOOOOOOOOO++++-----+++++OOO+++---....         ...---++OOOOOOOOOOOO++++++---....      ..---++OOO
+----......---+++OOOOOO+++++++---------...     ....-----------..............------+++++++OOOO###@@@@@##OO+++--..    ...---+++----........-----------+++OOOO########OOOO++++++++++++++++---...               ..--++OOO######OOOO+++--...          ..---+++O
+++-----....---+++OOOOOOOOO+++++++++---....    ........................-------------++++OOO#####@@@@@###OO++--.... ...---++++++---..............-----+++OOO##########OOO+++++++++++-----....                 ..--++OO########OO++--..            ...----++
O++++-----...----+++OOOOOOOOOOOOO++++----.................   ......---++++++++-------+++OOOO###########OOO+++--.......--+++++++++---..............----+++OOO#######OOOOO++++++---------......                ...--++OOO#####OOO++--...         .....------
O+++++++---.....---+++OOOOOOOOOOOO++++------....--.....      ....--+++OOOOOO+++--------+++OOOOOOO####OOOOO+++--......---+++OOOOOO++---............-----+++OOOOOOOOOO++++++++++-------------.....        .......---++++OOOOOOOO+++---...............------.
+++++++++---......---+++++OOOOOOOO++++---------------....  ....--++OOO####OOO++----..-----+++++++OOOOOO+++++--.......---++OOO###OOO++----.......------+++++OOOO++++++++++++++++-----------------........-------------++++++++++++++----------------------.
+++++++++--.........-----+++++++++++----------++++++---......---++OOO#####OO++---........-------+++++++++---...    ...---++OO####OOO+++----------+++++++++++++++--------++++++++-------++++++++----------+++++++------------+++++++++++++++++++++++++++---
-----+----....    ....-------++++----....----++OOOOOO+++------+++OO#######OO+++---............------------...        ...--++OOOOOOOO++++-------++++++++++++++----.....---+++++++------++++++++++++++++++++OOOO++++---.......---++++OOOOOOOOOOOOOOOOOOOO+++
....----.....    .........---------.......--++OO####OOOO+++++++OOO###@@@###OO+++-----.............-------...           ...--++OOOOO++++--------++++++++++----..........----++++--------++++++++++++++++OOOOOOOOO++--...    ...--++OOO##################OO+
  ..........................------.........-++OO######OOOOO+OOOOO###@@@@@##OOO++++--------.........------...            ...--+++++++++---------+++++++---......    ....-------------------++++++++++++OOOOOO##OOO++--..      ..--++OO###################OO
   ............---------....-------........--++OO####OOOOO+++OOOO##########OOO++++++++++----......--------...          ....----++++++-----------++++---....      .....------------.....-----+++++++++++++OOOOOOOOO++--..     ...--+OOO##################OO
...........----+++++++---------------.......--++OOOOOOO+++++++++OOOO######OOOO+++++++++++++----------------....     ......-----+++++------------++----...      ...----------------........---+++++++++++++++OOOOOOO++---........---++OOOOOOOOOOOOOOOOOOOO+
------------+++OOOOO+++--------+++++---......---+++++++--------++++OOOOOOOO+++++++++OOOOO+++--------++++++---.......--------+++++++++---------+++++---...    ...---+++++++++--------.......---+++++++------++OOOOOOOO+++----.....----+++++++++++++++++++++
-----++++++++OOOOOOO+++-------++++++++---......-----------..------++++++++++------++++++++++--------++++++---.....----++++++++OOOO+++++---+++++++++++--.......---++++OOOOOO++++++++----..----++++++++-------++OOOOOOOOO++++----.....---------------------+
+++++++++++++OOOOOOO+++-----++++OOOOO+++---.....-------------------+++++++-----.----++++++++-----------++----....----+++++++OOOOOOO++++++++++OOOOOOO+++---....---++++OOOOOOOOOOOOO++++-----+++OOOO+++---...--+++OOOOOOOOO+++---......---------------------
++++++++++++++++++++++++++++++OOOOOOOOO+++-------------------------++++++-----....----+++++---.......-------.....----++++++++OOO+++++++++++OOOO####OOO++----------+++OOOO#######OOOO++++++++OOOOOOO++---.....--++OOOOOOOO+++---......-----++++------------
O+++++++-----+++++++++++++++OOOOOOOOOOOO++++---------+++++++++++--++++++++----.....-----++---............-.......-----++++++++++++++----+++OOO######OOO++-----------++OOO########OOOO+++++OOOOOOOOO+++--......--+++OOOOOO+++--......----++++++++++--------
+++------------------++++++OOOOOOOOOOOOOO+++++----+++++OOOOOO+++++++++++++++---...-----------...      ....--------------+++++++++-------+++OOO#####OOO+++-----------+++OOO#####OOOO+++++++OOOOOOOOOO++---.....---+++OOOO+++--.......---+++OOOOOOO+++-----.
-------------.....----++++OOOOOOOO++OOOO+++++++--++++OOOOOOOOO++++++++++++++++---------++++---..      ...-----------------+++++---------+++OOOOOOOOO+++--------------+++OOOOOOOO++++----++++OOOOOOOO+++----..----+++++++++--........--+++OOO###OOO+++----.
-------------.......---+++++++++++++++++++++------+++OOOOOOOOO+++++++++++++++++-------++++++--...     ..----+++----------+++++++-------+++OOOOOOO++++---------------++++OOOOO+++-----------+++++++++++++++------+++++++++--...   ...--+++OOO####OOO++----.
-----++++++----......---++++++++--------------------+++OOOOOO+++------++++++++-------++++++++--........--++++++++++----++++++++++++++++++OOOOOOO+++------------++++++++OOO+++++---.........------+++++OO+++++++++++OOO++++--..     ..---+++OOOOOOO++----..
---+++++++++---.......------------...---.........---+++++O+++++---------+++++--------+++++O++++---...----+++++++++++++++++++++++++++++OOOOOOOOOO+++-----------++++++++++++++---...         .....--+++OOOOOOOOOOOOOOOOOOOO++--...   .....--+++OOO++++--....
-+++++++++++---.........--------.................---++++++++++----------------------++++OOOOO+++++-------+++++++++++++++++++++++++++OOOO######OOO+++-----------++++++++++++---..               ..--++OO################OOO++--............--+++++++--.....
+++++++++++-----............----........      ...---+++++++++----------------------+++++OOOOOOOO+++++++-------++++++++++++-------++++OOO#######OOO++++-----------+++++++++---...                ..-++OO#################OOO++----..........----+++---...  
OOOOOO+++-------------......--------....      ..---++++++++++----+++++-----------++++++++++OOOOOOOOO++++----------+++++-----.....--+++OOO######OOO++++++-----------++++++++--....             ...--++OOO###############OOOO++++------......-----++----..  
OOOOOO+++-----------------------------..      ..--++++++++++----+++++++--------++++++++++++++OOOOOOOOO++----------+++++---...   ...--++OOOO##OOOOO++++++------------++++++++---....        ....---++++OOOOOOOOOOO###OOOOO++++++++++-----..-----+++++--..  
####OO+++-------++++++--------+++++++--..     ..--+++++++++-----+++++++--------++++++++-----+++OOOOOOOO++-------++++++++--..      ..--++OOOOOOOO++++++-------------+++OOOOO++++---.........----+++++++++++++++++OOOOOO+++++++++++++++++-------+++++++--.. 
#####OO++++---++++++++++----+++++++++--..      ..---++++----------++++--------++++++++-------+++OOOOOOOO+++++++++++++++++--..    ...--+++OOOOO+++---------------++++OOOOOOOOOO+++----...----+++++++++++---------+++++++-------++++++++++-----++++++++--.. 
O####OOO+++++++++++++++-----+++++OOO+++-...    ...-------------------------++++OO++++---.....--++OOOOOOOO++++++++++++++++--........--+++OOOO+++--..........----+++++OOO######OOOO+++-----++++OOOOOO+++---........--------.----+++OOOOOO++++++++++++++--...
O#####OO++++----------------++++OOOOOO++--..   ....---+++++-------------+++++OOOOO++---.......--++++OOO++++++++++++++++-----.....---++OOOOOO++--..      ....---+++++OOOO########OOO+++++++++OOOOOOOO++--...      ..........--+++OOOOOOOO++++------------..
O####OOO+++------------------++++OOOOOO++--........--+++++++++---------++++OOOOOOO++--...  ...----+++++++++++++++++++-------------+++OOOOOOO++--..       ...---+++++++OOO########OOO++++++++OOO###OOO++--..           ....--++OOO####OOO+++---------------
O####OO+++---.......----------++++OOOOO+++--......--+++OOOOOO+++--------+++OOOOOO++--.........----------++++++++++++-------------++++OOOOOOO++--...    ....-----+----++++OOO####OOO++-----+++OOO####OO++--..          ...--++OO######OO+++--.......-------
#####OO++---.........-----------++++++++++---....---+OOO####OO+++--------+++++++++--........--------------+++++++++--------------++++++OOOOOO+++---.....------++--------++++OOOO+++----.----++OOO####OOO+---..        ..--++OO######OO+++--..   ...-------
#####OO++---.......-----------------+++++----------++OO######OO++----------+++++---.......---++++---------+++++++++++---------------++++++OOOO+++++------++++++++----------++++++--........--++OOO#####OO++--..      ..--++OO######OO++---..     ..--+++++
######OO++----------++++++++----------------------++OO#######OO++---....---------.......---+++++++++------+++OOOOOO++++++++++++---------++++OOOO+++++++++++++O+++++---------------...   ...---++OO######OO++--...    ..--++OOO####OO+++--...    ..--++++++
@@@@###OO++++--++++OOOOOOOO++----...------------++++OO#######OO+++-----------------------++++OOO+++++++++++++OOOOOOOOOOOOOOOO++++-------++++OOOOOO++++++++OOOOOOO++++-------------.........--++OO###@@###OOO++--.......---++OOOOOOO+++----......---+++OO++
@@@@@###OOO+++++OOOO######OO++---....-----++++++++OOOOO#####OOOO++++-----------------++++++OOOOOO+++++++++++++OOOOOO########OOO+++-----++++OOOOOO+++++++++OOOOOOOO+++---------------.....---+++OO##@@@@@###OOO++-----------+++++++++++----------++++OOOOOO
########OOOOOOOOOO########OO++--....---++++OOOOOOOOOOOOOOOOOOOOOO++++++++---++++++++++OOOOOOOOO++++++++++++++++++OOOO########OOO++++-+++++OOOOOO++++--+++++OOOOOO+++----------+++----------+++OO###@@@@@####OOOO++++------------------+++++++++OOOOOOOOOO+
O#####OOOOOOOOOOOOO######OO++---...---+++OOOOOOOOOOOO++++++++OOOOO++++++++++++++++OOOOOOOOOO+++++++++++++++-----++++OOO####OOOO++++++++++OOOOOOO+++-----++++OOOO+++----..----++++++++-----++++OOO#########OOOOOOOO++++++----.......---++++OOOOOOOOOOO+++++
++OOOOOOO++++++++OOOOOOOO++---....---++OOO#####OOO+++++----++++++++++++++++++++++OOOO##OOOO++++--+++++++++----------+++OOOOO++++++++++++OOOOOOO++++------+++++++++---......---+++++++++---+++++OOOO###OOOOOOOOOOOOOOO++++--...   ...--+++OO######OOO++++++
---+++++++++--++++++++++----......---++OO#####OOO++-----..-----+++++++++-----++++OOOOOOOOO+++------+++++++---.......---++++++--------+++++OOOOOO+++-----++++++++++--........---+++++---------++++OOOOOO++++++++++OOOOO+++--..      ..--++OO######OO++-----
.------------------------.........---++OOOOOOOO++---..........------------------+++OOOOOO+++-------++++++++---.......----------....-----++++OOOOOO+++++++++OOOO+++--...   ....-----------------+++++++++-------+++OOOOO+++--..      ..--++OOOOOOOO++------
 .......................       ...--+++OOOOOO++--.....   ......-------------------++++++++---....---+++OOO+++---.....-----..............--++++OOOOO++++OOOOOOOOOO++--...      ............---------------....--+++OOOOOOO++--.       ...--++++++++---.....
      ............             ..--+++OOOOO+++-...      .....------------------------++----.......--++OOOOOO++++----------...         ...---+++++OOOOOOOOO####OOOO++--..           .....------------.........--++OOOO##OOO++-..        ...---------......-
       ...........            ...--++OOOOO+++--..     ....--------------------------------........--+++OOOOOOOO++++++-----...         ...----++++++++OOO#######OOOO++--..          ...-----------...........--++OOO#####OOO+--..       .................--
      ...--------....      .....--+++OOOO+++---........---++++++---------+++++-------------.......---++OOOOOOOOOOOOO++++--...        ...---------++++OOO#######OOOO++---...      ...---+++++++---...    ...--++OOO#####OOO++--...     ................---+
........---++++++----.........----+++++++++++---...---++++OOO++++------++++++++--------------......---+++++OOOOOOOOOO++++--..      ..--------------+++OOO#####OOO++++----........---++++++++++--...    ...--++OOO#####OOO+++--.........-----........---++O
-.....---+++OOOOO++++---------------++++++++++-----++++OOOOOOO+++------++++++++----------+++-------------+++++OOOOOOO+++---..    ...--++++++--------++OOOOOOOOO++++--------------+++++OOOO++++--..     ..--+++OO####OOO+++----.....------------------+++OO
---..----+++OOOOOOO+++++++++-----------+++++++++++++OOOOOOOOO++----------+++++---------++++++++---------------++++++++++--...    ..--++++++++-------++OOOOOOO++-----.------+++++++OOOOOOO+++---..      ..--++OOOO#OOO+++---.......---+++++++++++++++++OOO#
--...----+++OOOOOOOOO+++++++++---------++++++OOOOOOO####OOOO++--.....----++++++-------+++++O+++++----........----+++++++---.......--+++OO++++-------++++OO+++--........---++OOOOOOOOOOO+++----...     ..--+++OOO#OOOO++--........---++OOOOOOOOOO+OOOOOO###
-.....---+++OOOOOOOO+++OOO++++++-----++++++OOOOO########OOO+---......---++++++++------+++++OOOO++++---.........---+++++++---......--+++OOO+++--------+++++++--..      ..-++OO#######OO+++---...........---++OOO###OOO+--...    ...-++OOO#####OOOOOOO######
.......--++++OOO+++++++++OO+++++++++++++++OOOOOO#######OOO++--......---+++++++++++-----+++++OOOOOO+++---........---++++++++---...---+++OOO+++---------+++++---..      ..-++OO######OO+++---..........----+++OOO####OO++-...     ..--+OOO##################
.   ...--+++++++++++++++++++++++++++++++++OOOOOOOOO##OOO+++--.....---+++++OOO+++++--------++++OOOOOOO++--........---+++++++----..----++++++++---------++++++--...   ...--++OOO###OOO++----..-------------+++OOO#####OO+--...     ..--+OOOO#####OOOOOOO####
     ..--++++++++------++++++++++++++++++++++++++++OOO++++---------++++OOOO+++++++----..----++OOO####OO++--.......---++++++----...---++++++++--------+++++++++---....-----++++OOO+++---....----++++++-----+++OO######O++--...     ..--++OOOOOOOOOO+++OOOOO
.   ...--++++++++------++++++++++++-++++++--------++++++---------+++OOOOO++++++----.......--++OO######OO++---......----++----......---++++++++------+++OOOOOO++++-----------++++----.......---+++++++------++OO######OO++--..      ..--++++OO++++++++++++O
......---++++++++-----++++++++++------------------------------++++OOOOOO+++------........---++OO#######OO++----......-----.........---++++++++++--++++OOOOOOOOOO++++++-------------........---+++++++-------++OO#####OO++--..       ..--++++++++-------+++
---------+++++++++----++++++++++-----------.....------+++++++++OOOOOOOOO++---........-----+++OOO#######OOO+++-------..............--++++OOOO++++++++++OOOO###OOOOOO++++-----------.........---++++++++-----+++OOOOOOOO++---..       ...----------------+++
+++++----+++++++++++++++++++++++-----------.....-----++++++OOOOO#####OO+++--....------++++++OOOOOO##OOOOOOO+++++++----..........---+++OOOOOOOO+++++++++OOOOOOOOOOOO+++--------------........---++++++++++++++OOOOOOO+++---....       .....------------++++
OOOO+++++--------++++++--------+++++++-----....----+++++OOOOOOOO####OOO++---..----++++OOOOOOOOOOOOOOOOOOOOOOOOOOO++++---.......---++OOOOOOOOOOO++++++++++OOOOOOOOO+++-----------------.......---+++++++++++++OOOO++++-----..................------++++++++
###OOO+++---------++++---------++++++++----....---++++OOOOOOOOOOOOOOO+++--------++OOOOOOOOOOO++++++--++++++OOOO##OOO++---.....---+++OOOOOOOOOOO+++++---+++++OOOOO+++--.....---+++++-----....----+++++++++++++++++++----------------..........----++++++++-
#####OO++--------+++++----------+++++++---.....---++++OOOOOO++++++++++---------++OOO####OOO++++---....---+++OO######OO++---------+++++++++++OOO+++++------++++++++---.......--+++++++----------++++++++++++++++++-----------+++++++------.-------+++++++--
#####OO++--------++++++-----------+++---........---+++++++++++--+++------.----+++OO####OOO++---.... ....--++OO######OO++-----------+++--++++++++++++-------+++++++--...   ...--+++++----------++++++++++++-+++-----------++++OOOOOO++++------------++-----
O####OO+++-----++++++++++------------....      ...---+++++----------.........---++OOOOOOO++---...     ...--++OOO###OOO++----....-----------++++OO+++++---+++++++++--...     ...-------------++++++++++---------------+++++OOOOOOOOOOO+++++------------....
OOOOOOOO+++---++++OOOOOO+++---........           ..-----------.........    ....--++++OO++++----...    .....--++++OOO++++----........-------+++OOOOOO++++++++++++++---..       ......--------+++++++++--...  ....---+++OOOOO#####OOOO+++++++-----..........
++OOOOOO+++++++++OOOOOOOOO++--....               ...----------......         ....---+++++++++----............------++++--------.......----++++OOOOOOOOO++++++++++++---..        .......-----++++++++--..      ...--++OOO######OOOO+++++++++------....    .
-++OOOOO+++++-++++OOOOOOOO++--...                ...---++++++---....         .....---++++++++++-------.............--------------...-----+++++OOOOOOOOOO++++++++++++---...      ........-----+++++++--...     ..--++OOO####OOOO+++++----++++++----...    .
-++++OOO+++------+++OOOOOO++---.........        ...--+++OOOO+++--....     ........----+++++++++++++++-----....    ...---+++++-----------+++++++++++OOOOO+++++----+++++---..........----------++++++++---... ....--++OOOOOOOO+++----------++++++++---......
-+++++++++---------+++++++++-----...-----........---++OO###OOO++---.........-----------+++++++++++++++++---...      ..--+++++++-------+++++++++++++++++++++-------++++++----------------------++++O++++----.-----++++OOO++++---.....-----++OOOOOO++-------
-++++++++---.......----++------------+++-----------++OO######OO++---....-----++--------------+++++OOOOO+++--...     ..--+++++++-------+++++++++-----+++++---------+++++++++-----+++++--------+++OOOOOOO++++++++++++++++++----.......---+++OOO##OOOO++-----
+++++++++--....  .......----------+++++++++--------++OO######OO++---------++++++++----------.----++++OO++++--..     ...--+++++---------++++++---------------------+++++++++++++++++++++++++++++OOO####OOOOOOOOOOOO++++++----.....---++++OOO######OOO++++++