.    +:
                                                     #     #`
                                                     #     ,;
                                                     #     .#
                                                     #                                                       `
                                                     #+                                                     `                `
                                                     #;                                                     `` :::,.,,::::.`` .
                                                                                                         `::```:::::::::::::`
                                                                                                       ,,``...`.` ,+'';::,,,`` :,`
                                                        `;                                           ,',``.`.`````;++++  ``,..`::,,`
                                                         ;#`                                     ` .''+'+'```.:::::;'+++```...:,,::,.
                                                          `'                                    ``'''+'::, `:::::,,,,,;;;;`...``:,:::.
                                                                                               `:'+':,,:.,::::::::::::.;;:,``..` :,,::,.
                                                         +`                                   `;+;::,,:.,:::::::::::::,.;;:``:.`  ':,::,.
                                                         #`                                 ` ;;,::,,:.,::::::,,:::::::,:;;``:,,'+++::,:,.`
                                                         #;;                               ` ;,,::,,:.,::::::,,,:::::::,.;; :::,,:+++: `:,.`
                                                         ;`:#                               :.,,:,,,:.::::::,,,,::::::::`;';::::,,,'++  ::,.`
                                                           .+                               .,,,,,,:.:::::,:,,,,::::::::.:;';:::,,,,;+ `.::,.`
                                                          `#`                             `.,,,,,,:`:::::,,,,.,,::,,::::,:;'':,,,,,,,:,..``` .
                                                        `++                              ``,,,,,,:.,:,::,,,,..,::,,,::::,:':';,,,,,.``....`.:,.
                                                                                         `,,,,,,,:.,,,::,.,...,:,,,,::::.:':;',,,,` `..``,,,,,;,.
                                                                                        `.,,,,,,:`,,,,:,......,:,,,,:::,`;;::';,,,,``.,,``:,,::`,
                                                                                       `.,,,,,,,,.,,,:,,.....,,,,,,,:::,,;;::;':,,...,.,```,,;,,.:
                                                             .`                       ``,,,,,,,:`,,.,,,......,,,.,,,,:,.;;;:::';.,..:,',.  ,.:.,.:
                                                           .+.#                       `..,,,,,,,.,,.,,.......,,...,,,,,,;;,:';;;:...;;.::...,....`:
                                                              #                      `.,,,,,,,:`,,..,,.......,.....,,,.::,..,,:';`,;'..`,;..:....`;
                                                             `#                     ``,.,.,,,,:`....,........,.....,,,::,....,,:;'':'````.;`;..`.,:;;`
                                                             '`                     `,.....,,:........................:,,.....,;;:`.';:.``.,;``,;. , ;
                                                             ,                     ..,.....,,:`......................,;..```.;:,,:.`,.`,;,`:;,;;`` ``,
                                                                                   `,......,,:`....................``::...`::``.,:, ``:';::;':```   .``
                                                                                  ..........,.`````..`..........`.``,:...```````.,:`  ```;:`',',````...
                                                             `                    `,..````..,````````````.....``````,;..`````````.:,   `;`,`'..:,;:.`,.
                                                             '.                  .`..`````.., ````````````....`````.,,.`````  ````,:  `;``,.:;``;````.`
                                                             ',                  `. ```````.: `````````````.````` `,:..```  ` ````,: `;```.;,:```:```.`.
                                                             :;                  `,` ``````., ``````````````````  .,:.,,,,,,,,..``.,`:````.:.:.``..```` `
                                                             .+                 ....```````.` ````````````..```  `,,:,.`      .```.,.,,```;,`;;```:``  `.
                                                              #                 .. . ``````,   `````````....```` ,,,.``        .`.`:,`,;..,,`':`,;.```  `
                                                              #` ,`             `, ` ``````,  `````````.......```,,:.``        `...::`..,:`:`;,,``````` `.
                                                              ,##:              .,  ```````, ````````..........`.:,:.``         ``:::.....`:`;`:```````  `
                                                               `               `.` ````````:```.`..............`,::,``          `  ,:.,,...:.:`;```````  .`
                                                                               `. ````````.:``..................:::.````            `.,,,,.:.:.,```````   .
                                                                .+             `, ```````..:`..`..........,,....;::.`.              `.,,,,,:,:...``````   .
                                                                 `'            `, ``````...:..,`..,,,,,,,,,,,,..::;.```.;'++':`     `,,,,,,:,:..,``.```   .
                                                                # .+           `: ```......:..:`,,,,,,,,,,,,,,,,:;;``:;''++####+.   `,,::,,;::..:.`.```   .
                                                                .#':`          `: ``.......:.,;`,,,,,,,,,,,,,,,,,;:`:;';+''++++##;  `,,::::;:;..;..,```   .
                                                                ;+'             : ``......,;,,;.,,,,,,,,,,,,,,,:.;:`.:., `++++++:+; .:.::::;:;..:..,..`   .
                                                               :, #,            :  .......,;;,;.,,,,,,,,,,:,,,,:.;,`` `,  ++++++;,+`,;.::::,:;,,,..,..`  ,.
                                                                  ``            :  .....,.,;;,;.,:,,,,,,,,;,,,,;.;,``  ;`;+'+'++:.'.:,,:::,`.;,,,,,,... ,,`
                                                                                   ..,..,,,;;::.,:,,,,,,,,;,,,,;`;,`   ,'';:';'',`'`;.::::.. ',,,;:,..,,,.
                                                                    ;              ,,,,,,,,;;;:,:;,,,,,,,,;:,,,;`:,`   `;:;:,:`; .`:`.:::;.,`',,,::;::,,`
                                                                    .;             `,,,,,,,:;;:,:;,,,,,,,,;;,,,:`.,`    '.`..` .`````.:::;.`,',,,::,.`
                                                                   `:##,            ,,,.,,,:;;,.::,,,,,,,,;,,,,:``:   ```:```,````` .,::;.. :;,,,:`,.`
                                                                  ;'`#`             .:,.,,,:;;,,:.,,,,,,,,;`,,,:``.   ``````````  ``.:,..,`;:;,,,: ,..
                                                                     '##+            :`,,,:,;;,.:`:,,,,,,,;``,,`       `````````````` .`. ,;:;,,,:`..`
                                                                   '#;;              , ,,:::;;,.,.,,,,,,,:`````        ````````````` `..`:;::;,,....`
                                                                   ` .'`               ,,::::;:...`,,,,.````.`         `````````` `` ```:;;::;,,`.,.`
                                                 `                  :#''+               ,::::;;..,````````````         `````````` ``.;;;,;::::,. `.`
                                                ``.                 ##`                 ,,:::;;:..```````````          ``````````  `;;:,;;,:,:,` `.`
                                              `` ..                 `                    ,::::;;;..``````````          ` ````````  ;;:,,::::,,. `,`
                                             .` ...                                      `,:::;;;;;``````````            ```````  ,;;,.::,,,,```:`
                        .`                  .  `.`.`                      `               :,:::;:;;`````````                   ` `:::.:::,,,.`,,.
                       ``...               `   .``.`                      #.              .:,:,:::::```````    .`              `.:::.,,,.,,..:,`
                       ,`..,.`    ``...``       ....                  :,  ':`,:           `;:,,,::::`  ``     `..`              ,,,,,,.,...`  `
                       .`....,```                  ``                 ;: `'#'`             ;:,,,,.,,,          ``             `,,,........`
                      ` `.....                      ``                :+#'.#               :: ....`,,.                      `.,.........``
                      . ....                          `              :#+   #               ,:  `... ,..                    `::......`.``
                      , ..                            ``             . #   `               `:    ``` ...`                `,..,....`````
                      . .                              `               #     ,              :       ` `...`            `..```....` ``
                      `                                 .              #.  ,#               ,,          ````..        ....```..`
                     ``                                                .#+#,                 ,,`          `  ..:.` `,....````.
                     ,`                      +`          .`                                                   .,`.......`````..`
                     .               ,       .  ,..       .                                                    ,```.....`````,..`        `....``.
                    .``             ,#   ,+     ``      `..                                                   .,```.....```.,..... `...,:,,````` ``
                    ,``           `       :            ....`                ,.                               `.,```.......:,,.....,...,,;..``      .
                    :.`          ,.`      ...       `......`                `#                               ..,`......,,,,,,,........,.:.,``       `
                    ,.``          `     ``       `.,........                 #.                             ....,..:,,,,,,,,,,,.,,.....,...`         `
                    ,..``                    `.,,,,..... ...                 ,+                             ...,,,,,,,,,,,,,,,,,,,,.`..;..``          `
                   `:,.```              `,::,,,,,,,.,.   ..,                  #                           `.,.,:,,,:,,,,,,,,,,:,,,```,.'..`           `
                   .;::::,,,....,,,:::,,,,,,,,,,,,,`     ...                  '.                 `` `,:,,...,,,,,,::,,,,,,,,,:,,`````..;.,`
                   .;::::,,,,,,,,,,,,,,,,,,,,,,,`        .`.                  `:               .....,,:,,...,,:,,,:,:,,,,,,,:,.```  ..,,.,`            `
                   `;::::,,,,,,,,,,,,,,,,,.``,,,`        .`.`..,,,,:::,,.``                   ........,,,.,,,,;,,,,,;,,,,,:,````    ..,,..             .
                    ;;..````` ,,,,.`         ,,,,        ..,...,,,,,,,,,,,,:::.              ```````..,..`.,,::;;:;'';;;;;,```      ,.;...             .
                    ;;,..``   ,,,,.          ,,,,        .,....,,,,,,,,,,,,::::::`           .``````..,,.::::;;;::;;:::::;;:;.      ,.'...             .
                    .;;..```  .,,,,          :,,,        .:....,,,,,,,,,,:::::::::,         .``     ..,::::::::;::;;:::::::::;;,    ..'.,.             .
                     ';,..``` `,,,,          ,,,,`      `......,,,,,,,,,:::::::::::,        ,`      `.:::::::::;::;;:::::::::::;;`  ..'.,.             `
                     .;:,..````:,,,`         .,,,`      .:....,,,,,,,,:::::::::::::;        ``      .::::::;:::;::;';;;;;;;;:::::;.`..;.,.              `
                      ';,,..```,,,,,         `,,,.      :,,.,,,,,,,,::::::::::::::;:       .`      ,:::::;;;;::;::;';:;;;;;;;;::::;,..:.,,              .
                   `:''';,,...`.,,,:         `,,,.     .;,,,,,,,,,,::::::::::::::;;.       ``   `:::::::;;;;::;';;;';::;;;;;;;:::::;,,,.,,              .
                 .;;;;;';:,,...`:,,,.        `,,,.    .;:,,,,,,,,,:::::::::::::;;',       ``    ::::::::;;;;::;'''''';::;;;::::::::::,,..,              `
               ,;;;;;;''+',,,...:::,:`       `,,,.` `,;::,,,,,,,,::::::::::::;'';`        .`    :::::::::;;::;'',:,,';;::;;;:::::::::,,..:`              .
             ,::;;;;;'''''',,,...::::.```````.,,,``.,;;:,,,,,,,,::::::::::;''''.          `     .::::::::;::;'':   `'';:::;;::::::::.:,..:`              .
           ,::::;;;;'''''''+,,,,.:::::.``````:,,:,:;;;:,,,,,,,,,:::::::;'''''.           ``      :::::::::::;''.    :'';:::::::::::..;,,,:`              ``
         `;:::::;;''''''''''';,,,,;;::,......;;;'';;:::,,,,,,,,:::::;''''':`             ,       .,::::::::;;''`    `''';::::::::,...',,,:.               .
        ,:::::::;''''''''''''''':,,;;;;,,,,:;''';;:::::,,,,,,,::;;;;''';`                `        .,,,:::::;'''.    ;:'';::::::::+,..',,,:.`              `
       ::::::::;''''''''''''''''''''''''''''';;:::::::,,,,:::;;;;;;;:`                  `          .,,,,::;;''++.  :+:;'';:::::::++..;,,::,`               .
      .::::::::;;'''''''''''''''''''''''';;;;;;:::::::::::;;;;;;:.`                     ,          ',,,,::;'';+++,:#+;:;'';::::::+#'.':+;,,.`              .
      :::::::::;;;''''''''''''''';;;;;;;;;;;;;:;;;;;;;;;;;;;:.`                         .         ,',,,,:;'';:+++++#+;::;'';:::::+++;+++',,.               `
      :::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;''''';;;;;;;;:,:`                             `        `;;,,,,:;';::+;;::::;::;''';::::'+++++++,,.`               .
      ,;:::::::::::::;;;;:;;::::;;;;'''''''''';;;;:...```..                            `         ::,,,,:;';;::+++++++':::;'''';:;++;:'+++,,,`               .
       ;'';;:::::::;;;;;;'''''''''''''''';;''';:...`.``````.                           .        .;;;;';;;;;:::+++++++':::;';'+';;+++++',;,,,`               `
        ;''''''''''''''''''''';;;:;,,................```````.                          ,        `.;;;;;::;;:::+++++++;:::;;:;+#'+++++++++,,,.
         `,:;''''''''';:,,.`       :.................`...`..`.                         .       ```,;;;,,:;::::+++,.++;:::;;::'++++'.,+++',.,.                ,
                                    `:.........................     .                  .      `````:;;,,:;::::+:....+::::;;::;'++,...++'';.,.`               .
                                      `,........................ .,,..                ``      ``````;;,,::;:::+.,...::::;:,:::.:.....:''''...`               `
                                        `::,.....................,,. `                `      .```````,,,,...,:;.,...........,,........''',,.,.                .
                                             `,,,................:,.  `               .      ````````........;,.,......,,,,,,,,.......:;.`..,.                ,
                                                  `.,.............:,  `               .      ````............+..,..,,,,:;;;;::,,,.....````..,.`               `
                                                      `,...........,`` `             ``     .`.,,,,,,,,,,....'....,,,:;;;;;;;;;:,,...`````....`                .
                                                        ...........  `  `            .      .,,,,,,,,:::,,,.,'..,,,:;;;;;;;;;;;;;:,..`````.....                .
                                                         `,....``    `   .           .      .,,,,,,,::::::,'++:,,:;;;;;;;;;;;;;;;::,.`````... ``                `
                                                         `,:..` `..       .          `      `,,,,,::::::::'####:;;;;;;;;;;;;;;;;;:::,.``````` ``                ,
                                                         `,,;..` ``.`      ``       .        ,,,::::::::::'####;;;;;;;;;;;;;;;;;;:::,.```..`  .`                `
                                                       `  ,,, ``            `,      ,        ,::::::::::::;###+;;;;;;;;;;;;;;;;;;:::,,.`````  ```                `
                                                        `` ``  .              ,     `        `,::::::::::::;;+;;;;;;;;;;;;;;;;;;;:::,,..```    ``                ,
                                                          .``.```              ,   `          .::::::::::::;;+;;;;;;;;;;;;;;;;;;:::,,,...`.    ..                `
                                                            ,````               .` ,           ,::::::::::;;;';;;;;;;;;;;;;;;;;;:::,,...``     `.`                `
                                                             .                    ,.`          `,:::::::::;;;;+;;;;;;;;;;;;;;;;;:::,,.....      ..`               ,
                                                              .                    ``          `,:::::::::;;;;+;;;;;;;;;;;;;;;;;:::,,...`       ..`               .
                                                              .`                   .``         `.,:::::::::;;;';;;;;;;;;;;;;;;;;:::,,...`       ...``             `
                                                               ,                   .```        `.,::::::::::;;;';;;;;;;;;;;;;;;;:::,,...`       `..``              .
                                                               ..                  .````       `..,:::::::::;;;+;;;;;;;;;;;;;;;;:::,,,..`        ...``             ,
                                                                ,`                 .` ``       `..,,:::::::::;;';;;;;;;;;;;;;;:;:::,,,..`        ,.,``             `
                                                                 .`                ``  ``      `...,,,:::::::;;;+;;;;;;;;;;;;;:::::,,,..         ..,.`              .
                                                                 `.`               ``          `...,,,:::::::;;;+;;;;;;;;;;;;;;::::,,,..         `,,,`              ,
                                                                   .`                          `..``,,,:::::::::'':;:;;;;;;;;;;:::::,,,.          ,,,.`             `
                                                                    ..`                        `... .,,,:::::::+##';::::;;;;;;::::::,,,.          ,,,.`              .
                                                                     `.`                      ``..`  ,,,,,,::::####;:::::::;;;::::::,,,,          `,,,``             .
                                                                       `.`                    `...   ,,,,,,,,,:####::::::::::::::::::,,,`          ,,,.`              `
                                                                         .`                   `..`   ,,,,,,,,,,;+#+::::::::::::::::::,,,.          ,,,,``             .
                                                                          `.                 ``..   `,....,,,,,,,,+,:,,::::::::::::::,,,.          ,,,,.``             `
                                                                            .`               `...   `.......,,,,,,',:,,,,::::::::::::,,,.          `,,,.``             `
                                                                             ,`            ```..    ............,,',:,,,,,,,,,:::::::,,,,`          ,,,,.``             ,
                                                                              ,`         `````..    ............,,',,,,,,,,,,,,,,:,,,,,,,.          .,,,.``              `
                                                                               ..       ``````.     .```.........,;.,..,,,,,,,,,,,,,,,,,,.           ,,.,.``             `
                                                                                `.      `````..     ````..........;.,.....,,,,,,,,,,,,,,,.           ,,..,``              .
                                                                                  .`   ````...`    `````..........:.,........,.,,,,,,,,,,,`          `.,...``
                                                                                   `.......,,`     .````.........,,.,...............,,...,.           ,,.`..``             .
                                                                                                   `````.........,,.,......................            ,..`.``              `
                                                                                                   `````.........,,.,......................`           `,.`````             ,
                                                                                                  `````..........:,.....................`...            ,,.`````            `
                                                                                                  `````..........:,......................`.`             ,.`````             `
                                                                                                  .````........'+++......................````            ...````             .
                                                                                                  ````.........++++:.....................```.             ,.````             `
                                                                                                  ```..........++++,.....................`````            `..```
                                                                                                 ````..........,++:......................```,:             ,.```              `
                                                                                                 ````............;........................`,;:.            `..``              .
                                                                                                 .```............'........................,';;.`            ...`               `
                                                                                                 :.``............'.......................,'';.`.             ,.``              ``
                                                                                                 ;;``............'......................,++',```.             ,.``     `       ` `
                                                                                                 ;':`............'.....................;+++:.````.             `,```` ``        ```
                                                                                                 :'':............;....................'+++:..````..               `.````  ``   ...``
                                                                                                .`;'':...........;..,................++++,....```...`              ``````   ````..``
                                                                                                ,``'''...........;..,................+#+.......``....`              `.``` `..````.
                                                                                               `.``.;,...........;..,................';..........`..``.             .`````.`````` .
                                                                                               ,.```.............;..,............................`...``.            .````.``````   `
                                                                                              `..```.............:,.,.................................``.`          .....```````    ``
                                                                                              ...```.............:,.,.................................````.          ...:``````      `.
                                                                                             `...``.............,:,.,..................................``````        `  ```````        ``
                                                                                             ....`............,+++:.,...............................,....``````          `` `           ```
                                                                                            ``...`............+++++.,...............................,.....`````.         , ``            `  ``
                                                                                            .`................+++++.................................,,......`````.       .`               .``  ``
                                                                                           .``................,+++,.................................,,,.......```````    ``                ``.```
                                                                                          ```.................:+,...................................,,,,,,....``````,`    `                  ``
                                                                                         ````...,.............'.....;...............................,,,,,,,.....````,``   `                     ``
                                                                                        ````...,,............,;...,.:,..............................,,,,,,,,....````:``   `               ```      ```
                                                                                       .```....,,............:,..+,..'..............................,,,,,,,,,....```,``   `                ```..``````
                                                                                      .```....,,,,...........'..,#+..,,.............................,,,,,,,,,,....``,``   `   ..`    ..`    `
                                                                                     .```....,,,,,...........'..;##;..'.............................,,,,,,,,,,,...`..``   `  `  ``   ` `.`   ``
                                                                                   `.```....,,,,,,...........;..+###,.,;............................,,,,,,,,,,,....,```      `   ``  `   `.    `
                                                                                  `````.....,,,,,,,.........,,..####'..;,...........................,,,,,,,,,,,....;``   `        .`  `    ``    `
                                                                                 `````.....,,,,,,,,.........;...#####,..'...........................,,,,,,,,,,,....:`.   .  `      .` .      `` ` ``
                                                                                ,.``.......,,,,,,,,,........'..:#####+..,:..........................,,,,,,,,,,,...,.`.   ` `       `` ``       `.`` `
                                                                               .'``.......,,,,,,,,,,,.......'..'######;..;..........................,,,,,:,,,,,...'.``    `         ,```          ``
                                                                              ..;..........,,,,,,,,,,.......;..########...+.........................,,,,,,,,,,,..,,.`                .``.
                                                                             ....,.........,,,,,,,,,,.......:..########+..,:.......................,,,,,,,,,,,,..'.`:,               `````
                                                                             ....;..........,,,,,,,,,,.....,:..#########:..;.......................,,,,,,,,,,,..,:.`';`               ````
                                                                             `...,..........,,,,,,,,,,.....:,.,#########+...'......................,,,,,,,,,,,..'..,';;                ```.
                                                                              ....;.`........,,,,,,,,......;..;##########'..,:....................,,,,,,,,,,,,.;...'';;,                `.`
                                                                              `.``.,.`........,,,,,,,......'..'##########+,..;....................,,,,,,,,,,,.::..:''';;`
                                                                               .```,.``........,,,,,,......+..+#########+++...'..................,,,,,,,,,,,,::..,+''';;;
                                                                               `.```:``.........,,.........+..+#########+++'..,:.................,,,,,,,,,,,',...++''';;;,
                                                                                .````:.....................+..##########++++,..;.................,,,,,,,,,:;...,++++''';;;`
                                                                                 .```.:....................+..##########+++''...'..............,,,,,,,,,:',...;+#+++''';;;:
                                                                                  ````.;...................'..##########+++'''...:..............,,,,,,;',,..,+++++++''';;;;.
                                                                                   .``..;,................,'.,###########+++'':..:,.............,,,;',,....'+++++++++''';;;;
                                                                                    .``..,'...............,'.,###########+'+''',..;..........,,:';,,,...,'+++++''''+++'';;;;:
                                                                                     ,.....;',..........,.,;.,###########+''''''...'......:;';:,..,..,:++++++++'''''++''';;;;`
                                                                                    .;;.....,:+;,......,,,,;,,+##########+'''''';...';';:,......,,,:+++++++++++''''''++''';;;;
                                                                                   `;''':...,,,,'+':,,..,,,;,,+##########'+'''''';,.,:........,:'++++++++++++++''''';;++''';;;.
                                                                                  `;;'++++:,,.....,,;+++'''+'+##########++++'''''',..;,...,;++++++#+++++++++++++'''';;;'+''';;;
                                                                                  ;;''++++++',........,,,,,;,,##########+++++'''''',:;'''+++##++++++++++++++++++''''';;;;'''';;:
                                                                                `;;''+++++++++';,,...,,,,,,;,,##########++++++'''''''''''++'+#++++++++++++++++++''''';;;;;'''';;`
                                                                               .;;'''+++++++++'+++++'::,,,,;::+########++++++++''''''''''''''++++++++++++++++++++''''';;;;:''''';
                                                                              :;;'''+++++++++'+++++++++##+#############+++++++++'''''''''''''+++++++++++++++++++++''''';;;;:;'''':
                                                                            `;;;'''++++++++++'+++++++++##+#############+++++++++''''''''''''''++++++++++++++++++++++'''';;;;::;'''.
                                                                           :;;;'''+++++++++++++++++++++#++############++++++++++'''''''''''''''+++++++++++++++++++++'''''';;;;::'''`