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