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