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