....................................................................................................
....................................................................................................
....................................................................................................
...........................................++++????+?++++=====+==~~.................................
...........................................+++++++++++++++======~~=.................................
....................................???????????????+++++++++++++++=====~~~..........................
....................................?????????????????????????++==++===~===..........................
...............................,,:,:,,,,:,,,,,,,::::::?+::~:~~~:::~:::~~~..,,,......................
...............................::::::::::,,?????,,,,,,,,,,.,,~+++?~~~=~=,,,,........................
.........................................+......................::,++~~~~~~~~.......................
.....................................++...............................+?~~~~........................
..........................=======~=+?~~...............................,::+++++~~~:,.................
.......................==~====~=~+?~~..................................:,,~?++~::::,,,..............
.......................???????????........................................~:?++?~::::...............
.....................?????????????........................................::::+?:::::::,............
.....................~~=~~~~??~~.............................................,,+++~,,,,.............
............................?..................................................~?=====..............
...........................?.....................................................+==................
...................~~~~:~~?:....................................................~==++==,............
.................:~~:::::?,:......................................................?+==,.,...........
..................?????????.....................................................:,???+,,:,..........
................????????+??.....................................................::,?+:,,,,,.........
.................=+==++??=.......................................................,,?++,,,,..........
...............+++===+++==......................===..............................,:++~:~~,:,........
.......................+...........................................................?+++.............
..................................................................................~?==+++...........
...............,,,,,.,+.,..........................,.....,.,.......................+==+.............
....................,.?.....................,............,.,.............:........=?===++...........
..............?????????+?...........?+....+??????+??+...+?==............~.......:::??,,:,,,,........
................????????...........+?....??+???+??++??++????...=...~....?.......,,?+??,,,,..........
..............????++???+?..........+++++?+++???.....+++?????+===...~...........::,??:,:,,,,.........
................???+??+?+..........+??+??????????+.????????????+?+??~+~++~......::???:::,,..........
.......................?...............................+..+?.+?,,..,:,,::~~~....=?==+=++............
......................+?............................?+?????+???,..........:~.....?+==...............
.......................?................................,,?,++,:,,.........:....=?==+++.............
...............?+++++++?+..........+=+++++......+??+??+???????????+.....~+?+..::,++:::,,,,..........
................+++++++++..........=+++=+++++++=++=+++?=====+?+?+?++++++++++..,,?++?::::............
...............????????+?...........????????+++?????????+++++++???????????+?:.:::??:::,,,,..........
................???????+?+..........???????????+???+???????????+????+???+?+..:::+???:::,............
...............:,,,:,:,,?,...........,,,,,,,,,,,,,,,,,,,,,,:::::::?:~?~??~~....~?+====..............
.................::::,:??,...........,,,,?+++,?+???++++:,,:??+???????????~...~=?+=+,................
........................+..................................,.,,,,,,+:::::~....~?=====...............
........................+....................+??.+++??....,,+???????????:.....?+==..................
..................======~+=~............=~~~~~~~~~~=~~~===~=============....,:?++~~~,,..............
.................=~~~=~~?~~?~..~~~~~.....~~~~~?~~~?~?+~~~~::=?+++++??==...,:,??+~,,,,:,.............
...................??????????????+???......+??????++??+++?+????+?++??.....~~:???:~:::...............
..................????????????????????......?????????????==???+?+++.....~~~:??~~:::::...............
.....................~=~~~~~??:??++?:~~.......:::~::~~~?:~~~?~=~~.......,,~+++=,,,,.................
....................................??................,,,,,,,,...:......::?=====....................
.....................................+?+......................:,,,......++~~~.......................
.........................~:~:::~::~~:~~?:::...........:::~:~:.:+~,,,,:~+==+=~~,,....................
........................~~:::::::::::::+::::...........:::..:..,,,,,~?+=~~,,,,,,,...................
...........................?????+??????????....................===~+????==~~~~......................
.........................??I???????????????.................==+=+???~===~=~~~~......................
..........................=+=+++====??~==...................=+??=++++~~:~~:.........................
.......................++=++======+?=====.................~~~?=++======~~::.........................
.................................?+........................+?+::::~:................................
.................................+.........................++?,,,~::~:..............................
..................,...,,,,,.,,.?.,.,.,,,,,,.,,........,,,,??,?:~::::.....,..........................
...................,,,,.,,,,.,?......................,,,,,,,,,:::~~::~~.,...........................
...............?????????????????????????????????????????????+?????===~===~~~~.......................
................??+???+?????????++??+?+++???.?+??++?++?++????++?+?????=~=~~~~.......................
.............+?+????+?++?+++++++????+?+??????+??????++??+++++++??????~~===~~~~~:....................
..............???????+?++???++++++?+?++?+?+???+??????????+???????++??????~~~~~~:....................
...........................................................,,,,:::::~:~~~~~~~=......................
..........................................................,,,:,::~::::~~~~~=~.......................
........................................................,,,,,,::::::~:~~~~~~~====...................
.........+++++?+++++++++++++++++++++++?++??+++++++++++++++++++++++++++??????++~~:::,:...............
...........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++?++++???????~:::................
.........???????????+??????+????++????+?+?+?????????+++=+============~~~~~~~~~::::::::..............
..........++????++++?+++++?++??????????????????????????????++++++??????+++??????:~::................
.........,::,,:,,,,,,:::,:,,,,,:::::::::::::::,:::::::::::~~~~~~~~~~~~~~~=========..................
..........:,:::::::::::::::::::::::::::::::::,:::::::::::::~~~~~~~~~~~~~~~======,.,.................
.......................................................,,,,,,,:::::::~~~~~~~~=====..................
....................................................................................................
...........========================================================~~~~~~~~~~~~~~,,.................
..........===============================================~=~~~~~~~~~~~::::::::::,:,,................
............???????????+???????????????????????+?+++++++++++++++++========~~~~~~~~..................
...........?I??????????????????????????????????????????++++++++++++=====~~~~~~~~:::.................
.............~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::,,,....................
....................................................................................................
....................................................................................................
....................................................................................................
@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@
@@@@@@@@@@@@#%*i=ii*?O@@@@@@@@@@@
@@@@@@@@@@@&O????????%&&@@@@@@@@@
@@@@@@@@@O*iiiiiiiiiiiiie&@@@@@@@
@@@@@@@@$i;;;;;;;;;;;;;;;e@@@@@@@
@@@@@@@@$!!!!!!!!!!!!!!!!!#@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@?oooooooooioiooooooooo?@@@@
@@@@@#=;;;;;;;;;;;;;;;;;;;;;+#@@@
@@@@@?;;;;;;;::;;;;;;;;;;;;;;$@@@
@@@@@o;;;;;;;:_;;;;;;;;;;;;;;e@@@
@@@@@i;;;;;;;__:;;;;;;;;;;;;;*@@@
@@@@$;;;;;;;:__:;:::;;;;;;;;;o@@@
@@@@%;;;;;;;::_:_:__:;::;;;;;o@@@
@@@@?+;++;;:::______:__::;;++e@@@
@@@@$+;++:_________:;@&;_;;++!@@@
@@@@$;;;;::@@:______o#&;_:;;;!@@@
@@@@O+;;;::@e:___________:;;+$@@@
@@@@#=;;:________________:;;=&@@@
@@@@@eoi==++=+++=+++=+++=io*?@@@@
@@@@@O??$%%?%%%?%%%?%%%?%$??&@@@@
@@@@@e;;::_______________;;+&@@@@
@@@@@$;;:;______:::_____:;;=&@@@@
@@@@@Oe;;;:____________:;;;!@@@@@
@@@@@@@;;;;:__________:;;;+&@@@@@
@@@@@@@=;;;;:________:;;;;i@@@@@@
@@@@@@@i;;;;;::____::;;;;;!@@@@@@
@@@@@@@@*;;;;::::::::*+%;;#@@@@@@
@@@@@@@@@@@+*:::::::+@@@;+@@@@@@@
@@@@@@@@@@@@@:::::::+@@@;o@@@@@@@
@@@@@@@@@@@@#::::::__@@&;$@@@@@@@
@@@@@@&O##?+::::::___+@O+@@@@@@@@
@@@@&&#&@@@@@@@@@@@@@@@@&@@@@@@@@
@@@!++;;__::::___:_____:+!#@@@@@@
@@?:_____:__________::_:__;e&@@@@
@&+____________________:___:=O@@@
@!___________________________+#@@
@o____________________________o@@
&=::::::::::________::::::::::+#@
@?*e***e***e*oooooo****e***e**e&@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@O!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&@
@&+___________________________;O@
@@%;__________________________*@@
@@@$+_______________________:o#@@
@@@@#e;___________________;*%@@@@
@@@@@@#e+:_____________:+eO@@@@@@
@@@@@@@@&$!i;:_____;+o?O@@@@@@@@@
@@@@@@@@@@@@&O$?!?$O&@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@&@@@&&&&&&#&&&&&@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#&&&&&&&&&#&&&&&@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#&&&&&&&&&#&&&&&&@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@&#&&&&&&&&&#&&&&&&&@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@&&&#&&&&&&&&&#&&&&&&&@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@&&&#&&&&&&&&&#&&&&&&&&@@@@@@@@@@@@@@@
@@@@@@@@@@@@&&&&#&&&&&&&&&#&&&&&&&&@@@@@@@@@@@@@@@
@@@@@@@@@@@@&&&&#&&&&&&&&&#&&&&&&&&@@@@@@@@@@@@@@@
@@@@@@@@@@@@&&&&#&&&&&&&&&#&&&&&&&&&@@@@@@@@@@@@@@
@@@@@@@@@@@&&&&&#&&&&&&#OOOO&&&&&&&&@@@@@@@@@@@@@@
@@@@@@@@@@@&&&&&#&&&&#OOOOOOOO#&&&&&@@@@@@@@@@@@@@
@@@@@@@@@@@&&&&&#&&#OOOOOOOOOOO&&&&&&@@@@@@@@@@@@@
@@@@@@@@@@&&&&&&#&OOOOOOOOOOOOOO&&&&&@@@@@@@@@@@@@
@@@@@@@@@@&&&&&&#OOOOOOOOOOOOOOO#&&&@@@@@@@@@@@@@@
@@@@@@@@@@@&&&&&OOOOOOOOOOOOOOOOO&&&@@@@@@@@@@@@@@
@@@@@@@@@@@&&&&&OOOOOOOOOOOOO*OOO&&&@@@@@@@@@@@@@@
@@@@@@@@@@&&&&&&OOOOOOOOOOOO;*+$O&&&&&@@@@@@&@@@@@
@@@@@@@@@@@&&&&&OOOOOOOOOOO$+e=$O#&&&#&&&&&&&&&&@@
@@@@@@@@@@@&&&&&OOO=;?OOOOOO%eOOOO&&&#&&&&&&&&&#@@
@@@@@@@@@@@@&&&&OO:eeeOOOOOOOOOOOO#&&&&&&&@@@@@&&@
@@@@@@@@@@@@&&&&OO;+=OOOOOOOOOOOOO&&&@@@@@@@@@@@&@
@@@@@@@@@@@@@&&&OOOOOOOOOOOOOOOOOO&&&@@@@@@@@@@@@&
@@@@@@@@@@@@@&&&OOOOOOOOOOOOOOOOOO&&&#&@@@@@@@@@@@
@@@@@@@@@@@@@@&OOOOOOOOOOOOOOOOOO&&&&#&@@@@@@@@@@@
@@@@@@@@@@@@@@@#OOOOOOOOOO?OOOOOO&&&&&@@@@@@@@@@@@
@@@@@@@@@@@@@@@@OOOOOOOOO=:$OOOO#&&@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@&OOOOOOOOOOOOOOO&&&@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@&&#OOOOOOOOOOO@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@&&&&&OOOOOOOOO&@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@&&&&#OOOOOOO&@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@&@&&OOOOOOO&@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@OOOOOOO@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@OOOOOOO&@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@OOOOOOO#@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@OOOOOOOO@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@#OOOOOOOOO&@@@@@@@@@@@@@@@@@@
                                                                                                 
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                               #######                                              
                                          t#t#t####t###t#t#                                         
                                        #####################                                       
                                      t#t###t###t####t###t###t#t                                    
                                    #############################                                   
                                  t#t#t###t###t####t###t###t###t##                                  
                                 t##################################                                
                                t###t###t###t###t########t###########                               
                               t######################################                              
                              t###t###t###t###t####t###t###t###t###t###                             
                             t#########################################                             
                             ###t###t###t###############################                            
                            #############################################                           
                           t##############################################                          
                           ###t###t###t###t###t####t###t###t###t###t###t##                          
                          #################################################                         
                          ##t###t##########################################                         
                         ##################################################                         
                         #t###t###t###t###t###t####t###t###t###t###t###t###t                        
                         ###################################################                        
                        t###t###############################################                        
                        ####################################################t                       
                        ##t###t###t###t###t###t####t###t###t###t###t###t###t#                       
                        #####################################################                       
                       #t######################tt############################                       
                       ########################ttt###########################                       
                       ###t###t###t###t###t###tttt#t###t######tt###t#t#t###t#                       
                       ###t###t###t###t###t###tttttt###t######tt###t#t#t###t#                       
                       #######################ttttt#t#########t##############                       
                       #####################t#ttttt#tt########t######t#######                       
                       #####################t##tttt#t#########t##############                       
                       ###t###t###t###t###t#t#ttttttt##t###t##tt###t#t#t###t#                       
                       #####################ttttttt#t#######t#t#t############                       
                       #################ttttttttttt#tttttt#ttttttttt#t#######                       
                       ##############t#########tttt#ttttt#########t#t########                       
                       ###t###t###t###t#ttttttt#tttttttttttttttttttt#t#t#####                       
                       ###########tt#t#t#tttttttttttttttttttt#ttttttt########                       
                       ##########tttttttt###tttttttttttttttttttt#ttttttt#####                       
                       t#########t#tttt#     t#tttttttttttt#t#     #ttt######                       
                        ##t###t##tttttt       tttttttttttttttt      tttt#####                       
                        #########ttttt        tttttttttttttttt      #tt######                       
                        ###t###t#tttttt      ttttttttttttttttt      ttt######                       
                        t###tt#ttttttttt    tttttttttttttttttt#    ttttt###t                        
                        #####t#ttt#ttttttt#tttttttttttttttttttttt#ttttt####                         
                        t#t##tt#tttttttttttttttttttttttttttttttttttttttt###                         
                         #####tt#tttttttttttttttttttttttttttttttttttttt####                         
                         #######tttttttttttttttttttttttttttttttttttttt#####                         
                         ########t#tttttttttttttttttttttttttttttttttt#t####                         
                         tt######ttttttttttttttttttttttttttttttttttttt#t###                         
                           #######ttttttttttttttttttttttttttttttttttt######                         
                           #######tttttttttttttttttttttttttttttttttttt#####                         
                           ########tttttttttttttttttttt#ttttttttttt#t######                         
                           #########tttttttttttttttttttttttttttttttt#######                         
                           ##########tttttttttttttttttttttttttttttt########                         
                           ##########ttttttttttttttttttttttttttttt#########                         
                           t ##########tttttttttttttttttttttttttt##########                         
                             ##########tttttttttttttttttttttttt#t##########                         
                             ###########tttttttttttttttttttttttt#######t##t                         
                             t#########  tttttttttttttttttttt#t###########                          
                              t   t ###   tttttttttttttttttttt############                          
                                           #ttttttttttttttt#t### #########                          
                                            tttttttttttttttt#t#t t  # #t##                          
                                               tttttttttt#            ####                          
                                                t#tttttt              ###t                          
                                                                      ####                          
                                                                      #t#t                          
                                                                      ###                           
                                                                      ###                           
                                                                      ###                           
                                                                      #t#                           
                                                                      #t#                           
                                                                      ###                           
                                                                     t##                            
                                                                      ##                            
                                                                     t#t                            
                                                                      ##                            
                                                                     ###                            
                                                                     ##                             
                                                                     ##                             
                                                                     ##                             
                                                                     ##                             
                                                                     #                              
                                                                     #                              
                                                                     #                              
                                                                                                    
                                                                                                    
                                                                    #