@@@@@@@@ @ @@@@ @  @   @@ @ @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@ @@@@@@@@   @   @ @@ @ @@@ @   @ @@  @  @@@ @     @  @   @       @  @@@     @@    @ @ @ @ @  @   @ @@
@                              @@@@@@@@@@@@@@@@@@   @@  @       @@@       @                   @               @ @@@@ @     @    @ @ @                                                                                              
@                              @@@@@@@ @@@@@@@@@@  @ @          @                                             @@@@ @ @    @@@    @                                                                                                 
@                             @@@@@@@@@@@@@@@@@@  @ @         @  @         @ @@                               @@@@ @  @    @      @ @                                                                                              
@                             @@@@@@@@@@@@@@@@@@ @@@ @                       @@@                       @      @ @@@@@@    @ @    @                                                                                                @
@                             @@@@@@@@@@@@@@@@@@ @@@ @@  @                       @@  @@ @@@@@  @              @@ @  @@@    @      @ @ @                                                                                            
@                             @@@@@@@@@@@@@@@@@@               @                    @ @@XX@@@ @               @@@@@  @@    @@    @ @                                                                                               
@                            @@@@@@@@@@@@@@@@@@@   @ @                                @@SX@@@@@              @@@@@@@@ @    @@     @  @@                                                                                           @
@                            @@@@@@@@@@@@@@@@@@@         @       @                @@  @@X@@@@@@@@ @@@@@@      @@@@@@ @@   @@@    @ @@                                                                                              
@                            @@@@@@@@@@@@@@@@@@@          @    @ @@@               @@ @@@@@@@@@@@ @@@@@@      @@@@@@@@@    @@@   @ @ @ @                                                                                          @
@                            @@@@@@@@@@@@@@@@@   @       @@  @  @@@@@           @   @ @ @@@@@ @@@@  @@@@  @@  @@@@@@ @@    @@@   @ @  @                                                                                            
@                           @@@@@@@@@@@@@@@@@@@@@@           @  XX@                      @       @@    @ @@@@ @@@@@@ @@    @@@   @@  @ @                                                                                          @
@                           @@@@@@@@@@@   @    @@ @          @@@@X@                @             @XX@   @  @@@@@@@@@@@@    @@@    @  @ @                                                                                          @
@                           @@@@@@@@@@    @@@                 @@@@@                      @        @SS@  @@@   @@@  @@@@    @@@    @@  @                                                                                            
@                           @@@@@@@@@@@   @@@          @ @   @@@@@@@@                     @@  @@ @@X8SX @@@@   @@    @@    @@@    @ @@ @                                                                                           
@                           @@@@@@@@@@@      @@          @@  @@@@X@@                       @@     @@@@X@@@@XX@@@@@    @    @@     @@@@ @                                                                                           
@                          @@@@@@@@@@@@@@  @             @   @@X@X@  @           @          @@        @X@ @XXX@@XX@        @@@    @ @ @@                                                                                          @
@                          @@@@@@@@ @@@@@@@           @@   @ @XXXX@@ @@                         @      @@@ @@@@@@@@ @      @@@     @@@ @                                                                                           
@                       @  @@@@@@@@@@@ @ @           @@@  @@@@@XX@@@ @@  @    @       @ @@  @@    @ @   @    @ @@@   @@   @@@@    @@@ @ @                                                                                         @
@                       @  @@  @ @@@@@             @    @  @@@@@@@@@  @ @@  @ @  @      @@@@@@@@@ @     @      @@ @@  @@@ @@@@@    @@@@@@                                                                                          
@                           @    @@@                    @  @ @@@@ @@@@@@ @@@@@@@@@ @@ @@@   @@@@@             @@@ @@@  @X@@@@@@   @ @ @@@                                                                                         @
@                           @@ @     @                  @ @@@@@@@@@@@@ @@@@@@@@@@X@XXXX@@XX@@XXXX@@ @          @@ @@@@ @X@@@@@@ @  @@ @ @                                                                                          
@                        @ @ @       @             @ @ @@ @@@@@@ @@@@@@@@@XXSXXXXSSSSSSXSS8SSSS8SXXXXX@@        @@  @@@ @@@@@@@   @@ @@@@                                                                                          
@                    @    @  @@ @@@               @@ @ @@@@@@@@@@@@@@@@XXSSS88888S8888S8S8888888888888SSXX@     @@ @@@@@@@@@@@ @@ @@  @@@@                                                                                        @
@                            @@@ @@@       @  @   @  @  @@@@@@@@@XXXXS8SS8888888O8888O88O888O8OOOO8888888SXX@@     @@@ @@@@X@@@@@@XX@@  @@                                                                                         
@                        @@  @ @  @@ @@@@ @        @  @@@@@@XXXXSSS88OO88OO8OO8O8O8OOOOOOOOOOOOOOOOOOO88888SSX@@    @@  @@XSX@@@@@@X8S@@                                                                                           
@                        @@@@@@@@@  @@@@@ @     @@ @@@@@@@XXSS8S88OOOOOOOOOOO&OOOOOOO&&&&&&&&&&&OOOOOOOOOO8888SXX@   @   XSXSXXX@@@@SOSX@                                                                                         @
@                          @@@@@@@@@@  @       @@@@@@@@XXX888OOOOOOOO&O&&&&&&&OO&&&&&&*&&&&&&&&&&&&&&&&&&&OOO8O88SX@@@    XXXXSSX@XXXS8SSX                                                                                         
@                       @@   @@@@@@        @ @@@@@@@@XXS888OOOOOOOO&&&&&&&&&&&&&&**********&&**&*&&&&&&&&&&&OOO8OO8SSSX@ @@@@@XSSXSSSSSSOSX@                                                                                      @
@                        @@@  @@@@@@  @  @ @@ @@@@XXXS88OOOOOOOOO&&&&&&&&&&*&&***********;;***********&*&&&&&OOOOO88888SX@@@@@@XS88SSSSOOOSXX                                                                                     @
@                          @@ @@@@@@@  @ @  @@@@@@XSS8OOOOOOOOO&&&&&&&&**&*******;*;;;;;;;;;;;;;;;*;******&&&&&OOOOOO8888SX@@@@@@XSS8OSS&&8SX@                                                                                     
@                  @@       X@  @@@@@@  @ @@@@@@@XS8O8OOOO&&O&&&&***********;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*****&&&OOOOOO888OSX@@@@@@XOOOSS&OX@@@@                                                                                  @
@                   @@      @XX@@@@ @@@ @@ @@@@@XS888OOO&&&&&&****;;**;;;;;;;;;;;:;::;;:;;;:;;::::;;;:;;;;;;****&&&OOOOOOOOO8SX@@@@@X8&OXXSX@@X@ @                                                                                 
@                    @      @XXX@@X@@@@@@@@@@@@XS888OOO&&&&&&***;*;;;;;;;;;;:::;;:;::;::::::::::::::;:;;;;;;;****&&&&OO&OOOOOO8S@@@@@@SO8@@XXXX@@                                                                                  
@                    @@@ @@@  @@@@X@ @  @@@@@@XS8OO8OO&&&&&****;;;;;;;;;;::::::::::::::::::::::::::::::;:;;;;;;****&&&&&&OOOOOO8S@@@X@@XSX@@@@XO@                                                                                  
@                    @@@   @@  @@@@@ @@@@@X@XS888OOOO&&&&***;;;;;;;;;:::::::::::::::::::::::::::::::::::;;;:;;;;;****&&&&&&OO&OOOSSXXX@@@X@ @@@XX@@                                                                               @
@                   @   @@  @@@@@@@@@@@@@XXXS8O8OOO&&&&*****;;;;;;:;::::::::::::::::::::::::::::::::::::::::::;;;*****&&&&&O&&OOOOOOXXS@@X@@@@@ @@@@                                                                              @
@                    @  @@@@ @ @@ @@@@@@@@XS8OOOOO&&&****;;*;;:::::::::::::::::::::::::::::::::-::::::::::::::::;;;****&&*&&&&O&OOOO88OSXX@@@@@@@@@@@                                                                             @
@                        @@@@ @ @@@@@@@@@@XOOOOOO&&&**;;*;;;;:::::::::::-:::::::::::::::---:::::::::::--:::::::::;;;;*****&&&&&&OOOOOOOO8XX@@@@X@@  @                                                                              
@                  @    @ @ @ @@@@@@@@@@XX8&OO&O&&&**;;*;;;::;::::::::::::-:-::-------------:---:-:::-:::-:::::::;;;;;;*****&&&&&OO8OO88SXX@XXXXXX@@X@                                                                            @
@                 @@ @@@@@@@@@@@@@@@@@@@XX8&OO&&&&**;;*;;;::;:::::::::::-------:::---------:---:-::::::::::::::::::;;;;*****&&&&&&OOOO88SX@XXXXXXSSXX@                                                                            @
@  @               @ @@    @@@XXX@@@X@@XXS8O&O&&&**;;;;;;::;:::::::::::--------::---------------:::::::::::::::::::;;;;*;*******&&&OOO88OSXX@@@@@X88S@@                                                                           @
@                  @@     @XSXXXXX@@X@@XS88O&&&&***;;;;::::::::::---::-------::----------------:::::::-:-:-::::::::::;;;;;;*****&&&&OO888888SXX@@@XSSXXX@@@                                                                       @
@                 @     @@XSSXX@X@@@@@XS8OOO&&&****;;;::::::::::----:--------::------:-------:::-:::::----::::::::::::;;;;;;**&*&&&&&OOO8OO88SX@@@XXSXXSXXX@                                                                       
@             @    @@  @XSSX@@XXXXXX@@X8OOO&&&*****;;;::::::---:-::------::----------------:::---::::::-----:-:::::::::;;;;;;****&&&&&OOOOO88SXX@XXXX@@@SS@ @                                                                     @
@             @     @@@@XX@@@XXXXXXXXXSO&OO&&&***;;;::::::::----::------:::------------------:--::::-------::::-:::::::;;;;;;;***&&&&&&OO8OO8SSXXXSXSX@@X8X  @                                                                     
@                 @@@@@@@@@@@@@XXXXXXS8OOO&&&***;;;:::::::-----::----------------------------:---:----------:----::::::::::;;;;;***&&&&&OOO888SXXXSSSS@@ S8@                                                                      @
@               @ @@@@@@@XX@XXXXXXXXS8O&OO&&&*;;;;;:::::::---:-------------------------------:----------------------::::::;;:;:;;;*&*&&&&OOO88SSSSSXXXX@@@X@                                                                      @
@              @ @@@@@ @X@@XSSXX@XXSS8OOOO&**;;;;;::::::-:--:-------------------------------------------------------:::::::::;;::;;*&**&&OO8O888S8SSSSX@@ @@                                                                      @
@ @           @  @@@@ @XXXS8SXXXXXX8O&&OO&&**;;;;;::::::-----------------------------------------и----------------:::::::::;;;:;:;:;**&*&&OOO88O88SS88XX@@ @@                                                                      
@@           @@@ @@@ @XX@X8SXXXXXX8O&&OO&&&**;;;;::::::::--------------и-------------------и-иииии-------------:::--:::::::;;;:;;::;;****&&OO88OO8SXSXXXX@ @@                                                                     @
@             @@@@@ @X@@XXX@@XXXSS8OOOOO&&&**;::;::::::::-----------и--ии-ии---------------ииииииииии-------:::::::::;;:::::;;;;;;;;:;***&&&OO88OO8XXXX@@@@@@                                                                      
@            @@ @@@@@@@XSXX@@XXSSS8OO8O&&***;;:;;:::::::------------иии--иии----и-----ииииииииииии-и--------::::::;;;;;;;;;;***;:::::;;***&&&OO88OO8SXSSX@@@@@                                                                     
@   @        @@@ @ @X@@@X@XXXS8S888OOO&&&**;;;;;:::::::----------------ии-и----иии--ииииииииииииии------------::::;;:;;****&&&&*;;::::;;***&&&OO8OO88XXSXX@@X@                                                                    @
@            @@ @@ XX@@@@XSXXS8S8888OO&&***;;:;;:::::::--------------ииии--и-ииии-иии-ииииииииииии-ии---------::::::::;;***&&&&&**;::::;;***&&&O8O8O8XXXXX@@XX                                                                    @
@            @@@@ @@@ @@XXXXXXXSOO88OO&***;;:::::::::---------------иииии--ииииииии-и-ииииииииииииииии-------------:-::;;**&&*&&&&&*;;;;;;;**&&OO8OO88XXX@X@@X@                                                                   @
@            @@@@@@@  @X@@S8SXXX8888OO&**;;;::::::::-----------и---ииииииии-иииииии-ииии,иии,и,ии-и-и-и-----------::--::;;****&&&OOO&;:::;;;;**&OO8O888SXXXX@@@@                                                                   
@            @XX@@@@ @@@@X88XXSS8S8OO&&**;;;:::::::::------------иииииииииииииии-ииииииии,и,иииииииииии----------:::::;;*******&&OO&&&;;:;;;;;***&O88888XXXX@@@                                                                   @
@            XXX@    @@@@XSXXSSS8S8O&&***;;;::::::::------------иииииииииииииииииииииии,иииииииииииииии-----::::::::;;;***&&&***&&&&&&*;;;;;;;;;*&&O88888XXXX@X@@@                                                                @
@            @@@@@  @X@@XXX@@XS8SSOO&&*;;;;::::::::---:-------иииииииииииииииииииииииииииииииииииииииии--:::::::::::::;*****;;;:;;*&&&&**;;;;;;;***&88OOSSSX@@@X@@                                                                 
@            @ @@@  @XX@@@@@@@SSS8OO&***;;::::::::::::---------иииииии,ииииии,иииииии,ии,,и,иииииииии--::;;;:::::;;;;;;;;;;:::::;****&&&*;::::;;;;*&&O8O8S8SX@@@@ @@                                                              @
@            @ @ @@ @X@@@@XXXSSSS8O&&**;;;:::::::::::----------ииииии,иииииииииииииии,,,,,,иии,,,,и--::;**;::;;;;***;;::--:--:::;::;;***;;;;::::;;***&OOOO8SSXXX@@  @                                                              
@              @    @@@@@XXXXSXSS8O&***;;:::::::::::---::----иииииииииииииииииииииии,,,,,,,иии,иии-:::;;*;:::::;***;::--и----:----:::;;;;**;;:::;;;***&O8O8SXXSXX@@                                                               @
            @@ @    @@@XX@@XXSSS8O&&**;;;:::::::::::--------ииииииииииии,,иииииииии,,ии,.,,,иии--::;;::;;;:;;;:;**;:--ииииии---и----:;*;;*;;;;::;;;;;*&&OOO8SSXXXX@                                                                
            @  @    @@@@@@@@XSSS8O&***;;;;;::::::::-::-----иии--ииии,,и,иии,и,,и,и,,,,и,,,,иии-:::;;::::;;;;:;*;*;:-и,,,ииии-иииии--:::::::;;;::::;;;;*&&OOO8XXXXX@@                                                              @
@           @ @@@  @@@@@@XX@XXXS8O&&**;;;;::::::::::::-----и---и-ии,,и,и,,,иии,,ии,,и,и,.,,иии-::::::;;;*;;;;**::ииии,,иииииииии-----------:::::::;;;;;*&&OO8SXXXX@@@                                                              
@          @  @@@  @@@@ @XX@XXS8O&&***;;:;::::::::::::---и----ии-ии,иии,,,и,,,,,,,,,,,,,,,иии-::;;;;**;*****&&;-,..,,,,иии,и,иии----иии--------:::::;:;;**&OO8SXX@@@@                                                             @
@          @  @@@@  @@@ @X@@XXS8O&&**;;;;::::::::::::----и-----ииииии,иии,,,,,,,,,,,,,,ии-иии-;;;;:;******&**:-,..,,,,,,и,,,иииии--иииииии-и------:::;:;;**&OOO8X@@@@@                                                             
           @  @@@   @X@ XX@XXXS8O&***;;;;;;:::::::::----------иииии,,,ии,и,,,,,,,.,,,,,ии--и,:;;;;:;**&&&&*;:и,,,,,,,,,,,,иииииии--иииииии-ии-------:::;;;**&&O8SX@@@@                                                            @
@          @  @@@   @@ @@X@XSXSOO&**;;;;;;:::::::::----------ииииии,,иии,и,,,,,,,.,,,,,ии-:-,:;;;;;;**&&*;:-и,,,,,,,,,,,,ии,ииииии----ииии-иии-------:::;;;;*&OO8SXXX@                                                             
@          @ @@@   @@@  @@XXXS8O&&**;*;;;;;:::;:::::--------иииииии,ииии,и,,,,,,,,,,,и--и--:-:;;;;******::-ии,,,,,,,,,,,,,и,иииииии-----и---иииии-----::::;**&OO8SSXX@@                                                           @
@             @@ @@@@@@@@@@XXS8O&&**;;;;;::;::;:::::--------ииииииииииии,,,,,,,,.,,иии-::--:::;;;**;;**:--ии,,,и,,,,.,,,,и---------------и---ииииии---::::;;*&&OO8SSX@@                                                            
           @@ @@ @  @@ @@@@XXS8O&&*;;;*;;;;::;;::::---------ииииииииии,и,ии,,,,,.,ииии-:::-::-;;;**;;;:--иии,,,,,....,и--:::;:;;;;;;::-------иииииии----:::;;*&&OO8XXXX@                                                          @
@          @@ @@  @  @ @@@XXXS8O&&**;;;;;:;;:::::::--------иииииииииии,,,ии,,,,,,,,,и----:-:::;;;**:::--иии,,,,,. .,и-::::::::;;;;;*;;::-----иииииии----::::;**&&OOSXXSX@ @  @                                                    @
@          @@ @@  @@@  @@@XXS88O&&**;;*;:;;::;;::::::---и-ииииииииии,иии,,,,,,,,,,,ии----:::::;:;;;:---иии,,,....,и--:::----:::;;;;;**;;;:::---иии-ии------::;*&&&O8SXSSX@                                                        @
@           @ @@  @X@  @@@@XS8OO&&*;;;;;;;;:::::::::------иииииииии,,,,,,,,,,,,,,,,и------:-:::::::--иии,,,,,..,и---::----:;*&&&&&&&&&&&&;;:::-----иии---::::;;*&&OO8XXXSX@                                                       @
               @@ @XX  @@@XSS8OO&**;;*;;;;;;;;:::::---------ии,ииии,,,,,и,,,,,,,ииии---------:::::--иии,,,,,,,и--:::---;*&O88OOOOO8OOOO&&;:::::----------::::::**&&&O8XXXXX@                                                       
@               @@@@X  @@@XXS8OO&**;**;;;;;:;;:::::------и-иииииии,,,,,,,,,,,,,,иииии--------:::---иии,,,,,,,---:::--:&O888S8&*::*&O&&&&;:::::::----------:::::;*&&&&O8XX@XSXXX@                                                   
                 @@@@@ @@@XXS8OO&***;*;;;;;;;::::::------ииииииии,,,,,,,,,,,,,,,иииии---------::---ии,,и,,,,--:-::-:;&O8OOOO&*:и,-******;::--------------::::::;;**&OO8SXX@SO&*&X@                                                @
                 @@@@  @@@@XS8O&&&***;;;;*;;;;:;::--------ииииии,,,,,,,и,,,,,,,,,ииии----иии-------ииииииии--::::-:*&OO8SOOO&*;и,:******;:-----------------:::::;***&OO8XX@XO;::*S                                                @
@                @@@@@@@@@@XS8OO&&***;;;;*;;;;::::::------иииии,,,,,,,,и,,,,,,,,,,,ии-и-и---иии----ииииииии:-::::;&OOO8OOSOO&&*-и:;*;;;::--------ии--------:::::;**&&OOO8XX@XO*;:&X                                               @
                 @@@@@  @@@XSOO&&****;;;***;;;::::::-----иииииии,,,,,,ии,,,,,,,,иииии--ииии-иии----иииииии-::::-:OOO&&O..O8O&&*-:;;;;:::----ии-ии-иии--------:::;;**&OOOOSXXXS&*::8                                               @
@                  @@@@ @X@XS8O&&&***;;;**;;;::::::---и--ииииии,,,,,,,,иии,,ииии,и--ии--,,,ииии---иииииии-::-:--*&OO&&Oи *8&***:;*;:::----ииииииии-и---:---::::::;;*&&OOOSXX@X&;::&@                                               
@                  @@@ @XXXXS8O&&&&**;;;****;:::::---иииииииииии,,,,,,,ии--иииииии------и,,ииии----иииии--:-:::;*:*O&*&&&OO&***;**;:-----иииииииии----:;;::::::::;;;*&&&O8XX@@O;::*X                                              @
@                   @@@@XXXXX8O&&&**;**;***;;:::::-------ииииииии,,ииии,ии--и----------и-ии,иии------и------::;&;и:&&**&&&&&&;:::::--и--иии--иииииииии-:::----:::;;;*&&&OO8SX@S*--:8                                              @
@                    @@X@XXXX8O&&&**;;;*;*;;;;::--------иии--ии-ии--и---иииии-------ииииииииии---------------;&O-.и:&**;**&*::::---иииии-и-иииииии,ии,ии-----:::;;;;;*&&&&O8SXXO:--&@                                             @
@                 @@ @@X@@@XXS8O&&***;;;***;;:::---------иии----ии--ии------ии-:----иииииииии------------:--:&O*и.,и:;*&***;-и-:-ииииииииии,,,иииии,иии,ии----::::;;;**&&&&8SX@S*:-:8                                              
                     @@@X@@SXSOO&&********;;;::::----и---ии------иии-------------ииииииииии-----:::---------;**:,....и;*;;::-,и--и,иии,ии,иииииии-иии--иииии---::::;;***&OOOSXXX8;--*@                                            @
@                     @@X@@XXX8O&&&*******;;;::::--------------::-------------и---иииииииии-----:::::--ии--:;;;-,. ..и:;:--:-и,,,и,,,,и,,ии--иии---ии---иии-----:-:;;**&&OOO8XXXX&:-:8                                             
@                @    @X8X@XXX8OO&&*******;;;::::------------::::::::::-------ии-ииииии,ии-------:::::-,,--::,и-и,,и-:::-и---и,,,,,,,иииии--------ииии-иииии-----::::***&&OOO8SXX8&:-*@      @                                    @
                   @@  XOS@XXXSOO&&*******;;;::::--------:--::;;:;;:::---ии----ии-и,,,иииии----:::::::-,,и-;;ии:--::::--иии-и,,,,,,,и,,иииии--и-иииииииии-и-------:::;;**&&OO8SXXSO&::8                                           @
@                  @   @88XXSXX8O&&&*******;;;;;:-----::::::;;;;;;;;;;:---и-----и-и,,ииииии---::::::;;:иии-;;:;*;;:::----ииии,,,и,,,и,,ииии--иииииии,,иии--и----:--:::;;*&&OO8SXX8OO*:*X                                           
                        SOXXXXS8O&&&******;;;;::::::::::;;;;;;;**;***;::-----:----и,и-ииии----:::::::;;:--:*:и:;;:-----иииииии,,ииииииии-и----ииииии,,ииииии------::::;;;&&O8O8X@S&*&*;8                                          @
@                    @  X8SXSXXS8O&&*******;;:::::::::;;*;;;;;;**;;;:;;:-----:::---ииииии----::::;;::;;;:-:*;-::----ииииииии,иии,ии,ииии-и-----ииииииииииии-и----::::;;;;*&OO8OSX8;:;&**S                                         @
@                    @  @SSXXXX88O&&*******;;:::::;::;;**;;;;;***;::::;::--:::::-----ии-и----::::;;:::;;:-:*;:---------иииииии,,ииииииии---:--ииии---иииии-----:::::::;;;**&O888SO-и-;&;&X                                        @
@                    @@ @XXXXXXSS8O&&******;;::::;*;;;&&*;;;***&&&&*;;;;;:::::::::-----------::::;;;;:;;;::;:--и---------ииииииииииии--------иииии---ииии-------::::::::;**&OO88S&---:***O@   @                                   @
                     @@@@@XXXXXSS8O&&&*****;;;:::;;;;*O&**;;*&&&&&&&*;;;;;:;::;;:::-----------::::;;;;:;;;;;;:---:---:----ииииииии----------ииииииии-и-и----::---::::::;;;**&O8888;--:;***8@                                      @
@                        @@XXXSS8SO&&&&****;;;::;;;;;&&&*;;*****&***;*;;;;;;;;;;;;:::---------::::;;;;;:;;;;*;;:;:::::----ииии-----::------иииииииииииииии----:--:::::::;;;**&88SSO::::****8                                       
@                     @ @XXSXSXSS8OO&&&****;;;::;;;;*&&*;;;****&&*;;;;;;:::;;****;;:::-------::::;:;;;*;:;:;;;;;;;;;;:::-------::::----иииииииииииииииииии---------::;;;;;***&O88S8*;;:;***&S                                     @
@                     @@@@@SXXXXS88OO&&****;;:::;;**&OO&*;;;*&&O&*;:::::::::;;;*&*;;:::------:::::::;;;*;;;;:;;;;;;;;;;:::::::::-----иииииииииииииии,ииииии-и------::;;;*;****&OS8SO;;;;*;**&X                                     
@                     @@@@@XXXXSS888O&&&&**;;;;;;***&O&*;;;*&&&&*;::::-:-::::;;*&**;;:::-----:::::::;;;;;;;;;;;;:;;::::::::-----и-иииииииииииии,и,и,и,,и,ииии-----:-::;;;;****&O88S8&*;;**;*&O@                                   @
@                      @@X@XX@XXS88OO&&&*****;;****&&&&*;:;**&&&*::::----::::;;;*&&*;:::--------::::::;:;;;;;;;::::::::-------ии-иииииииииииии,и,,,,,,,,,ииииии-----::::;;*****&O8SS8*;:;****&8                                   @
@                      @@@@XX@XXSS88O&&&&*&**;;;***&&&&&*;**&&&&;:------::::::;;*&&*;;:----------::;;::::::::::::::::-------иииииииииииииии,,и,и,,,,,,,,,,,,,и,ии---:::::;;****&&8SSSO*******&&X                                  @
@                       X@@@@@XXSS88OO&&&&&*****;**&&&**;**&&&*::-----:::::;::::;*&&*;;::---и-и---::;;;::::::::::::::-------ииииииииииии,,,,,,,,,,.,,,,,,,,,,иии,и----:::;;;****&O8SSSO&&&&**&O8@                                  
@                       @X@XX@@XSSS8OO&&&&&*&*&***&&&***;*&&&;:-----:::;;;::::-::;*&&*;::--и------:::;;;::::::::----:------иииииииии,и,,,,,,,,,,.,,.,,,,,.,,,иииии------::;;;***&&O8SSO&*&&**&&&S                                 @
@@@                      XX@@@@XXS888OO&&&&&&&&***&&&&&**&&*;:---и-::::::::::--и-:*&&*;;:------:----:::::;::::::-----------иииии,ии,,,,,,.,,...,,,.......,,,,,ииии-------::;;***&&O8SS8*;;;*****&X                                @
      @                 @@XX@@@@XX8888O&&&&&&O&&*&&&&&*****::--ии-:::::::::::---::;*&&*;::----------::::;;::::::---------ииииии,,,,,,.,,,,,.....,........,,,.,,,ии-и-----:::;**;*&&O8SS&::;;;;;;*O@                               @
@                       @@XXXX@@XSSS8OOO&O&OO&&&&&&&&&&&**;:---и-:::::::;*;:::::::;*&&*;;:----------::::::;;;:::---------ииииии,,,,.........,,............,..,,,,иииии---::::;;**&&OOSXO;::::;;;**S                               @
@                        @@XXX@@XSSS88OO&&OOO&&&O&OOO&&*;;:-ии--:::::;;**&&*****;::;&&&;::-----------::::;;;;;::::------иииииии,,,,....,.....................,,,,,ииии-----::;;*;*&&O8S8*:::;;;;;*O@                              @
@                       @@@XX@@@@XSS88OOOOOOO&&OOOO&&&*;::--ии-::---;&OO8O*;;;**&*;;&&&*;:-----------:::::;;;;;::::---ииииии,,,,,,...........................,,,,,,ииии----::;;;***&&8SS&::::;;;;*&X                              @
@                       @@@SSX@@@XSSS8OOOOOOOO88OO&**;;::--ии-:;:::;&SS8O;ии---:*&&*&&&**;:-----------:::::;;;;::::::--иии,,,,,,.....,.......  ..............,,,,,ииииии----::;*****&O8XO;-:;;;***&X                              @
@                       @@@XSX@@@@XSSS8OOO88O888OO&&*;::--и--:;:**&OOOOOO*и..,и:*&&*&O&&*;::::---------::::;;;;;::-:::--ии,,,,,............. ...............,,,,,,,,,ииии---:::;;***&OOSS&:;;*;***&X                              @
@                        @@@XSX@@@XSSS88888888S88OO&*:---ии-:;:;&88OOO&O&&;,.,и:****&&&&**;::::---------::::;;;;;;:--:::--и,,..,..............,,,... .........,,,,,,и,иииии--::;;;*&&&OSS8*****;**&X                              @
@                         @@@XX@X@@XSS88O888SS88OOO*;------:;::&8SO8SS8&&&*-.,,,;;;*&&&&&*;;:::----ии-----::;;;*;;;:::;;;::-и,..,.....,........,..   ............,,,,иииии---:::;;**&&&OSX&*;*;;;*O@                              @
@                          @@XSXXXXXXS8888SSSSS8OO&*::----:;;:;8SO8X*,&O&&&-,-::;::*&&&&&&*;;;:----иии------::;;*;**;;***;;:-и,.......... .......... ...........,,,,,,,иииии-::::;*&&&&OSXO;;;;;;*8                               @
@                        @ @@XXX@@@@XSS88OSXSSS88O**;:---:;;;*O8OO8X: :&*&&::;;*;::;&&&&&&*;;;::-ии-ииииии----:;;;*;*;**;*;*;:-,,...............................,,,,,,иииии---:::;;*&&&O8SS*::;;**X                               @
@@@@                      @@XX@XX @@XXS888SXXSSS8O*;:-:-::**&8S8OO8S8*&&*&&;;;::::;*&&&*&&&*;;;::---ииииииии---::;;;;;;;;;;;;;;:-,,............,...............,.,,,,,иииии----:::;*&&&&OSXO::;;*8@                               @
@ @@ @@                   @@XSX@X@ @XXX888SSSSS88O&*:::-:;**8S8OO&OOO8OOO&*;:::::;;*&&&**&&&;;;::----ииииии-и--:::;;:::::;;;:::;;:и,...........,...............,,,,,,,,,,иии---::;;;*&&&O8S8*;;*O@                                 
@@ @ @@@@ @ @                @X@@@@@XXXS888SSSS8O&*;::::;*;*OO*&OOOOO&&OO**;:-:::;;*&&****&&*;;:---ииииииииииии-::::::-:::::::::;;:-,.....................,,...,,.,,,,,ииииии---:;;**&&&OOSS&;*O@                                 @
X@ @@ @@ @@@@@                XX@@@@@XXS888SXSS8O&*;::::;**&&*:*OOOOO&O&*::::--::;;*&&**;*&&*;;:-ииии,иии,,,,,ии--::::---:::::-::;;:и,......,,...,.,.,,....,,,,.,,,,,,ииииии----::;;**&&&OOX8O8@                                  @
X@@ @@@@ @@ @ @@ @           @@X@ X@@@@X888SXS88O&&;::::***OO;-:*&&&&O&*:--::--::;**&**;;;&&**;:--иии,,,,,,.,,,,,и---:-----------:;;:и,,,.,..,,,,,,.,,.,.,,,,.,,,,,,,ии,ииии----::;;**&&&O88X@                                    @
S@@@@ @ @@@@@@@ @@ @@         @XX@@@@@@XS88SXS88O&**:::;***88:--:;;*&&*:-------::;*&***;;;&&*;;:---ии,,,,,...,,,,ии-----и--------::;;-и,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,ии,иии----:;;**&&OOO8S@                                    @
SX@@@@@ @@@ @ @@@@ @@@@       @ @@@@@@@XS8O8XSS8O&**;::*&*OSO:----:**;::-------::;*****;;;*&&*;:--иии,,,,.......,,ии-----и-------:::;:и,,,,,,,,,,,,и,и,,и,,,,,,,,,,,и,,,иииии----::;;*&&OOOO8X                                    @
SSX@@ @@@ @@ @@@  @ @  @        @@@ @@@@X8O88SS8OO&*;:;*&&88O*;:;;***;:---ии---::;*****;;;;&&*;:--иии,,,,,.  ..,,,и-----и--ии-::::::;:ии,,,,ииии,ииииии-иииииии,и,,и,,,,ииииии--:::;;**&&OOO8S@                                    
SSX@@@ @@ @@@ @ @@@ @ @ @     @ @@X@  @@XS888SS8OO&&*;:&OO88O&&&&&**&;--ии-----::;;*;**;;;;*&&*:---иии,,...   ..,,ии---------:;::---::-и,,и,иииииииии-и---ииииииии,и,,,,ииииии---::;;**&&OOO8S@                                   @
SXX@@@ @@@ @@@@@@  @ @@ @        @X@@  @@X8O8SS8OO&&*;;*O88OO&*&&&**;:и--и---::::;;;;;;;:;;;&&*:----ии,,..    ..иии-------:;*;:--ии-::-и,и,иииииии-----------и-ииии,,,,,ииииии---::;;***&OOOO8X                                   @
SXXX@@@@@@ @ @ @@ @ @@ @          @@@@ @@XS8888O&&&**;;*O88O&&****;::--ии-----::;;:;;;;;;::;*&*;:---ии,...    .,ии-------:*&*:-и,ии:::--иииииии-иии------:------ииии,и,иииииии--:::;;;**&OOOO8X@                                   
SXXX@@  @ @ @@@  @@ @ @@@ @       @@@@@@@@S8O88O&&***;;&888O&&***;:---------::-:;;::;;;:;:::*&*;:-ии,,,....   .,ии-----:;&&*:-и,,и-:::----иии----и---------:::---иии,ииииииии----:::;***&&OOO8S@                                  @
8XXS@@@@@ @@@@ @@ @ @ @ @ @         @@@@ @S8OO88O**;;**&888OO&;;::--------::--:;;:::;::;::;;;**;:--ии,.........,иии---:***;---ии--:;::-----и--------:------:::::---иииииииииии--:-::;***&OOOOO8X                                   
OSXSX@@@@ @@ @ @ @ @ @@  @ @      @@@@@@ @X88OO8O**;;;*OOOOO&*;;:::-----:::---:;;::::::::::;*&*;:--ии,,....,.,,,иии--:;**:-------:::::::---ии--------------:::::::--иииииииии-----::;***&&&OOO8X@                                 @
88XSS@ @@@ @@@@@@@ @@@ @@ @         @@@@ @X88OO8O**;;;*&O&&O&*;:::------:----::;:::::::::::;*&&;:--и,,,,.,,,,,иии-и--:&*;-------::::::::------------::-----:::::::--ииииииииии---:::;***&&&OOO8S@                                 @
88XXX@ @@@@ @ @  @ @ @ @   @@        @@@@@@S8OOOO**;;;;&&&&&&*;:::----:::----:;;:-::--::---:****;:-иииииииииииии-ии--;&*;-------::::::::::-------------------::::::--иии-иии-----:::;***&&&&OO8S@                                 @
SOSXSX@ @ @@ @@@@ @ @ @ @ @ @@@         @@@XSOOO&&;;::;*&****;;;::---::-:---:;;::----------:;;**;::---ииииииии-и-----;*;:---:::-::::::::::------------ииии-----:::::--иии-ии------:;;*&*&&&&OOOSX                                 @
SO8XSX @@@@ @ @ @@@@@ @ @@@@ @ @         @@XSOOO&*;;:;;;***;;;;;:--:::::---:;;::------------;*;;;;::::--------------::::----:----:::::::--------------иииии----:::-:--ииии-и------:;;***&&OOOOO8X                                 @
X88XXX@ @@@@ @@ @ @ @ @   @ @ @@         @@XS8OO&&;;::;;**;;;;::-:::::::-::;;;::-------и----;;;;;;;;;:::::----------:::----------::::::---------:------и-------:::------и-и-------::;;**&&OO&OO8X@                                @
SS8SXX@@ @ @@ @@ @@@ @ @@   @@  @         @@XSOO&&;;;::;**;;;:::::::::::::;;::::----ииииииии:*;:::::;;;;::::----:-:::::-----и-----:::::---:----:-----и-----------:-----и-и-----::::;;;**&&&&&OOSX@                                @
8SO8XX@@ @@ @@@@  @  @@@ @@@ @@@@@ @       @XS8&&&*;::::*;;::;;::::::::::;;:::-:----ииииииии:*;:::-::::;::::--:--:::::-----ииии----::---::::---:::-------::::------:---------:::::::;**&&&&OOOO8S@                                @
8S88XSX  @@ @@@ @ @   @ @ @ @@  @@ @        XS8O&&*;:::;;;:::;:::::;:::;;;:::------и-иииииии:*;:---:::;;***;:::::::::--иии---ии-----:---::::---::::-::--::::::::-------------:::::::;**&&&&&&O888@                                @
OSSSSSS@ @@@@@ @ @@@@ @@@ @ @ @ @ @@@@       X8OO&*;::;;;;;::;:::::;:::;;:::::---и--иии,и,и,:**;:::-:;*OO8O&**;;;::::----------и---:::----:::::::::::::::::;;::::---:--------::::::;;;*&OO&&&OO8S@                                 
O8XSSSX@ @@  @@@@ @ @@ @ @ @ @ @@@ @@@@   @  @SOO&**;:;;;;::;;:::::::::;:::::-----ииии,,и,,и:**;:--:;*&O&OO&*;;*;;::-----------ии---:------:::::::::::;:;;;;;;::----------:---:::::;;**&&&&&OOO8S@                                @
O8SXS8S@ @@ @@ @ @ @  @ @ @ @@@@@ @@@ @@@    @S8O&*;;;;;;;:;;;;;::::;:::::::-----ииии,и,и,,,-**;::::;;;*****::::::-------------------------:::::::::;;;;;***;::-----------::::::;;;;****&&&&OOO8S@                                @
OSSXS8S@ @ @@ @ @@@@@   @@@ @@ @@@@@ @ @ @    X8OO&*;;;;;;::;:;:::::;;::::::-----иии,,,,,,,,и;*;:::;;:::::;::::::----ии----------------::-:::::::;;;;;;;*&*;::---:::-----:::::::;;;;;**&&&&&&OO8SX                                @
&8SXSSX@  @ @@@@@ @ @@@ @ @ @ @ @  @@ @@@@@   @SOO&&*;;;;;::::;:::::;;::::-------иии,,,,и,,,и;**:::;:----:::::::::---ии----------и---:::::::;::::;;;;;*&&*;;::--::;:::--:::::::::;;;***&&&&&&OOOSX                                @
OSSXXSX@@ @@@@ @@ @@  @@@ @  @ @ @  @@@@@@@    X8O&&&;;;;;;:::;::::::;::::-------иии,и,и,,,,и-**;::::и,и--:::;:::::---и--:::::::-----::::-::::;;;;****&&*:::::--::;::::::::::::::;*****&&&&&&OO88X                                @
OSSXXSX@@@ @ @@ @ @@@@@ @@@ @ @@@ @@@  @ @@ @  @S&O&**;;;;;;:;::::::::::::-----ииии,,ии,,,,,,и;*;::--и,и--::;;:::::-----:::::::::----::::::::;;;:;;;*&&*:::::---::::::::::::::::;;;**&*&&&&&&OOO8X                                @
&SSSXXX@ @@@@ @@@@ @@ @   @@ @ @ @ @ @@@@@@    @SOOO&*;;;;;;:::::::::::::::----ииии,,,,,,,,,,и:**;:--ии--::;;;::::-:---:::::;:::::----::;;;:;;::;:;;&O&;::-------:;:::::::::::;:;;***&&&&&&OOOO88X@                                
OSXSXXX @@@@@  @ @ @ @ @@ @ @@ @ @@ @ @ @@@@@   X8OO&**;*;;;:::::::::::::::-----иии,и,,и,,,,,,и:**;:----:;;;;;;::::-::::::::::;;;;::--::;;;::::::;;*&&*;:--------::::::::::::::;;*****&&&&&&OOOO8X@                               @
OSXXXX@  @@ @@@  @  @@@@@ @@ @ @ @@ @@ @@@@@ @@ @SOO&&****;:;:::::::::::-------иииии,,,и,,и,,,,-:;**;:::;;*;;;;::::-:::-:::::::;;;;::::::::::::;;;&&&&*::--------::::::;;;;:::;;;*****&&&&&&&OO88X@                                
O8SXXX@ @ @@@@@@@ @@    @@ @ @ @@ @@@ @@@@@@@ @ @X8OO&****;;;:::::::::::------ииииии,,,,ии,,,,иии-:;;;;;;;;;;;:::::-----::::::::;;;;:::::::::::;*&&O&*;:::--:---::::;:::;;;:::::;*****&&&&&&&OO88X                                @
8SXXSX@ @@ @ @@ @@ @ @@  @ @@ @ @@ @ @ @@ @ @  @ X8OO&****;;;;::::::::::----иииииии,,,,,,,,,,ииииии-:::::;;;;:::::::-------:::--:;;;::-:::::::;*&OOO&*;;::-:::::::::;;;;;;;;;;;:;;***&&&&&OOOOO8SX                                @
O8XXXX @ @@ @ @@ @@@@ @@ @ @@ @ @@@ @ @ @ @@ @ @ @X8O&&&&*;;;:;::::;::::-----ииии,ии,,,,,,,и,ииииии----::;;;;:::::::::---:::::---::;:---::::;*&&OOO&**;:;::::::::::::;;;;;;;;;;;;**&&&&&&&&&&O888X@                               @
OSSXX@  @@@@ @ @ @@ @ @@@@  @ @@@@ @ @@@@@@@@@    @SO&&&&*;;;;;;::::::::----и--ии,,ии,,,,,,,,иииии-----::;;;:;::;::;::---:::::-----::----:;*&&OOOO&*;;:::::::::--::;:;;;;;;;*;;*****&&&&&&&&&O88SX                                @
8SSXX@@@@ @@@ @@  @ @@ @ @@@@@@ @ @ @@@  @@ @@ @   XO&&&&&*;;:;;;::;:::::------ии,и,,,,и,,,,,ииии------::;;;;:::::::::--:::::::----------;&&&&&&&&**;;:::::::--::::;;;;;;;;;;;******&&&&&&&OOOO88X@                               @
8SXX@  @@@ @@@@ @ @ @ @ @  @ @ @ @ @@@ @ @@@@@  @  @8&&&&&*;;;;;;;;;;::::----ии-ии,,,,,,,,,,иии--------:::;;::::::::::----:::::---------;*&&&&&&&*;;;;;;:::-:::::::;:;;;;;;;********&&&&&&&O&O88SX@                               @
SXXX@ @ @@@@ @@ @@@ @@@@ @@ @ @@@@@ @@ @ @@@@@      SO&&&&*;;;;;;;;;;::::----и--иии,,,,,,ии,иии-------:::::::::::::::::-----:::::----и-:*&&&&&&***;;;;;;:::-:::-:::;;;:;;;*******&**&&&&&&&O&OO8SX                                @
SXXX@  @@ @ @ @@ @ @  @ @ @@ @@@ @@   @ @@@@@@@@@  @XSO&&&&**;;;;;;;;::::-----и-ии,,и,,и,,и,иии------:::::::;;::::-:::::::--::::::----:*&&&&&&&&*;;;;;;;::::::::-::::;:;;*****&*****&&&&&O&&OOO8SX                                 
SXX@@ @@ @@  @@  @@ @ @@ @@@ @@@ @ @@@ @@@@@ @@ @   @XO&&&&**;*;;;;;;::::-----иииииииии,,,иииии-----:::::;;:;;::::::::;:::---ии------:*&&&&**&&&*;;;;;;;:::::::-::::;;;;;***&*&*****&&&&&O&OOOOSSX@                               @
XXX@  @@@ @@@@ @ @ @@@@@@ @ @@ @@ @@ @@@ @ @@@ @ @   @8&&&&****;;*;;;::::------ииии,ииии,ииии------::;::::;;;;;::::::::::::--иииии--:*&&&*******;;;:;;;;;:::--:::::;;;;;;;**&**&*&&&&&&&&&OOOO88S@@                               @
XXX@@@@ @@@@ @@@  @  @  @ @@ @@ @ @ @ @@ @@@ @ @ @@  @X8&&&********;;::::----ии-иии,и,ииииии------:::::::::;;:;:::::::::::------:::;**&*******;;:::::;;;;::::-:::::;;;;;;****&&&&&&&&&&&&&OOOO8SX@@@                              @
XX@@ @@@@  @@ @ @@ @ @@ @@   @ @  @@@@@ @@@@@@@@@ @@ @@SOOO&&****;**;:::::-----ииииииииииии----::::::::::::;;;:::::::--::-:::;;*****&&*******;::::::;;:;;::::::::::::::;;****&&&&&&&&&&&&&OOOO8SX@XX                              @
XX@  @ @@@@ @@ @@ @ @ @@ @@@ @@ @@ @@ @@ @@ @ @@@ @@  @XSOOO&*****;*;;:::-------ииииииииии----:::::::::::::;;::::::::-----:;*&&&&&&&&*******;;:::;;;;;;;:;::::::::::::::;;***&&&&&&&&&&&OOOOO888X@XX@                             @
XX@  @@ @ @@ @ @@@ @@@ @ @  @  @@@ @ @ @ @@@@@ @@ @@   @X88O&&&*****;;:::::--и-и-иииииии------::::::::::::::;;:::::::---::;***&&&&&&***;;;;;;:::::::;;;;;;;:::::::::::::;;****&&&&&&&&&&OOOOO88SX@XX@                             @
X@  @@@ @   @@@  @@ @@ @@ @@@@@@ @ @@ @@@ @ @ @@@@ @    @X88O&&*****;;;::-------ииииииииии---:::::::;::::::::;:::::::---:;***&&&&****;;;::::::::::::;;;;;;::::;;;:::::;;;;;**&&&&&&&&&&&&OOO888SX@XXX@                            @
X  @@ @ @@ @@ @@@ @ @ @ @ @@@  @ @ @ @ @ @@@@@@@@@@   @ @@X8OO&&*****;;::-------ии-ииииии----:::::::::::::::::::::::::::;**&&&&*****;;:::-::::::::::::;;;;;:::::::::::;;;;;***&&&OO&&&&&&OOOO88SX@XXX@                             
@  @ @@ @ @ @  @@ @ @ @@ @ @ @ @@ @@@ @ @  @@ @@@@@@   @  @SOO&&&****;;:::::-----иииииии----:::::::::::-::::::::::::::;**&&&&&******;:::--::;;;:;:::;;;;;;;:-:::::::::;;;*****&&&OOOOO&OOOOOO88S@@XXX@                            @
@ @@  @@ @ @ @ @ @@ @ @ @ @@@ @@@  @@@ @ @@ @@ @@  @ @     X8OO&&&****;:::::-----и--ии-и----:::::::::::::::::::::::-::*&&&&&***;*;;::---:::;*;;;;::;;;;;;;;::::::::::;;;;*****&&&&OOOOO&OOOO88SS@@XXXX@                           @
@ @@ @@@@@ @@ @ @ @@@ @ @ @  @  @@ @ @ @ @ @@@@@ @@        @8OO&&&&&**;;:::::----и-иии-и---:::::::::::::::-::::::::::*&OO&&&****;:::---:::;;;*;;;;;;:;;;;*;:::::::::;;;;;****&&&&&OOOOOOOO8O88SX@@@XXX@                           @
@@@ @@ @@ @ @ @  @ @ @ @@ @@@ @@ @ @@ @ @@ @   @ @@@  @     X8O&&&&***;;;::------и-и-------::;;::::::::::::::::::;:;*&O&&&&*;;;::::--::;;;;*;;;;;;;;;:;;;;;;::::::::::;;;***&&&&&OOOOOOOOO8O88SX@@@XXX@                           @
@@@@ @ @ @@ @@ @@ @@ @@@ @   @@ @ @  @@@ @@ @@@@@@@@@@      @SOO&&&&&**;;::--------------:::::::::::-::-:::::::;;;*&OO&&&*;;::::::-::;;****;;;;;;;;;;;;;;;;::::::::::::;;;****&&&OOOOOOOOOOO88SX@@@XXX@@                           
@@@@ @@@ @ @@@@@ @@ @  @ @@@ @ @ @@ @ @@@ @@@@@@ @@@@ @ @    X8O&&&&&**;;::::-----------:::::;;::::---::::::::;*&&OOO&*;;;;:::::::::;;;;*&***;;;;*;;;;;;;:::::::::::::;;;;***&&&&OO88O8OOO888SXX@@@XXXX@                          @
@@ @@@ @ @@  @ @ @ @@ @ @ @ @ @ @ @@@@@@ @     @ @@@ @@ @ @  @XOOO&&&**;;::::::----------:::;;;;::::---:::::;**&&&&&*;;;:::::::::;::::;;**&**;;;;*;;;;;;;;;;;;;:::::::;;;**;**&&&&O8888O88888SXX@@@XXXX@@                          
@ @ @@@ @ @   @ @ @ @ @ @@ @ @ @ @      @@@@@@@@ @@@ @@@   @  @8OO&&&&**;::::::----------:::;;;;;;::::::::;**&&&***;;;;:;;;::::::::;;;;;;*****;;;;;;;;;;:;;;::;::;::::;;;****&&&&&O8888OO888SSX@@@@@XXXX@                          
@@ @ @@ @ @@@ @ @@ @ @ @@ @@ @@@@ @@@@@ @  @ @ @@@@@ @@ @@@ @  XOO&&&&**;;:::::-----------::;;;;;;;::::::;*****;;;;;;;;;;;;;:::::::;;;;;;****;;;;;;;;;;;:;;;;;;::;::::;;;*****&&&OO88888888SSSX@@@@XXXXX@                         @
@ @ @ @ @ @  @ @ @ @ @@  @@@@  @@@@ @ @@ @ @@ @   @@@@@@   @    SOO&&&&**;;;:::-----------::;;;;;;:::::;;;*;:;:;::::::::;;;;::::::;;;;;******;;;;;;:;;;:::;;;;;:::;:;;;;;*****&&&OOO8888888SSXX@@@@@XXXX@@                        @
@@ @@ @@ @  @@ @ @ @ @ @   @ @    @  @ @  @ @@ @@ @@ @@@@       @8O&&&&**;;;:::::---------::;;;;;;;:::;;;:::::::::::::;::;;;;:::::;;;;;;;****;;;;;;;;;;:::;;*;;;;;;;;;;;;***&*&&&OO88SS8888SSXX@@@@@XXXX@@                         
@@@@ @ @ @@ @   @ @ @ @ @@ @@ @ @ @@@ @  @ @ @@ @@ @@ @@ @   @   X8OO&&***;;;::::---------::;;;;;;;;::::::::-:::::::::::::;;;::;:;;;;**;;****;;;;;;:;;::::;;;;;;;;;;;;;;****&&&&&&OO8SS88SSSSXXX@@@@XXXX@@@                        
@@ @@  @ @ @  @@@  @ @ @@  @ @@@  @@ @ @@@ @@ @ @ @@@@@@@@@ @    @SOO&&&**;;;;::-:------:--::;;;;;;:::::::::::::;::::::::::::;;;;;;;*;;;;;;**;;:;;;;;;;;::;;;;;;;;;;;;;;;;;*&&&&&&O88SS8SSSSXXX@@@@@@XXXX@@                       @
@@ @@@ @ @ @@ @  @@ @ @ @ @ @@@ @@ @@ @  @ @  @ @@@ @@@ @ @  @    @8OO&&&**;;;;::::---:----:::::;;:::::-:::::::::::::::::;:::;;;;;**;;;;;;;;;;;;;:;;;;::;;;*;;;;;;;;;;*;;;***&&&&&OO8SXSSSSXXXX@@@@@@XXX@X@                       @
@ @ @  @ @ @ @ @@ @ @ @@ @@  @ @@   @@ @@@ @@@ @   @@ @ @@@@ @@    XOO&&&**;;;;;::::-::--::::::::::::::::::::::::;::::::::;::;;*;*;;;;;;;;;;;;;;;;::;;;;;;;******;;***********&&&&OO8XXSSSSSXXX@@@@@@XXXXX@@@@                    @
@  @ @ @ @@  @@ @@   @@ @ @  @  @ @ @ @  @@ @@ @@ @@@  @@@@@   @   @XOOO&***;;;;::::::-::::::::::::--::;::::::::;::::-:;;:;;;;;***;;;;;;;;;;;;;:::;;;;**;*********;***********&&&OO88SXSSSSSXX@@@@@@@XXXX@@@@X@                   @
@@  @  @@@@   @ @ @ @ @  @ @  @    @ @  @ @   @ @@ @ @ @@@ @ @  @   @SOO&&***;;;;;::::-::--:::::::::-::::::;::::::;::::;;::;::;***;;;:;;;;:;;:;:;;;;;***;**;;****;************&&OOOO8SXSSSSXXX@@@@@@@X@XX@@@@XX@@                 @
@ @@@@  @  @ @   @   @ @@ @@@ @ @ @ @  @ @ @@ @@ @  @ @  @@ @  @    @X8OO&&&**;;;;;:::::::::::::::::-:::;:;;::::::;::::;;::;:;;****;;;;;::;::::;;;*;;******;;*;;;;;;**********&&&OOO8XXSXSSXXX@@@@@@@@@@XXX@@XXXX@@                
@@ @ @   @ @@ @ @ @@  @@  @@@ @ @ @ @ @@@ @@ @ @ @ @@@@ @@ @@@   @  @@X8OO&&&**;;;;::::::::::::::::::::;;::;:::::::::;:;;;;;:;;***;;;;;;:;;;::;;;;*************;;;***********&&&&OO88XXSXSXXXX@@@@@@@@XXX@@@@@XXXX@@@@@@          @
@@   @ @  @@ @ @@ @ @@  @ @ @ @  @ @@@ @@  @ @@  @@  @ @ @ @ @@     @@@SOOO&&&**;;;;;;:::::::::::::::::;;;;;;;;;;;:::::;;;;;:::;;;;;;;::;;;;;;;;*****;;;;******;;;;********&*&&&&&OO8XXXSSXXXX@@@@@@@XX@X@@@@@@X@X@@@X@@@@@@@@@@@ @
@ @@@  @ @ @  @ @@@ @  @  @ @   @ @@ @@  @ @ @ @@  @@@ @ @ @@@  @    @@@SOOO&&&**;;;;;::::::;::::::::::;;;;;;;;;;;:;;::;;;:;:::;;*;;;:::;;;;;;********;*;;**;;*;;*************&&&OO8SXXSSXXXX@@@@@@@@@@@XX@@@@@@@XXXX@@@@X@@@@@@@@@
@ @@ @  @ @  @ @  @  @ @ @   @@ @  @ @ @ @@  @  @ @ @ @ @@@ @ @@ @    @@X8OOO&&&*****;;;:::;;;;:::::::;;;;;;;;;;;;;::::;:;;:::;;*;;;;;;;;***;;******;;**;;;*;;;**************&&&&OO8SXXSSXXXX@@@@@@@@@@@XXX@@@@XXX@@@@@@@@@@@@@@@@@
@ @ @ @  @ @  @  @   @@ @  @ @ @ @  @  @ @ @ @ @ @ @ @@ @ @  @@@  @     @S8OOO&&&*****;;;;;;;;;;;:::::;;;**;;;***;;;::;;;:::::;;;;;;;;;;;;***;*******;;;;;;;;;;;********;**&&*&&&OO8SXXSSXXXX@@@@@@@@@@@@XXX@@@@XX@XX@XX@@@@@@@@@@@
@    @@  @ @ @ @ @ @ @ @ @ @ @ @  @ @   @ @ @ @  @  @ @  @ @ @@@         XS88OO&&&******;;;;;;*;;:::::;;******;****;;;::::;::::;;;;:;;;**;*******;;**;;;;;;;;;;;************&&&&&OO8SXXSSXX@@@@@@@@X@@@@XX@@@@@@@X@@X@@@@@@@@@@@@@X
@@    @ @ @   @ @ @  @   @ @ @ @ @ @ @@  @ @@@ @ @@ @@ @ @ @  @@@ @ @    @XS88OO&&&******;;;;***;;::::;******;;*****;;::::;:::;:;;;;;;***;**********;;;;;;;;;;;;;***********&&&&&OO8SXXSXXX@X@@@@X@XX@@@@@X@@@@ @@X@@@X@@X@@@@@@@@X
@@@  @ @ @  @  @ @  @ @ @ @  @ @  @  @ @  @ @ @ @  @@ @@ @ @    @@  @     @XS8OOO&&&***&****;****;;;:;;*;******;*****;::::::::::;;;;;****************;;;;;;;;;;;;***********&&&&&&O8SXXXXXX@@@@@@X@@@@@@@XX@@@@@ @@X@@X@@@@@@@@X@@X
@ @ @ @ @    @ @  @ @  @ @ @ @ @ @ @ @ @ @ @@  @         @@@@@ @@ @       @XS88OOO&&&**&&&********;;;;;**************;;:::::::::;;;;;;**********;*;**;;;;;;;;;;*;********;**&&&&&OO8XXSXXX@@@@@@@X@@@@@@XX@@@@@@@ @XX@@@@X@@@@@@@@X
@@ @@    @ @@  @   @ @@ @ @ @@    @ @ @   @   @ @ @@ @ @ @   @@@ @@@ @     @XS88OOO&&&&&&&&&***&****;;**;****&&&*****;;;;:::::::;;;;;;;******;**;****;;**;;;;;;***;********&&&&&OOOSXXSXXXX@@@@@XX@X@@@@@@@@@X@@@@ @XX@@@@@@@@@@@XX
@ @ @@    @  @ @ @  @  @   @  @ @    @ @ @  @  @ @ @@ @ @ @@@ @ @ @@        @XS8OOOO&&&&&&&&&&&&&&******;****&&&***&&*;;;;::::::;;;;*;;****;**;;;**;;;;**;;;*;;;;*;;;******&&&&OO88SXXXXXXX@@@@@XX@@@@@@@@@@@@@@@ @ @XX@@XX@@@@@@@X
@@ @ @@@@ @ @ @ @ @ @  @@ @   @  @  @@@ @ @ @@ @ @  @ @ @ @@  @ @@ @@ @ @    XSS8OOOO&&&&&&&&&&&&&******;****&&&&&&&&***;;:;::;:;;*;;;****;;;**;;;*;;;*****;;**;;***********&&&&O88SXXXXXX@@@@XX@XXX@@@@@@@@XX@@@@  @@XX@@@@@@@@@@X
@ @      @    @  @ @  @  @ @                @@  @ @   @      @   @ @ @       @XS88OOOO&&&&&&&&&&&&&&*********&&&&**&****;;;;;;:;;;**;;;;***;;;;;*;;;;;;;;;;;;;**********&&*&&&OOO8SXXXXXX@@@@@@XXXXXXX@@@@@@XX@@@@@@@ @X@@@@@@@@@@X
@ @ @ @   @ @     @   @     @ @ @@@@ @  @@ @  @ @ @ @   @  @ @ @@ @  @        @XS8OOOO&&&&&&&&&&&O&&&&***&***&&&&&&&&*&&*;;;;;;;;;**;;*****;;;***;;;;;*;;;;;;;;********&&**&&&OOO8SXXXXX@@@@@@XXXXX@@X@@@@@XX@@@@@@@@@@@X@@@@@X@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @XS88OOO&&&&*&&&&&&&&&&&&**&****&&&&*&******;;;;;;;;*;;;;;;;*;;;;;;;;**;;;;;;;;;;;;*;***&&***&&&OOOSSXXXSXXXXXXXXSXXXXXX@XX@XXXXXXX@@@@@@@XX@XXXXX@@X