                                                /-----------------------------------------------------------------\                                   
                                                |    /------------------------------\                             |                                   
       /----------------------------------------+----+------------------------------+----------------------------\|                                   
       |     /---------------------->-----------+----+--\     /---------------------+----------------------------++------------------------------\    
       |     |                             /----+----+--+-----+---------------------+----------------------------++-------\                      |    
       | /---+-----------------------------+----+----+--+-----+---------------------+--------------\             ||       |                      |    
       | | /-+-----------------------------+----+----+--+-----+----------------\  /-+--------------+-------------++-------+-----\                |    
       | | | |     /-----------------------+----+----+--+--\  |                |  | |             /+-------------++-------+-----+\               |    
       | | | |     |                       |    |    |  |  |  |                |  | |     /-------++-------<-----++-------+-----++--\            |    
   /---+-+-+-+-----+---------------\       |  /-+----+--+--+--+----------------+--+-+-----+-------++-------------++-------+-----++--+------------+\   
   |   | | | |     |               |      /+--+-+----+--+--+--+----------------+--+-+-----+-------++-------------++-------+-----++--+------------++--\
   |   | | | |     |               |      ||  | |   /+--+--+--+---------\ /----+--+-+-----+-------++-------------++--\    |     ||  |            ||  |
   |   | | | |     |               |      ||  | |   ||/-+--+--+---------+-+----+--+-+-----+-------++-------------++--+----+---\ ||  |            ||  |
   |   | | | |     |               |      ||  | |   |\+-+--+--+---------+-+----+--+-/     |       ||             ||  |    |   | ||  |            ||  |
   | /-+-+-+-+-----+---------------+------++--+-+---+-+\|  |  |         | |/---+--+-------+-------++-----------\ ||  |    |   | ||  |            ||  |
   | | | | | |     |  /----------\ |      ||  | |   | |||  |  |         | v|   |  |       |       ||           | ||  |    |   | ||  |            ||  |
   | | | | | |     | /+----------+\|      ||  | |   | |||  |  |        /+-++---+--+-------+-------++-----------+-++-\|    |   | ||  |            ||  |
   | | | | | \-----+-++----------+++------++--+-+---+-++/  |  |/-------++-++---+--+-------+-------++---\       | || ||    |   | ||  |            ||  |
   | | | | |     /-+-++----------+++------++--+-+---+-++---+--++-------++-++---+--+---\   |       ||   |       | || ||    |   | ||  |            ||  |
   | | | | |     | | ||          |||      ||  | |   | || /-+--++-----\ || ||   |  |   |   |       ||   |       | || ||    |   | ||  |            ||  |
   | | | | |     | | ||         /+++------++--+-+---+-++-+-+--++-----+-++-++---+--+---+---+-\     ||   |       | || ||    |   | ||  |            ||  |
   | | | | |     | | ||     /---++++-\ /--++--+-+---+-++-+-+--++-----+-++-++---+--+---+---+-+-----++---+-------+-++-++----+---+-++--+------------++\ |
   | | | | |     | | ||     |   |||| | |  ||  | |   | || | |  ||     | || ||   |  |   |   | |     ||   |       | || ||    |/--+-++--+----------\ ||| |
   | | | | |     | | || /---+---++++-+-+--++-\| |   | || | |  ||     | ||/++---+->+---+---+-+-\   ||   |       | || ||    ||  | ||  |          | ||| |
   | | | | |     | | || |   |   |||| | |  || || |   | || | |  ||/----+-+++++---+--+---+---+-+-+---++---+-------+-++-++----++--+-++--+-----\    | ||| |
   | | | | |     | | || |   |   |||| | |  || || |   | || | |  |||    | \++++---+--+---+---+-+-+---++---+-------+-++-/|    ||  | ||  |     |    | ||| |
   \-+-+-+-+-----+-+-++-+---+---+++/ | |  \+-++-+---+-++-+-+--+++----+--++++---+--+---+---+-+-+---++---+-------+-++--+----++--+-++--+-----+----+-+++-/
   /-+-+-+-+-----+-+-++-+---+---+++--+-+---+-++-+---+-++-+-+--+++----+--++++---+--+---+---+-+-+---++---+-\     | ||  |    ||  | ||  |     |    | |||  
   | | | | |     | | || |   |   |||  | |   | || |   | || | |/-+++----+--++++---+--+---+---+-+-+---++---+-+-----+-++--+---\||  | ||  |     |    | |||  
   | | | | |     | | || |   |   ||| /+-+---+-++-+---+-++-+-++-+++----+--++++---+--+---+---+-+-+---++---+-+-----+-++--+---+++--+-++--+---\ |    | |||  
   | | | | |     | | || |   |   ||| || |  /+-++-+---+-++-+-++-+++----+--++++---+--+---+---+-+-+---++---+-+-----+-++--+---+++--+-++--+\  | |    | |||  
   | | | | |     \-+-++-+---+---+++-++-+--++-++-+---+-++-+-++-+++----+--++++---+--+---/   | | |   ||   | | /---+-++--+---+++--+-++--++--+-+---\| |||  
   | | | | |       |/++-+---+---+++-++-+--++-++-+---+-++-+-++-+++----+--++++---+--+-----\ | | |   \+---+-+-+---+-++--+---+++--+-+/  ||  | |   || |||  
   | |/+-+-+-------++++-+--\|   ||| || |  |\-++-+---+-++-+-++-+++----+--++++---+--+-----+-+-+-+----+---+-+-+---+-++--+---+/|  | |   ||  | |   || |||  
   | ||| | |    /--++++-+--++---+++-++-+--+--++-+---+-++-+-++-+++----+--++++---+--+-----+-+-+-+----+-\ | | |   | ||  |   | |  | |   ||  | |   || |||  
   | ||| | |    |  |||| |  ||   ||| || |  |/-++-+---+-++-+-++-+++----+--++++---+--+-----+-+-+-+----+-+-+-+-+---+-++--+---+-+--+-+---++--+-+---++-+++\ 
   | ||| | |    |  |||| |  ||   ||| || |  || || |  /+-++-+-++-+++----+--++++---+--+-----+-+-+-+-\  | | | | |   | ||  |   | |  | |   ||  | |   || |||| 
   | ||| | |    |  |||| |  ||   ||| || |  || || |  || || | || |||/---+--++++---+--+-----+-+-+-+-+--+-+-+-+-+---+-++-\|   | |  | |   ||  | |   || |||| 
  /+-+++-+-+----+--++++\|  ||   ||| || |  || || |  || || | || ||||   |  ||||/--+--+-----+-+-+-+-+--+-+-+-+-+---+-++-++---+-+--+-+-\ ||  | |   || |||| 
 /++-+++-+-+----+--++++++--++---+++-++-+--++-++-+--++-++-+-++-++++---+--+++++--+--+-----+-+-+-+-+--+-+-+\| |   | || ||   | |  | | | ||  | |   || |||| 
 ||| ||| | |    |  ||||||  ||   ||| || |/-++-++-+--++-++-+-++-++++---+--+++++--+--+-----+-+-+-+-+--+-+-+++-+--\| || ||   | |  | | | ||  | |   || |||| 
/+++-+++-+-+---\|  ||||||  ||   ||| || || || || |  || || |/++-++++---+--+++++--+--+-----+-+-+-+-+--+-+-+++-+--++-++-++---+-+--+-+-+-++--+-+---++\|||| 
|||| ||| | |   ||  ||||||  ||/--+++-++-++-++-++-+--++-++-++++-++++---+--+++++--+--+-----+-+-+-+-+-\| | ||| |  || || ||   | |  | | | ||  | |   ||||||| 
|||| ||| | |   ||  |||||| /+++--+++-++-++-++-++-+--++-++-++++-++++---+--+++++--+--+-----+-+-+-+-+-++-+-+++-+--++-++\||   | |  | | | ||  | |   ||||||| 
|||| ||| | |   ||  |||||| ||||  ||| || ||/++-++-+--++-++-++++-++++---+--+++++--+--+-----+-+-+-+-+-++-+-+++-+--++-+++++---+-+--+-+-+-++--+-+\  ||||||| 
|||| ||| | |   ||  |||||| ||||  ||| || ||||| || |  || || |||| ||||   |  |||||  |  |     | | | | | || | ||| |  || |||||   | |  | | | ||  | ||  ||||||| 
|||| ||| | |   ||  |||||| ||||  ||| || ||||| || |  || || |||| ||||/--+--+++++--+--+-----+-+-+-+-+-++-+-+++-+--++-+++++---+-+--+-+-+-++\ | ||  ||||||| 
|||| ||| | |   ||  |||||^ ||||  ||| || ||||| || |  || || |||| |||||  |  ||\++--+--+-----+-+-+-+-+-++-+-+++-+--++-++++/   | |  | | | ||| | ||  ||||||| 
|||| ||| | |   ||  |||||| ||||  ||| || ||||| || |  || || |||| |||||  |  || ||  |  |     | | | | | || | ||| |  || ||||    | |  | | | ||| | ||  ||||||| 
|||| ||| | |   ||  |||||| ||||  ||| || ||||| || |  || || |||| |||||  |  || ||  |  |     | |/+-+<+-++-+-+++-+--++-++++----+-+--+-+-+\||| | ||  ||||||| 
|||| ||| | |   ||  |||||| ||||  ||| ||/+++++-++-+--++-++-++++-+++++--+--++-++--+--+\    | ||| |/+-++-+-+++-+\ || ||||    | |  | | ||||| | ||  ||||||| 
|||| ||| | | /-++--++++++-++++\ ||| ||||||||/++-+--++-++-++++-+++++--+--++-++--+--++-\  | ||| ||| || | ||| || || ||||    | |  | | ||||| | ||  ||||||| 
|||| ||| | | | ||  ||\+++-+++++-++/ ||||||||||| | /++-++-++++-+++++--+--++-++--+--++-+--+-+++-+++\|| | ||| || || ||||    | |  | | ||||| | ||  ||||||| 
|||| ||| | | | ||  || ||| ||||| ||  ||||||||||| | ||| || |||| |||||  |  || ||  |  || |  | ||| |||||| | ||| || || ||||    | |  | | ||||| | ||  ||||||| 
|||| ||| | | | ||  || ||| ||||| ||  ||||||||||| | ||| || |||| |||||  |  || \+--+--++-+--+-+++-++++++-+-+++-++-+/ ||||    | |  | | ||||| | ||  ||||||| 
|||| ||| | | | ||  || ||| ||||| ||  ||||||||||| | ||| || |||| |||||  |  ||  |  |  || |  | ||| |||||| | ||| || |  ||||    | |  | | ||||| | ||  ||||||| 
|||| ||| | | | ||  || |||/+++++-++--+++++++++++-+-+++-++-++++-+++++--+--++--+--+--++-+--+-+++-++++++-+-+++-++-+-\||||    | |  | | ||||| | ||  ||||||| 
|||| ||| | | | ||  || \++++++++-+/  ||||||||||| | ||| || |||\-+++++--+--++--+--+--++-+--+-+++-++++++-+-+++-++-+-+++++----/ |  | | ||||| | ||  ||||||| 
||\+-+++-+-+-+-++--++--/||||||| |   ||||||||||| | ||| || |||  \++++--+--++--+--+--++-+--+-+++-++++++-+-+++-++-+-+++++------+--+-+-+++++-+-++--+++/||| 
|| |/+++-+-+-+\||  |\---+++++++-+---+++++++++++-+-+++-++-+++---++++--+--++--+--+--++-+--/ ||| |||||| | ||| || | |||||      |  | | ||||| | ||  ||| ||| 
|| ||||| | | ||||  |    ||||||| |   ||||||||||| | ||| || |||   ||||  |/-++--+--+--++-+\   ||| |||||| | ||| || | |||||      |  | | ||||| | ||  ||| ||| 
|| |||\+-+-+-++++--+----+++/||| \---+++++++++++-+-+++-++-+++---++++--++-++--+--+--++-++---++/ |||||| | ||| || | |||||      |  | | ||||| | ||  ||| ||| 
|| ||\-+-+-+-++++--+----+++-+++-----+++++++++++-+-+++-+/ |||   |||| /++-++--+--+--++-++---++\ |||||| | ||| || | |||||      |  | | ||||| | ||  ||| ||| 
|| ||  | | | ||||  |    ||| |||     ||||||||||| | ||| |  |\+---++++-+++-++--+--+--++-++---+++-++++++-+-+++-++-+-+++++------+--+-+-+++++-+-++--++/ ||| 
|| ||  | | | ||||  |    ||| |||     ||||||||||| | ||| |  | |   ||\+-+++-++--+--+--++-++---+++-++++++-+-+++-++-+-++++/      \--+-+-+++++-+-++--+/  ||| 
|| ||  | | | ||||  |    ||| |||     |v||||||||| | ||| |  | |   || | ||| ||  |  |  || ||   ||| |||||| | ||| || | ||||          | | ||||| | ||  |   ||| 
|| ||  | | | ||||  |    ||| |||     ||||||||||| | ||| |  \-+---++-+-+/| ||  |  |  || ||   ||| |||||| | ||| || | ||||          | | ||||| | ||  |   ||| 
|| ||  |/+-+-++++--+\   ||| |||     ||||||||||| | ||| |    |   \+-+-+-+-++--+--+--++-++---+++-++++++-+-/|| || | ||||          | |/+++++-+-++--+-\ ||| 
|| ||  ||| |/++++--++---+++-+++-----+++++++++++-+-+++-+----+----+-+-+-+-++--+--+--++-++---+++-++++++-+-\|| || | ||||          | ||||||| | ||  | | ||| 
|| ||  ||| ||||||  ||   ||| |||     ||||||||||| |/+++-+----+----+-+-+-+-++--+--+--++-++-\/+++-++++++-+-+++-++-+-++++----------+-+++++++-+-++--+-+\||| 
\+-++--+++-++++/|  ||   ||| |||     ||||||||||| ||||| |    |    | | | | ||  |  |  ||/++-+++++-++++++-+-+++-++-+-++++----------+-+++++++-+-++\ | ||||| 
 | ||  ||| |||| |  ||   ||| |||     ||||||||||| ||||| |    |    | | | | ||  |  |  ||||| ||||| |||||| | ||| || | ||||  /-------+-+++++++-+\||| | ||||| 
 |/++--+++-++++-+--++---+++-+++---\ ||||||||||| ||||| |   /+----+-+-+-+-++--+--+--+++++-+++++-++++++-+\||| || | ||||  |       | ||||||| ||||| | ||||| 
 ||v|  ||| |||| |  || /-+++-+++---+-+++++++++++\||||| |   ||    | | | | ||  |  |  ||||| |||||/++++++-+++++-++-+-++++--+-------+-+++++++-+++++-+\||||| 
 |||v  ||| |||| |  || | ||\-+++---+-+++++++++++++++++-+---++----+-+-+-+-++--+--+--+++++-++++++++++++-+++++-++-+-+++/  |       | ||||||| ||||| ||||||| 
 ||||  ||| |||| |  || | ||  |||   |/+++++++++++++++++-+---++----+-+-+-+-++--+--+--+++++-++++++++++++-+++++-++-+-+++---+-------+-+++++++\||||| ||||||| 
 |||\--+++-+++/ |  || |/++--+++---+++++++++++++++++++\|   ||    | | | | ||  |  |  ||||| |||||||\++++-+++++-+/ | |||   |       | ||||||||||||| ||||||| 
 |||   ||| |||  |  || ||||  |||   |||||\+++++++++++++++---++----+-+-+-+-++--+--+--+++++-+++++++-++++-+++++-+--+-+++---+-------+-+++++++++++++-+++++/| 
 |||   ||| |||  |  || ||||  |||/--+++++-+++++++++++++++---++----+-+-+-+-++--+--+--+++++-+++++++-++++-+++++\|  | |||   |       | ||||||||||||| ||||| | 
 |||   ||| |||  |  || |||| /++++--+++++-+++++++++++++++---++----+-+-+-+-++--+--+-\||||| ||||||| |||| |||||||  | |||   |       | ||||||||||||| ||||| | 
 |||   ||| |||  |  || |||| |||||  ||||| |||||||||||\+++---++----+-+-+-+-++--+--+-++++++-+++++++-/||| |||||||  | |||   |       | ||||||||||||| ||||| | 
 |||   ||| |||  |  || |||| |||||  ||||| |||||||||||/+++---++----+-+-+-+-++--+--+-++++++-+++++++--+++-+++++++--+-+++---+----\  | ||||||||||||| ||||| | 
 |||   ||| |||  |  || |||| |||||  ||||| |||||||||||||||   ||    | | | | ||  |  | |||||| |||||||  ||| |||||||  | |||   |    |  | ||||||||||||| ||||| | 
 |||   ||| |||  |  || |||| |||||  ||||| |||||||||||||||   ||    | | | | ||  |  | |||||| |||||||  ||| |||||||  | |||   |    |  | ||||||||||||| ||||| | 
 |||   ||| |||  |  || |||| |||||  ||||| ||||||||||||||\---++----+-+-+-+-++--+--+-++++++-+++++++--+++-+++++++--+-+++---+----+--/ ||||||||||||| ||||| | 
 |||   ||| |||  |  || |||| |\+++--+++/| ||||||||||||||    ||    | | | | ||  |  | |\++++-+++++++--+++-+++++++--+-+++---+----+----/|||||||||||| ||||| | 
 |||   ||| |||/-+--++-++++-+-+++--+++-+-++++++++++++++----++----+-+-+-+-++--+--+-+-++++-+++++++--+++-+++++++--+-+++---+-\  |     |||||||||||| ||||| | 
 |||   ||| |||| |  || |||| |/+++--+++-+-++++++++++++++----++----+-+-+-+-++--+--+-+-++++-+++++++--+++-+++++++--+-+++---+-+--+---\ |||||||||||| ||||| | 
 |||   ||| |||| |  || |||| |||||  ||| | ||||||||||||||/---++----+\| | | ||  |  | | |||| |||||||  ||| |||||||  | |||   | |  |   | |||||||||||| ||||| | 
 |||   ||| ||\+-+--++-++++-+++/|  ||| |/+++++++++++++++\  ||    ||| | | ||  |  | | |||| |||||||  ||| |||||||  | |||   | |  |   | |||||||||||| ||||| | 
 |||   ||| || | |  ||/++++-+++-+--+++-++++++++++++++++++--++----+++-+-+-++--+--+-+-++++-+++++++--+++-+++++++--+-+++-\ | |  |   | |||||||||||| ||||| | 
 |||   ||| || | |  ||||||| ||| |  ||| ||||||||||||||||||  ||    ||| | | |\--+--+-+-++++-++++++/  ||| |||||||  | ||| v | |  |   | |||||||||||| ||||| | 
 |||   ||\-++-+-+--+++++++-+++-+--+++-++++++++++++++++++--++----+++-+-+-+---+--+-+-++++-++++++---++/ |||||||  | |||/+-+-+--+---+-++++++++++++-+++++\| 
 |||   || /++-+-+--+++++++-+++\|  |\+-++++++++++++++++++--++----+++-+-+-+---+--+-+-++++-++++++---++--+++++++--+-+++++-+-+--+---+-++++++/||||| ||||||| 
 |||   || ||| | |  ||||||| |||||  | | |||||||||||\++++++--++----+++-+-+-+---+--+-+-++++-/||v||   ||  |||||||  | ||||| | |  |   | |||||| ||||| ||||||| 
 |||   || ||| | |  ||||||| |||||  | | ||||||||||| ||\+++--++----+++-+-+-/   |  | | ||||  |\+++---++--+++++++--+-+++++-+-+--+---+-+++/|| ||||| ||||||| 
 \++---++-+++-+-+--+++++++-+++++--+-+-+++++++++++-++-+++--++----+++-+-+-----+--+-+-++++--+-+++---++--+++/|||  | ||||| | |  |   | ||| || ||||| ||||||| 
  ||   || ||| | |  ||||||| |||||  | | ||||\++++++-++-+++--++----+++-+-+-----+--+-+-++++--+-+++---++--+++-+++--+-+++++-+-+--+---+-+++-/| ||||| ||||||| 
  ||   || |\+-+-+--+++++++-+++++--+-+-++++-++++++-++-+++--++----+++-+-+-----+--/ | ||||  | |||   ||  ||| |^|  | ||||| | |  |   | |||  | ||||| ||||||| 
  ||  /++-+-+-+-+\/+++++++-+++++--+-+-++++-++++++-++-+++--++----+++-+-+-----+----+-++++--+-+++---++--+++-+++--+-+++++-+-+\ |   | |||  | ||||| ||||||| 
  ||  ||| | | | |||||||||| |||||  | | |||| |||||| || |\+--++----+/| | \-----+----+-+++/  | \++---++--+++-+++--+-+++++-+-++-+---+-++/  | ||||| ||||||| 
  ||  |^| | |/+-++++++++++-+++++--+\| |||| |||||| || | |  ||    | | |       |    | |||   |  ||   ||  ||| |||  | ||||| | || |   | ||   | ||||| ||||||| 
  ||  ||| | ||| |||||||||| ||||\--+++-++++-++++++-++-+-+--++----+-+-+-------+----+-+++---+--++---++--+++-+/|  | ||||| \-++-+---+-++---+-+/||| ||||||| 
  ||  ||| | ||| |||||||||| ||||   ||| |||| |||||| || | |  ||/---+-+-+-------+----+-+++---+--++---++-\||| | |  | |||||   || |   | ||   | | ||| ||||||| 
  ||  ||| | ||| |||||||||| ||||   ||| |||| |||||| || | |  |||   \-+-+-------+----+-+++---+--++---++-++++-+-+--+-+++++---++-+---+-++---+-+-/|| ||||||| 
  ||  ||| | ||| |||||||||| |\++---+++-++++-++++++-++-+-+--+++-----+-+-------+----+-+++---+--++---++-++++-+-+--+-+++++---++-+---/ ||   | |  || ||||||| 
  ||  ||| | ||| |||\++++++-+-++---+++-++++-++++++-++-+-+--+/|     | |       |    | |||   |  ||   || |||| | |  | |||||   || |     ||   | |  || ||||||| 
  ||  |\+-+-+++-+++-++++++-+-++---+++-++++-++++++-++-+-+--+-+-----+-+-------+----+-+++---+--++---++-++++-+-+--+-+/|||   || |     ||   | |  || ||||||| 
  ||  | | | ||| ||| |||||| | ||   ||| |||| |||||\-++-+-+--+-+--<--+-+-------+----+-+++---+--++---++-++++-+-+--+-+-/||   || |     ||   | |  || ||||||| 
  ||  | | | ||| ||| |||||| | ||   ||| \+++-+++++--++-+-+--+-+-----+-+-------+----+-/||   |  ||   || |||| | |  | |  ||   || |     ||   | |  || ||||||| 
  ||  | | | |||/+++-++++++\| ||   |||  |\+-+++++--++-+-+--+-+-----+-+-------+----+--++---+--++---++-++++-+-+--/ |  ||   || |     ||   | |  || ||||||| 
  ||  \-+-+-+++++/| ||||\+++-++---+++--+-+-++/||  || | |  | |     | |       |    |  ||   |  ||   || |||| | |    |  ||   || |     ||   | |  || ||||||| 
  ||    | | ||||| | |||| ||| ||   |||  | | |\-++--++-+-+--+-+-----+-+-------+----+--+/   |  ||   || |||| | |    |  ||   || |     ||   | |  || ||||||| 
  \+----+-+-+++++-+>++++-+++-++---/||  | | \--++--++-+-+--+-+-----+-+-------+----+--+----+--++---++-++++-+-+----+--++---++-+-----++---+-+--++-++++++/ 
   |    | \-+++++-+-++++-+++-+/    ||  | |    \+--++-+-+--+-+-----+-+-------+----+--+----+--++---++-++++-+-+----+--++---++-+-----++---+-+--++-++++/|  
   |    |   |||||/+-++++-+++-+-----++--+-+-----+--++-+-+--+-+--\  | |       \>---+--+----+--++---++-++++-+-+----+--++---++-+-----+/   | |  || |||| |  
   |    | /-+++++++-++++\||| |     ||  | |     |  || | |  | |  |  | |            |  |    |  ||   || |||| | \----+--++---++-+-----+----+-+--++-/||| |  
   |    | | ||||||| |||||||| |     ||/-+-+-----+--++-+-+--+-+--+--+-+------------+--+----+--++---++-++++-+------+--++---++-+\    |    | |  ||  ||| |  
   |    | | ||||||| |||||||| |     ||| | |     |  || | |  | |  |  | |            |  \----+--++---++-++++-+------+--++---++-++----+----+-+--+/  ||| |  
   |    | | ||||||| |||||||| |  /--+++-+-+-----+--++-+-+--+-+--+--+-+------------+----\  |  ||   || |||| |      |  ||   || ||    |    | |  |   ||| |  
   |    | | ||||||| |||||||| |  |  |\+-+-+-----+--++-+-+--+-+--+--+-+------------+----+--+--++---++-++++-+------+--++---++-++----+----+-/  |   ||| |  
   \----+-+-+++++++-++++++++-+--+--+-+-+-+-----+--++-+-+--+-+--+--+-+------------+----+--+--++---++-++++-/  /---+--++--\|| ||    |    |    |   ||| |  
        | | ||||||| |||||||| |  |  | | | |     |  || | |  | |  |  | |            |    |  |  ||   || ||||    |   |/-++--+++-++----+----+--\ |   ||| |  
        | | ||||||| |||||||| |  |  | | | |   /-+--++-+-+--+-+--+--+-+------------+----+--+--++---++-++++---\|   || ||  ||| ||    |    |  | |   ||| |  
        | | ||\++++-++++++++-+--+--+-+-+-+---+-+--++-+-+--+-+--+--+-+------------+----+--+--++---++-++++---++---++-++--+/| ||    |    |  | |   ||| |  
        | | || |||| |||\++++-+--+--+-+-+-+---+-+--++-/ |  | |  |  | |            |    |  |  ||   || ||||   ||   || ||  | | ||    |    |  | |   ||| |  
        | | || |\++-+++-++++-+--+--+-+-+-+---+-+--++---+--+-+--+--+-+------------+----+--+--++---++-+/||   ||   || ||  | | ||    |    |  | |   ||| |  
        | | || | || ||| |||| |  |  | | | |   | |  ||   |  | |  |  | |            |    |  |  ||   || | ||   ||   || ||  | | ||    |    |  | |   ||| |  
        | | || | || ||| |||| |  |  | | | \---+-+--++---+--+-+--+--+-+------------+----+--+--++---++-+-++---++---++-++--+-+-++----+----+--+-/   ||| |  
        | | || | \+-+++-++++-+--+--+-+-+-----+-+--++---+--+-+--/  | |            |    |  |  ||   || | ||   ||   || ||  | | ||    |    |  |     ||| |  
        | | || |  | ||| |||| |  \--+-+-+-----+-+--++---+--+-+-----+-+------------+----/  |  ||   || | || /-++---++-++--+-+-++----+--\ |  |     ||| |  
        \-+-++-+--+-/|| |||| |     | | |     | |  ||   |  | |     | |       /----+-------+--++---++-+-++-+-++-\ || \+--+-+-++----+--+-+--+-----+++-/  
          | || |  |  || |||| |     | | \-----+-+--++---/  | |     | |       |    |       |  ||   || | || | || | ||  |  | | ||    |  | |  |     |||    
          | || |  |  \+-++++-+-----+-+-------+-+--++------+-+-----+-+-------+----+-------+--++---++-+-++-+-++-+-++--/  | | ||    |  | |  |     |||    
          | || |  |   | |||| |     | \-------+-+--++------+-+-----+-+-------+----+-------+--++---++-+-++-+-++-+-++-----+-+-+/    |  | |  |     |||    
          | || |  |   | |||| |     |         \-+--++------+-+-----+-+-------+----+-------+--++---++-+-++-+-/| | ||     | | |     |  | |  |     |||    
          | || |  |   | |\++-+-----+-----------+--++------+-+-----+-+-------+----+-------+--++---++-+-++-+--+-+-/|     | | |     \--+-+--+-----+/|    
          | \+-+--+---+-+-++-+-----+-----------+--++------+-+-----+-+-------+----+-------+--++---++-+-+/ |  \-+--+-----/ | |        | |  |     | |    
          |  | |  \---+-+-++-+-----+-----------+--++------+-+-----+-+-------+----+-------+--++---++-+-+--+----+--+-------/ |        | |  |     | |    
          \--+-+------+-/ || \-----+-----------+--++------+-+-----+-+-------+----+-------+--++---+/ | |  \----+--+---------+--------/ |  |     | |    
             | |      |   ||       |           |  ||      \-+-----+-+-------+----+-------+--++---+--+-/       |  \---------+----------+--/     | |    
             | |      |   ||       |           |  ||        |     | \-------+----+-------+--/|   |  |         |            |          |        | |    
             | |      |   ||       |           |  ||        \-----+---------+----+-------+---+---+--/         |            |          |        | |    
             \-+------+---++-------/           |  ||              |         |    |       |   |   |            |            |          |        | |    
               |      |   ||                   |  |\--------------+---------+----+-------+---+---+------------+------------/          |        | |    
               \------+---/|                   |  |               |         |    |       |   \---+------------+-----------------------+--------/ |    
                      |    |                   |  |               \---------+----+-------+-------+------------+---------<-------------/          |    
                      \----+-------------------/  \-------------------------+----+-------+-------/            |                                  |    
                           \------------------------------------------------+----/       \--------------------+----------------------------------/    
                                                                            \---------------------------------/                                       
