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