.....----++++++++++++++++++++++------------+++++++------------++OOOOOOOOO++-------------------...       ...--+++++++--------+++OOOOOOOOOOO+++++++----------++++++++++------+++OO#######OOO++----------+++++++-----.....-------++++OOOOOO+++---...........-
......---++++++++++++OOOOOOO++++++++----++++++++++----......---++OOOOOO+++---.........-----....          ..---+++++---------+++OOO#######OOOOOOO++++-------+++++++++++---++++OOO########OO+++---------++++++++-----.....-------++++++++++++----...........
   ....---+++++++++++++OOOOOOOOO+++++++++++++++++---.........---+++OOO+++--......  ..........            ..---+++++---------+++OO##############OO++++------++++++++++++-+++++OO####@@###OOO+++----------+++++-------..--------+++++++++++++-----......    
    ....---+++++++++++++++++OOOOOOOOOOOO++++++++--....    ....--+++++++++--....                         ..---+++++++--------+++OO####@@@@@#####OOO++--------++++++++-----++++OO####@@####OO++++------------------------------++++++++++++++--------.....  
     ....----+++++++++++++++++OOOOOOOOOOOO++++---...      ....--+++OOO+++---...                        ...---+++++++---------++OO####@@@@#####OOO++-----------+++---------+++OOO###@@####OOO+++---------------------------++++++++++++++--++++++++----....
..........-----------------++++OOO#####OOO+++---...       ...--+++OOOOOO++---....        ......       ...---++++++++---------++OOO#########OOOO+++----...------------------+++OO########OOO++++-------------------------+++++++++++-------++++++++++++---.
..........-------------------++OOO######OO+++--...       ..---+++OOOOOOOO+++---............---...........---++++++++---------++OOOO#####OOOO++++---.......------------------++OOO#######OO++++------...-----------------+++++++++----------+++OOOOOOOO+++-
------.-------+++------------++OOO######OOO++--...      ..---+++OO######OO+++---........----------.......---++++++++---------++OOOOOOOOOO++++----........---+++++-----------+++OOO####OOO+++------...----------------------++++-------------++OOOO##OOOO++
+++--------+++++++++--------+++OO########OO+++---........--+++OOO########OO+++-----------+++++++----.....----++++++++------+++OOOOOOOOO+++----.........---+++++++++--------+++OOOOOOOOO+++----......----+++++++++++---------------.......----++OOO####OOOO
OO+++++---++++++++++++++++++++OOO########OOO+++----------+++OOOO###@@@####OO++++-------++++++++++------------+++++++++++++++OOOOOOOOOO++---...........--+++OOOOO++++++---++++OOOOOOOOO++--.........---+++OOOOOOOO+++----....---............---++OO######OO
OOOO+++++--+++++++++++++++++OOOO########OOOO+++++++++++++OOOOO####@@@@@####OOO+++++++++++++++++++-----------+++++++++++++OOOOO####OOO++--...      ...--+++OOOOOOOO++++++++++OOOOOOOO++---...  .....--+++OO#####OOO++---.....................--++OO#######O
#OOOO++++----++++++OOOOOOOOOOOOOOOOOOOOOOOO++++++OOOOOOOOOOOO###############OOOO+++++++++++++++++-------++++++++++++++++OOOOO#####OOO++--..      ...--+++OOOOOOOO+++++++++OOOOOOOOO++--...     ...---++OOO######OO+++--.....----............--++OO#######O
#OOO++++------+++++OOOOOOOOOOOOOOOOOO++++++++++OOOOOO######OOOOO###########OOOOOOO++++++++++++-------+++++++++++++++++++OOOOO#####OOO++--...    ...---++OOOOOOO+++++++++++OOOOOOOO++---...   ....---+++OOO#####OOO++----...--------.........--++OO#######O
OOO++++--------++++OOOOOOOOOOOOO+++++------++++OOO########OOOOOOOOOOOOOOOOOOOOOO++++++++++++---------+++++++++++-----+++++OOOOOOOOOOO+++---.......---+++OOOOO++++------++++OOOOO++++---........-----++++OOOOOOOOO+++-----------------......---++OO######OO
++++++---------++++OOOOOOO+++++++-----..----+++OOO######OOOO++++++++++++++++++++++++++++++++---------+++++++++----------++++++OOOOOOOO++++----------++++++++++-----------++++++++++-----..--------+++++++++++++++++---------+++++++----------++OO######OOO
+++++--------+++++OOOOO+++++++----........---++OOO#####OOO+++----------++++++---+++++++++++++--------++++++++----......-----++++++OOOOOO++++------++++++++++---.........----++++------------+++++++++-------++++------------+++++++++-------++OO#######OO+
----------+++++OOOOOOO++++------..........---+++OOOOOOOO+++----.....---------------+++++++++++++----+++++++----..........------++++OOOOOOO++++++-+++++++++----....    ....---------------+++++++++++------------------------++++++++++----+++OOO#######OO+
--------+++++OOOOOOOOOO+++-------........----+++OOOOOOO++---......................---+++OOOOO++++++++++++-------........-------++++OOOOOOOO+++++-----------....          .........----++++OOOOOOO+++---..............-----++++++++++++++++++OOO######OOO++
...------+++OOOOO#OOOOO++++-----------------++++++++++++---....        .....    ....--+++OOOOOOOO++++++++----------------------+++OOOOOOOOO++++------........                 .....---++OOO####OOO++--...      ......----+++OOOOO+++++++++++OOO#####OO+++-
......---+++OOOO####OOOO++++---++++++++++++++++++++++++---....                    ...--++OOOOOOOOOO++++++-------------------++++++OOOOOOOOO+++----.........                     ...---++OO######OO++--..        ....----+++OOOOOO++++++++++OOOOO#OOOO++---
........--+++OOOO##OOOOO++++++++++++++++++++++++++++++-----....       ......       ...--+++OOOOOOOO++++++---+++++++++++++++++++++OOOOOOOOO+++---.....     ..................    ....--++OOO#####OO+++--..       ....---+++OOOOOO++++++++++++OOOOOOOO+++--.
..    ...--+++OOOOOOOOOO++++++++OOOOOOOOOO+++++--------------..................     ...---++OOOOOO+++++++--++++++OOOOOO+++++++++OOOOOOOOO+++---....     ........----------..........---++OOOOOOOOO+++---...........----++++OOO+++++------++++OOOOOO+++----
..      ..--++++OOOOOOO+++++++++OOOOOOOOOOO+++--------+++++----....-----------....   ....--++++++++++++-----++++OOOOOOOO++++++++OOOOOOOOO+++---....  ......-----++++++++++----.......---++++++++++++++-----------------+++++++++-----------++++OO+++++----
..       ..--+++++OO+++++++--++++OOOOOOOOO+++--------++++++++----------++++++---...    ...---+++++++---------+++OOOOOO++++++++++++OOOOOOO+++---.........----+++++OOOOOOOO+++----.......-----++++++++++++++++----------------+-----......----+++++++++++++-
..       ..---+++++++++---------++++OOOOO+++---------+++++++++------+++++++++++--...    ...--------------------++++++++++-------+++++OOOO++++----...-----++++OOOOOO##OOOOO++++---........--------+++++++++++++++++-------------...........---+++++++++++++
....  ....---++++++----.........---+++++++++-------+++++++++++-----++++OOOOOOO++--...    ....--------.........-----+++------------++++++++++++-------++++OOOOO##########OOOO++++---...........----++++++OOOOOO++++----.............   .....----+++++OOOOOO
-.......-----+++-----...       ....-----++-------++++++++++++-----++++OOO####OOO+--...     .....---.............---------------------++++++++++++++++OOOO###############OOOOOO+++---...........----+++++OOOOOOOO+++--....     .         ......---+++OOOO##
---------++++++----...           ....----------++++OOOOOO++++------+++OOO#####OO++--..      ....----.......  .....--------------..-------+++++++++OOOOO##############OOOOOOOOOO+++---.........-----++++++OOOOOOO+++--...      .................---++OOO###
-++++++++++++++---...            ......------++++OOOOOOOO+++--------+++OOO####OO++--...    ....--------...........-----+++-----........----+++++OOOOO############OOOOOOOOOOOOOOO+++---.......------++++++++OOOOO+++---...   ...................---+++OOO##
++OOOOOOOOO+++---....      .............-----+++OOO###OOOO++---------+++OOOOOOO++---.........----+++++----.......----+++++++---..........---++++OOOOOO##OOOOOOOOO++++++++++++OO++++-----...-----+++++++++++++OO++++----......------------......----++++OOO
OOO#####OOO+++---...........------.......----++OOO######OO++-----------+++++++++---........---+++++OO+++++---------++++++++++--...     ...--+++OOOOOOOOOOO+++++++----------+++++++++---------+++++++-------+++++++++----------++++++++++-------------+++++
OO######OOO++---.........----++-------...----++OOO######OOO++--------------+-----........----+++OOOOOOOOO++++---++++++++++++---..       ..--+++OOOOOOOO+++++------.......---+++++++---------++++++++--------++++++++++------+++OOOOOOOO+++++--------------
O########OO++---......----+++++++++----------++OO########OO+++------------------.......---++++OOO#######OOOO++++++++++++++++---..      ..---+++OOOOOOO+++-------..........----+++----------+++++++++--------+++++++++++++++++OOOO#####OOOOO++++++---------
###@@@###OO+++---------+++OOOOOOOO+++++----++++OO########OOO+++-----------------.....---+++OOOO###@@@@@####OOOOOOOOOOOO+++++---.........--++++OOOOOOO++++-------...........--------------++++OOO++++---------++++++++++++++OOO#####@@#####OOOOO+++----....
##@@@@@##OOO+++-----++++OOO######OOOO+++++++++OO##########OO++++-----------------------+++OOO###@@@@@@@@@####OOOOOOOOOOO++++----......---+++OOOOOOOOO+++++-------...........------------++++OOOOO+++-----.----++++++++++OOOOO###@@@@@@@@@####OOO++---.... 
##@@@@@###OO++++++++++OOO#########OOOOOO++++OOOO##########OO++++----------++----------+++OOO####@@@@@@@@@@####OOOOOOOOOOO++++----------++++OOOOOOOOO+++++++---------------.........----++++OOOOOO+++----...---+++++++++OOOOOO##@@@@@@@@@@@####OO++--...   
###@@@####OOO+++++++++OOOO#######OOOOOOOOOOOOOOOO########OOO+++---------++++++-------++++OOOO####@@@@@@@@####OOOOOOOOOOOOO++++------++++++OOOOO+++++++++++++++++-------------.......----+++OOOOO+++----....---+++++++++++OOOO###@@@@@@@@@####OO++--...    
#########OOO+++++++++++OOOOOOOOOOOOOOOOOOOOOOOOOOOOO###OOOO+++---------++++++++--------++++OOOO###########OOOOO+++++OOOOO+++++++-++++++++OO++++++++++++++++++++++++++++++-----........--+++OOOO++++----...----+++++++++++++OOO####@@@@####OOOO++--........
OOO####OOOO++++++++++++++++++++++++++++++++++++++OOOOOOOOO+++-----------+++++++----------+++++OOOOO####OOOO+++++++++++++++++++----+++++++++++++-----+++++++++++++++++++++++---.........---+++++++------------++++++++++++++++OOOO######OOO++++---.........
+OOOOOOOO++++----------------------------------+++++OOOOO++++-------------++------......-----++++OOOOOOOO+++---------+++++++---------+++++++--------------++---+++++++++++++---.........-----+--------------+++++++++-------+++OOOOOOOOO+++----..........-
-++++++++-----.........---------------------------+++++++++++-----....--------.............----+++++++++++----...-------+++-------------++------....--------------+++++++++++--...........----------------++++OO++++++-------+++OOOOO++++---....     ...--
.--------......    .......--------------------------++++++++++-----...............     .....-----+++++----..........-----++--------------------......----------------+++++++----..........--------------+++OOOOOOOO++++------++++++++++---....        ...-
..........            .....----------------------------++++++++-----..............     ......-----------...      ...----++++---------+++++-----.....---------......-------+---------------------------+++OOOO####OOOO++++++++++++++++---...           ...-
                       ....-----++++++++++-------..------++++++++----.......................-----------....      ...---++++++++++++++++++++-------------------.........-----------++------------------+++OOO#######OOOO+++++++++++++----...          ....-
                      ....----++++OOOOOO++++----.......----+++++++----.....................----++++++---...    ....---++++++++++++++++++++++------------++----...........-----++++++++++++------------+++OOOO#######OOOOO+++++++++++----....        ....--
.........................----+++OOOO##OOOO+++---.........--++++++++-----....------------------++++++++----......----+++++++++++++++++++++++++--------+++++++---...     ...---+++OOOOOOOOO+++----....---+++OOOOOOO###OOOOOO+++++++++++-----............----
--.....----------........---+++OOO######OOO+++--...    ...--++++++++----------+++++----------+++OOOOO++++---------+++++++++++++++++++++++++++------++++++++++--..      ...---++OOO#####OOO++----......---+++++OOOOOOOOOOO++++++++++++++++------..---------
----------+++++-----.....----+++OOO####OOO+++--...      ...--+++++++---------++++++++--------+++OOOOOOO+++++++++++++++++++++-----+++++++++++---------+++++++---..      ...--++OOO######OO+++---.........-----++++++OO++++++-------++++++++++---------+++++
++++++++++++OO++++-----..-----+++OOOOOOOO++---..         ...----------------++++++++++-------+++OOOOOOOOOOOOOOOOOOO++++++-----------+++++++-----------++++++--...     ..---+++OO#######OO+++--....     .....------++++------..-----++++OOOO+++++++++++++++
+++OOOOOOOOOOOOOOO+++---------+++OOOOOO+++--...            ...--------------+++++++++++++--++++OOOOO#######OOOOOOOOOO++++----...-------------....-----++++++---........--+++OOOO#######OO+++---..          ......------..........--+++OOOOOOOOOO++++++++++
OOOOOOO##########OO+++-------++++OOOOO+++--...              ...........------++++OOOOO+++++++++OOOO###############OOOO+++---......-----------.....----+++++++----...----+++OOOOOO#####OOOO+++--...            ...........      ..--++OOO#####OOOOOO+++++++
OOOOOO###########OOO+++------+++OOOOOO+++--..               .............----+++OOOOOOOOO++++++OOOOO###############OOOO+++---.....-----------.....----+++++++---------++++OOOOOOOOOOOOOOOO++++--..             .......         ..--++OOO######OOOO++++++++
+OOOOOO#########OOO++++-----+++OOOOOOO+++--...              ..............---+++OOOOOOOOOOO++++++OOOOO###########OOOOOO++++------------------.....----++++++++-----+++++OOOOOO+OOOOOOOOOOOO+++--...          ...........     ....--++OOOO####OOOO++++-----
++OOOOOOOOOOOOOOOO++++-----++++OOOOOOOO+++--....          ................---+++OOO####OOOO++++++++++OOOOOOOOOOOOOOOOOOO++++-----------+++-----------++++++++++-++++++++OOO+++++++++++++++++++---...     ......----............---++++OOOOOOOOO++++-------
+++OOOO++++++++++++---------+++OOOOOOOOOO++----............---------.....----+++OO######OOO++++---+++++++++++++++++OOOOO++++---------+++++++---------+++++++++---++++++++++++-------+++++++++----.........----------------------+++++++++++++++++---------
++++++++++------------..-----+++OOOOOOOOOO++++----......----+++++------------++OOO#####OOO++--------------------++++++++++++--------++++++++----------++++++--------++++++++-------------++----.........---++++++++++++++-++++++++++++++------------------
+++++++----.................---+++OOOOOOOOOO+++++--------++++++++++---------+++OOOOOOOOOO++----........------..-----+++++++----------++++++++-----------++--------------------.......-------...........---++++++++++++++++++++++++++++------------------++
++++----.......            ....---+++OOOOOOOOOO+++++++++++++OO++++++---------+++OOOOOOOO+++---.....................-----+-----..-----+++++++++---------+++------....--------.................     ....---++++++++++++++++++++++++++++---------------++++++
+-----...                     ...---+++OOOOOOOOOOOOOOOOOOOOOOO++++++----------+++++OOO++++----......             ...---------....----+++++++++--------+++++----...........................        ...---++++++++++++---+++++++++++++------------++++++OOOO
----....                       ....---++++OOOOOOO#####OOOOOOO++++++-------------+++++++++++---......             ....-------.....----++++++++++-----++++++++---...........................        ...--+++++++++----------++++++++++----------+++OOOOOOOOO
--.......                     .......---++++OOOO########OOOO+++++-----------------++++++++++---............     ....---------....----+++++++++------+++++++++---...     .....-----------...     ...---++++++++---.......---+++++++++--------+++OOOO####OOO
-......................................---++++OOO#######OOO+++----------------------++++++++----..................-----++------------++++++++-------+++++++++---..      ...----++++++++---.......----+++++++---...    ...---+++++++--------+++OOO######OOO
-......-------------------------.........---+++OO#######OOO++-----------++++--------+++++++++-----..---------------+++++++++--------+++++++++--------++++++++--...     ...---+++OOOOOOO+++--------++++++++++--...      ...---++++++--------+++OO#######OOO
---------++++++-------++++++++----........---++OOO######OOO++---------+++++++------+++++++++------------+++++++++++++++++++++------+++++++++----------++++++---..      ..---+++OOOOOOOOOO+++++++++++++++++++--...     ...--++++++++---------++OOO######OO+
+------+++++++++++++++++++++++++----......---+++OOO####OOO+++---------++++++++----++++++++++-----------+++++++++++++++O++++++------+++++++++------------+++----...    ...---+++OOO#####OOOO++++++++OOOOO++++---..     ...--++++++++----------+++OOOOOOOO++
+++++++++++++++++++++++++++++++++------------++++OOOOOOO+++------------+++++++++-+++++++++++-----------+++++++++++++++++++++-------++++++++++------------+++----.........---+++OOOO#####OOOOO+++++OOOOO+++++--...     ...---+++++++-----....---++++++++++-
+++++++++++++++++++++++++++++++++-----------+++++++++++++------..--------++++++--++++++++++++---------++++++++++++++++++++---------++++++++++------------+++++------...-------+++OOOO###OOOOO++++++++++++++---...      ..----++++++-----......-----+++----
+++++------------++++++++++++++---------+++++++++++----------......-----------------+++++++++++++++++++--------++++++++++----------++++++++++------------++++++++--------------+++OOOOOOOOOOO++++++++++++++---..       ...-----+++++-----........--------.
+++---------------+++++++++++---------+++++++++------........----...----------------------+++++++++++++---------++++++++-----------++++++++++----....----++++++++++++++---------++++OOOOOOO+++++++++++++++----..       ....----++++++++----...........--..
+-----------------++++++++++---------+++++++++----..........--------------------+----------++++++++++++---------++++++++----------+++++++++++---......----+++++OOOOO+++++--------+++++OOOO++++-------+++++----...      ...-----++++++++++----.........----
-----------------+++++++++++--------++++++++++--..........--------------------+++++---------++++++++++++-------+++++++++++-------++++++++++++---........---++++OOOOOOOO++++------+++++++++++----------+++++---....   ....-----+++OOOOOOO+++----....-------
----------++++++++++OOOOO+++++------++++++++----.........---+++++++---------++++++++---------++++++++++++++++++++OOOOOOO+++++++++++++OO+++++---...    ...----++++OOOOOOO++++++++++++++++++++---------+++++++---........----++++OOOOOOOOOO+++-----------+++
....----+++++++++OOOOOOOOOOO++++++--++++------....  ....---++++++++++-------++++++++---------+++++OOOOO++++++OOOOOOO#OOOOOOOOOOOOOOOOOOO++++--...       ...-----++++OOOO+++++++++++++++++++-----------+++++++----...-----+++++OOOOO##OOOOO++++------++++++
....----++++++++OOOOOOOOOOOOO+++++---------....      ...---+++++++++--------+++++++---------++++OOOOOOOOOOOOOO#############OOOOO####OOOO+++---...       ......-----+++++++++++++++++++++++----.....-----+++++----------++++++++OOOOOOOOOOOO+++++++++++++++
....---++++++++++OOOOOOOOOOOO+++++------......       ...---+++++++------------------------+++++OOOOOOOOOOOOO##########################OOO++---....      .........------+++++--+++++++++++----.........----++--------+++++++++++++++OOOOOOOOOO+++++++++++++
...----++++++++++++OOOOOOOOOO++++------......       ....--------------------------------+++++OOOOOOOOOOOOOOO###########################OO+++---......................-----------+++++++++---.....  .....------+++++++++++++++++---++++++++OOOOO+++++++++++
..-----+++++++++++++++OOOOOO++++------.........  ......---------------------------------+++++OOOOOO++++++OOOOO##########OOOOO##########OOO++----.......----.............---------++++++++---....      ...-----+++++++++++++-------------++++OOOO+++++++---
-------++++++------+++++++++++--------------........-----------------------------..------++++++++++++++++++++OOOOOOOOOOOOOOOOOO#########OO++-----------------............-------+++++++++----...       ...---++++OOOOOO++++---.........---+++++++++++-----
-------++++++-------+++++++++---------------------------+++-----------------------..------++++++++---------+++++++++++++++++++OOO######OOO++---------+++++++---.........-------++++++++++++---...      ...---++OOOOOOOOO+++---...     ...--+++++++++------
------++++++++------+++++++++-----------++++++++++++++++++++++-------+++++++++-------.---------------...-----++++++++--------+++OOO###OOOO++--------++++++++----......----+++++++OOOOOOOO++++--....  ....--+++OOO#####OOO+++---...     ..---+++++++++-----
-------+++++++----+++++++++++---------++++OOOO+++++OOOOOOO+++++++++++++++++O+++++-----...................----++++++------...---+++OOOOOO+++----------+++++++++--------++++OOOOOOOO#####OOOOO+++---......---+++OOOO####OOO++++---...    ...----++++++++++++
.....----+++++++++++++OOOO++++------++++OOOOOOOOOOOOOOOOOOO+++++++++++++OOOOOOOO++++---.................----++++++-----........---++++++++---.....----++++++++++++++++OOOOO###############OOOO+++-----------++++OOOOOOOO+++++---............------+++++++O
.......--------+++++OOOOOOO++++-----+++OOO#############OOOO+++++-----++++OOOOOOOOO+++---.....     .....----++++++++---.....  ....-----------........---+++OOOOOOOOOOOO#######################OOO+++-----------++++++++++++++------............-----++++OOO
    .....------+++OOOOOOOOOO+++-----+++OOO#############OOOO+++---------+++OOOOOOOOOOO++---...     ....---++++++++++----....   .....--------..........---+++OOOOOOO############################OOOO+++---------------------------------..........----+++OOO
.     ....-----+++OOO###OOOO+++-------+++OOO###########OOO+++---......---+++OOOOO#OOOOO++--..........---++++++++++++-----...........--------..........---+++OOOOO############OOOOOOOOOOOOOOOOOOOOOO+++-----------....----------++++++-----.......----+++OO
....  .....---+++OOO####OOOO++----------+++OOOOOO#####OOOO+++--....  ....--+++OOO#####OO++---.......----++++++++++++++------......-----------.....  ....--+++OOOO########OOOOO++++++++++++OOOOOOOOO+++++-------..........-----+++++++++++----.....----++++
-.........----++OOO#####OOO+++---.......---+++++OOOOOOOOOO++---...      ..--+++OO######OOO++------------+++++++++++++++++++------------++++----...   ....--++++OOO####OOOO++++-----------++++++++++++++++-------.........----+++OOOOOOOO+++----....-----++
---......---+++OOO######OO+++---..........----+++OOOOOOOOO+++---..      ...--++OOO######OO+++---------------------++++++++++++----+++++++++++---....  ....---+++OOOOOOOO+++-----........------++++++++++++++++-----...-----+++OOOO####OOO+++-----.....----
+---------+++OOO########OO+++---..........-----+++OOOOOOOOOO+++--...     ...--++OOO#####OOO++----.........---.-----++++OOOO+++++++++++OOOOOOO++---........---+++OOOOOOO+++-----..........------+++++++++++++++++---------++++OO#########OOO+++---.........
++-----++++OOOO#########OOO+++----........-----+++OOOO###OOOOO++--...     ...---++OOOOOOOO+++---................--+++OOOOOOOO++++++OOOOOO##OOOO++---.....---++++OOOOOOO+++-----.........--------+++++++++++++++++++---+++++OOO###@@@@@###OOO+++--.........
++----++++OOO#####@@@####OOO++++--------------++++OOOOO####OOOOO++--...    ....--++OOOOOOO+++--....       .....---++OOOOOOOOO++++++OOOO######OOO++---------++++OOOOOOOOO+++------....----------+++++++++++++++++++++++++++OOOO##@@@@@@@###OO+++--...    ..
------++++OOO############OOO++++++---------+++++++OOOOOOOOOOOOOO+++--....  ....--+++OOOOO+++---..          ....--++OOOOOOOOOO+++++++OOOO######OO+++-------++++OOOOOOOOOOO++++-------------+++++++------++++++++++++++++++++OOO##@@@@@@@###OO++--...      .
--------++OOOO#########OOOOO++++++++++++++++++++++++OOOOOOOOOOOOO+++--.........--++++OOO++++--...         ...---++OOO###OOOO++++++++++OOOOO#OOOO+++------+++++OOOOO##OOOOO++++---------+++++++++-----------+++++++++++++++++OO###@@@@@@##OO+++--..      ..
-.....---+++OOOOOOOOOOOOOOO+++++++++++++++++++++++++++++++++OOOO++++-----....---++++OOOO++++--...        ...--++OOO#####OOO+++------+++++OOOO++++--------+++++OOOOOOOOOOOO+++++-------++++++++++-----..-----+++++++-------+++OO###@@@###OO+++--..       ..
........---++++++++++++++++++++++++++++++++++++++++-------++++++++++++--------++++OOOOOOO+++---..       ...--++OO#######OO+++-----------++++++-------------++++OOOOOOOOOO+++++----------++++++----.......---+++++++--------+++OO########OO++--..       ..-
-.........------+++++++----------------------------------------+++++++++++++++++OOOOOOOOOO+++---..     ...--+++OO#######OO++-----....-----------.........-----++++OOOO+++++----------------------.......---+++++++++--------++OO#######OO++---..       ..-
-..........--------------..................................-------+++++++++++++OOOO####OOOO+++--...   ...--+++OO###@@####OO++---..................   ......------++++++-------.......-----------.....----+++OOOOO+++++-----+++OOO#####OO++---...      ...-
--........------------....                             .....-------++++++++++++OOOO####OOOO+++--.........--++OO###@@@@###OO+++--.....                 ..........-----------.......---------------------+++OOOOOOOOOO+++++++++OOOOOOOOOO++----...........--
---......------------....                               ....------++++++++++++++OOO####OOOO+++--........--+++OO###@@@@@##OO+++--...                ...........................-----------------------+++OOOO#####OOOOO++++++OOOOOOOO++++---.........-----+
---....-----+++++-----...                               ...----+++++++-------+++OOOOOOOOOO+++---...  ...--+++OO###@@@@@##OOO++---..             ......---.......       .....-----+++++++++++--------++++OOO######OOOOOOOOOOOOOOOOO++++----...-------++++++