__________________________________________________________________________
|\                                                                      /|
| \                                                                    / |
|  \                                                                  /  |                                                                    |
|   \________________________________________________________________/   |
|~~~~|~~~~~~~~~~~~~~~~~~///~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~|
|~~~~|~~~~~~~~~~~~~~~rr((({~~~////~~~~~~~~~~~~>}}i~~~~~~~~~~~\\\~~~~|~~~~|
|~~~~|~~~~~~~~~~~~~RRR((({{{<<<--~~~~~~~~~~~~~~~~~~~~~\\\~~~~})))mm~~~~~~|
|~~~~|~~~~~~~~~~~~~~~rr((({~~~\\\\~~~~~~~~~~~~~~~~~~~~~-->>>}}})))MMM~~~~|
|~~~~|~~~~>)))m~~~~~~~~~\\\~~~~~~~~~q({(<~~~~~~~~~~~~~///~~~~})))mm~|~~~~|
|~~~~|~~~~~~~~~~~~~~~~~~~~~~~~///~~~~~~~~~u(((<~~~~~~~~~~~~~~///~~~~|~~~~|
|~~~~|~~~~~~~~~~a{((<~~~~~~aa((({~~~////~~~~~~~~~~~~~~~~~~~~~~~~~~>}}}a~~|
|~~~~|~~~~~~~~~~~~~~~~~~~AAA((({{{<<<--~~~~~~~~~~~q{{{<~~~~~~~~~~~~~|~~~~|
|~~~r{((< ~~~~~~~~~~~~~~~~~aa((({~~~\\\\~~~~~~~~~~~~~~~~~~>}}i~~~~~~|~~~~|
|~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~\\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~|
|~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~|
|~~>)))a~~~~~~~~~~~~~~~~>}}i~~~~~~~~~~~~~~~~~~~~~~~~~~\\\~~~~~~~~~~~|~~~~|
|~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\\~~~~})))qq~~~~~~~~|~~~~|
|~~~~|____a{((<_________________________________-->>>}}})))QQQ______|~~~~|
|~~~/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~///~~~})))qq~~~~~~~~~~\~~~|   
|~~/~~~~~~~~~~~~~~>})}m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~///~~~~~~~~~~~~~\~~|  
|~/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a{((<~~~~~~~~~~~~~~~~~~~~~~~~~~>)))u~| 
|/______________________________________________________________________\|