#@@@@@@@@#$$#@####$$####$$=*!;;:::::::;;!!**=====$$$#####$*!!;::~~~~~~~~:::::::;*#@@@@@@@@;.        
#@@@@@@@@@$##@####$$####$$=*!;:::::~~::;;!!!*****===$$##$=*!;;::~~~~~~~~~::::::;*[email protected]@@@@@@@=-        
#@@@@@@@@@##@@#$##$$###$$=*!;:::~~~~~~~:;;;!!!!!!***==$$$*!!;::~~~~~~~~~~~:::::;!=#@@@@@@@#:.       
#@@@@#@@@@##@@@$$$$$###$==*!;:~~~~~~~~~~::;;;;;;;!!!!*==*!;;;:~~~~~~~~~~~~::::::;[email protected]@@@@@@@!,       
@@@@@#@@@@#@@@@$$$$$$##$=*!;;:~~~~~~~~~~~:::;;;;:;;;;!!!!;::::~~~~~~~~~~~:::::::;;=#@@@@@@@$~       
@@@@@#@@@###@@@###$$##$$=*!;::~~~~~~---~~~:::;::::::;;;;;::~~~~~~~~~~~~~~~::::::;;[email protected]@@@@@@@;.      
#@@@@##@@#$#@@@###$###$=*!;;:~~~~~~~----~~~~::::::::::::::~~~~~~~~~~~~~~~~~::::::;;*#@@@@@@@*-      
#@@@@##@@#$##@##@####$=*!;;::~~~~~~-------~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~~:::::::;!=#@@@@@@=:      
#@@@@##@@#######@####$=*;;:::~~~~~~--------~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~::::::;;*#@@@@@@$!      
#@@@@###@#$$##@@@####$=*;::~~~~~~~---------~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~::::::;;[email protected]@@@@@#*.     
@@@@@###@#####@@@####$=*;::~~~~---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;!=#@@@@@#*.     
@@@@@#########@@@####$=*!;:~-~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;*[email protected]@@@@@=,     
#@@@@########@@@@####$=*!;:~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;!=#@@@@@=-     
#@@@@####@##@@@@@####$=*!;:~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;*[email protected]@@@@$~     
#@@@@@@@@@$##@@@@####$=*!;:~~~~---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;*[email protected]@@@@$:.    
#@@@@@@@@@$$##@@@####$=*!;::~~~--------~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~::::::::;;!=#@@@@#:     
#@@@@@@##@###@#######$=*!;:::~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::;;;*[email protected]@@@#;.    
##@@@@###@###@########$=!;:::~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::;;;!=#@@@#!.    
####@@#$#@##@@########$=*;;::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;;!*#@@@#*.    
$$$#@@$$#@##@@########$=*!;;:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::;;!*[email protected]@@#*.    
$=$#@@#$#@###@########$$=!;;::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::;;!=#@@#*.    
==$#@@###@#$##$#######$$=!;;::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::;;!*#@@#!.    
=$$#@@###@#$$$$########$=*!;;:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;[email protected]@#!.    
*[email protected]###@@#$$$$########$=*!;;:~~~~~~~~~~~~~~:~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::;;;;!=#@#;.    
;=$$####@@@###$########$=*!;;::~~~:::~~~~~~:::::::~~~~~~~~~~~~~~~~~~~~~~~-~~~~~::::;;;;;;!*[email protected]#!.    
-!=$###@@@@##$$#@#######=*!;;::~~~:::::~~::::::::::~~~~~~~~~~~~~~~~~~~~~~~-~~~~:::;!!*!!!!*$##!.    
.:*$#@#@@@@@##$#@@######$*!;;:::~~::::::::::::::::~~~~~~~~~~~~~~~~~~~~------~~~~:;!**=***!*=##*.    
 -!$#@@@@@#@##[email protected]@@######$=!!;::::~:::::::::::::::~~~~~~~~~~~~~~~~~~~--------~~~::!**====***=##!.    
 .:=#@@@@##@#$#@@@######$=*!;;::::::::::::::::::~~~~~~~~~~~~~~~~~~~~-------~~~::;**===******$$!.    
  ~*#@@@@@###$$#@@@#####$=*!;;::::~::::~~~~~::::~~~~~~~~~~~~~~~~~~~~~-~~--~~~::;*===**!!****=$:     
  ,;#@@@@@##$==##@@#####$=*!!;;:::::::~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~::;!*==*!!;;;!!***!,     
  .:#@@@@@##$==$#@@#####$=*!!;;::::::~~~~~~~~~~~~~~~~~~~~----~~~~~:::::::::;!!***!;;;;;;!!!!!:.     
  [email protected]@#####$$=$#@@#####$=*!;;:::::::~~~~~~~~~~~~~~~~~~~~---~~~:::::::::::;!****!;:::;;!!!!!!~      
  .~=#@@##$#$$=$##@#####$=*!;;:::::::~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;:;;!!***!;;;;;!!**!!!!~      
   ,*##@##$$$==$##@#####$=*!;:::::::::~~~~~~~~~~~~~~~~~~~~~~:::::::::;;;;!!***!;;;;!*=$$=*!!!:      
   .-:!*$$=====$###@@@##$=*!;:::::::::~~~~~~~::::::::::::;;:;;;;;::::;;!!!***!!!!*$##$$$=*!!!:      
    ..-:*======$###@@@@#$=*!;;::::::::::::::;;;!!!!!!!******!!!;;;:::;!!!******=$###$**=*!!;!;,     
    ,,-~;!*****$$#@@@@@#$*!;;;:::::::::::;;!!!******========**!!;;::::;!!****==$#@@#=!!!*!!;!;-     
   .~;;::;!!***=$#@@@@@#=*!;;:::::::::;;;!!!!!*****==========**!!;;:::;;!**===$$####*!!!!!;;!!:.    
,,,-;**!;;!;!!*=$#@@@@##=*!;;::::::::;;;!*!!!!!!!!!!!***======**!!;::::;!*====*!*$$=!!!!;;;;!!;.    
!!;::!!;::;;;!*=$##@@@#$=!;;::::::::;;!!*!!;;;;;:::;;;;!!**=====*!;;:~:;!*==*!;:;;;;;;;;;;;;!!!-    
$$*;:;;:::;;;;!=$##@@@#$=!;;:::::::;;!!!!!;:::::::;:;;;;!!**=====*;:::::!**!;;;:::::;;;;;;;;;!!:.   
@@$!:;:~~:;;;;!=$###@@#$=!;;:::::;;;!!!!;;;::::;;;!!!!******==$$=*;::~~:;;;;;;;;;:;;;;;;;:;;;!!;,   
@@$*:;:~-:;;;:;*=$##@@#$*!;;;::;;;;;!!!;;;;;;;!!***=$$$$$$$===$$=*;:~~~~::::;;;!;;;;;;;;::::;;!!,   
@@#*::~--:;;;:;!=$##@@#$*!;;;;;;;;!!!!;;;;!!!*=$###@@@@###$=**===*;:~~~~::::;;!!!!!;;;::::::;;!!-   
@@#=::~--:;!!;;!*=$#@@#$*!;;;;;;;!!!!!;;;!*=$#####@@@@#*===*;;!*=*;:~~~~~:~~::;;;;;;;:::::::;;!!~.  
@@@$;::~-:;!**!!**[email protected]@#$*!;;;;;;;;!!!!!!*=$$##$==*$###=;;;;;::;!*!;:~~--~::~~~:::;::::::::::;;!!~.  
@@@#*::~~:;!***!***=#@#=*!;;::::;;;;!!!*==$==**!!;*=**;:::~:~~:;;;;:~~--~:::~~~:::::::::::::;;!!:.  
@@@#=;:~~:!!!**!!!!*$##=*!;;:::::::;;!!****!;;;::::;::~::~::~~::::::~~--~::::~~~~~~~~~~~~:::;;!!:,  
@@@@#!:~~~;!!!!!;;;;=$$=*!;;::::::::;;;;;:~~~~::::::~~~::;;:~~~~~::~~~---~:::::~~~~~~~~~~~::;;!!;,  
@@@@@=:~-~;!!!;;:-,-;****!;;;:::::::::~~~~~~~:::::~~:::;;;;:~~~~~~~~~~--~~:::::::~~~~~~~~:::;;!!;,  
@@@@@$;~--:;!!;;~,..-:;!!!;;;;;;::~~~~~-~~~:::::::;;;;;;;;:~~~---~~~~~--~~~::::::~~~~~~~~~::;;!!;-  
@@@@@#!:~-:;!!!;~,  ,~~::;;;;:::::~~~---~~~::::;;;;;;;;;;:~~~~~--~~~~~--~~~::::;::~~~~~~~:::;;!*;-  
@@@@@@*;~~:;!!!;~-. ,--~~:::::::::~~-----~~~::::;;;;;;;::~~-~~~~~~~~~~~--~~~:::;;:::~~~~~:::;;!*;-  
@@@@@@$!:~~:;;;;:-. ,----~~~~~~:::~~~----~~~~~:::;;;:::~~---~~~~~~~:~~~----~:::;;;;::~::::::;;!*!-  
@@@@@@#*:::::::;;~, .-----~~~~~~~~~~~---~~~~~~~::::::~~~--~~~~~~~~::::~~---~~::;;;;;::::::::;;!!!-  
@@@@@@@=;~::~--:;:, ,-----~---~~~~~~~~--~~~~~~~~~~:~~~~~-~~~~:::::::::~~----~~::;;!!;::::::;;;!!!-  
@@@@@@@$!~~~---~:~, ,----~~~--~~~~:::~~~~~~~~~~~~~~~~~~~~~~~::;;:::;;:~~-----~::;;!!!;::::::;;!!!-  
@@@@@@@#*~~----~~-. ,---~~~~~-~~~:::::~~~~~~~~~~~~~~~~~~~~~~:;;;::::::~----,-~:::;;!!!;:::::;;!!!-  
@@@@@@@@$;------,.  ,--~~~::~~~~~::::::::::~~~~~~~~~~~~-~~~:;;;:~~~~~~~-----~~:::::;!!!;;:::;;;!!-  
@@@@@@@@#*--~~-.    ,-~~~::::~~~:::;;;:::::::::~~~~~~~~-~~::;;::~~~~----~~~::::;;:::;!!!;;;;;;;!!-  
@@@@@@@@#$~-~~-  .. ,-~~~::::~~~::;;;;;;;::::::~~~~~~~~~~~::;!;:~----~~~~:::;;!*!;::;!!!!;;;;;;!!~  
@@@@@@@@@#:-~~, .,. ,-~~::;;;:~~::;;;;;;;;::::~~~~~~~~~~~~:;!*!;~~~~~::;;;;;!!**!:~~:;;!!!;;;;;!!~  
@@@@@@@@@#;~--. ,-,.,-~~::;;;:~~~:;;;;;;;;;:::~~~~~~~~~~~::;!*!;::::;!!!!**!***!::~~~:;;!!!;;;;!!~. 
@@@@@@@@@@*~,. .-~-.--~~::;;;;:~~:;;;;;!;;;:::~~~~~~~~~~::::!=*!;;!*=$$====*!;;:~~~::::;;!!!;;;!!~. 
@@@@@@@@@@$~   ,~~-,--~~::;;;;:~~~:;;!!!;;;;:::::::::~~:::::;*====$$###$$$=!;::~~~::::::;;!;;;;!!~. 
@@@@@@@@@@#;. ,-~:~,--~~::;;;;:~~~:;;;!!!;;;;::::::::::::;:::!*===$$$$$$$=*;:::~~~:::::::;;;;;;;;:-,
@@@@@@@@@@@*~,-~:;;~--~~::;;;;:~~~:;;;;!!!;;;;::::::::::;;::::;;;!!******!;:~~~~~~:::::::;;;;;;;!;;:
@@@@@@@@@@@#*;;;;!!:--~~::;;;;;:~~::;;;!!!;;;;;;;::::::;;;;:~~--~~::::::::~~~~~~~~:::::::;;;:;;;!*==
@@@@@@@@@@@@#$=****;~~~~::;;;;;:~~~:;;;!!!!;;;;;;;;:::;;;;;::~-----~~~-~~~~~~~--~~~~~::::;::::;;*[email protected]@
@@@@@@@@@@@@@@@#$*!:~~~~::;;;;;:~~~::;;;;;;;;;;;;;;;;;;;;;::~~--~~~~~~~~~~~~~~~~::::::::::::::;;*[email protected]@
@@@@@@@@@@@@@@@$==*:~~~~::;;;;;::~~::;;;;;;;;;;;;;;;;;;;;;::~~~~~~~~~~~~~~~:::;!!!!!!;;;;:::::;;=#@@
#@@@@@@@@@@@@@$=$$$!~~~~::;;;;;;:~~::;;;;;;;;;;;;;;;;;;;;;:~~~~~~~~~~~::;;;;!!*=====**!!;;::::;!$#@@
#@@@@@@@@@@@#$==#@#=:~~~::;;;;;;:~~::;;;;;;;;;;;;!!!!;;!;::~~~~~~~~~:;!!*==*==$###$$==*!!;::::;*[email protected]@@
@@@@##$$$###$=*[email protected]@@#!~~~::;;;;;;::~:::;;;;;;;;;!!!!!!!!!;:~~::~~~~:;!*=$$$$$######$$=*!!;;::;;;=#@@@
@###[email protected]@@@@=;~~::;;;;;;::~:::;;;;;;;;;!!!!!!!!!;::::::~~:!*=$$$#########$=*!;;:::::;;[email protected]@@@
$######$=====$#@@@@@#*:~::;;;;;;;:::::;;;;;;;;;!!*!!!;!!;::::::::!=$#######$$$$$=*!;;;::::::;!*#@@@@
$###@#$=***[email protected]@@@@@@$;~::;;;;;;;:::::;;;;;;;;;!!*!!;;;;;::;;::;!*$#####$$=*!***!;::::::::::;[email protected]@@@@
##@@$=*!!**[email protected]@@@@@@#*:~:;;;;!!;;::::;;;;;;;;;!!!!;;:;;;;;;!!!!*==$$$$=*!;::;!!;::::;::::::;[email protected]@@@@
###$:,-~:!===#@@@@@@@@$;~:;;;;!!;;::::;;;;;!!;;!!!;;:::;;;!!**====**!!!;::::;;;:::::;;::~~::;[email protected]@@@@
#@=:. ,~:*$$$#@@@@@@@@#*:::;;!!!!;;::::;;;;!!!!!;;;:::::;!*=$$$$=**!;;;::::~~::~~:;;;;::~~~:;*#@@@@@
@#;,  ,:!$$$#@@@@@@@@@#$!;;;;!!!!;;::::;;;;;;!!;;;;:::::;!!*=**!;;;;;;:::::~::::;!!!;::~~~~:;*#@@@@@
@#!,.,~!$#$$#@@@@@@@@@@#*!;;;!!!!;;;;::;;;;;;;;;;;;:::::;;!!!;;:::;;;;;;;:::;;!!**!;;:~~~~::;[email protected]@@@@@
@@=;::*$#$$$#@@@@@@@@@@#$=!;;!!!!!;;;:::;;;;;;;;;;;;:::::;;;;::::;;;;;;;;;;!***=**!;:~~~~~::[email protected]@@@@@
@@@@#$$$$=$#@@@@@@@@@@@@##=!!;!!!!;;;;:::;;;;;;;;;;;;;:::;;:::::::;;!!!!!**====*!;::~~~~~~:;*[email protected]@@@@@
@@##$***=$#@@@@@@@@@@@@@##$=*!!!!!!;;;::::;;;;;;;;;;;;;;;;;:::::::;;;!!!***!!;;::~~~~~~~~::;=#@@@@@#
@##$====#@@@@@@@@@@@@@@@@@#$=*!!!!!!;;::::;;;;;;;;;!!!;;;;;:::::::;;;!!!!!;:::~~------~~~::!=#@@@###
@##$=$$#@@@@@@@@@@@@@@@@@@##$==**!!!;;;::::;;;;;;!!!!!!;;::::::::::;;;;;;:~~~----------~~:;*$#@@@###
####$#@@@@@@@@@@@@@@@@@@@@@##$$==*!;;;;;:::;;;!!!!!!!!!;;:::::::::::;;;::~~---,,,,,,---~~:;=#@@@@###
#####@@@@@@@@@@@@@@@@@@@@@@@##$$$=*!;;;::::;;;!!!!!**!!;;::::::::::::::~~--,,,,,..,,,--~~:!$#@@@@###
##@@@@@@@@@@@@@@@@@@@@@@@@@@@##$$$$=!;;;:::;;;!!!!!*!!!;;:::::::::::~~~~--,,,,...,,,,-~~:;=$#@@@@###
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@###$$##$*!;;;;;;;!!!!!!!!!;;;::::::::~~~~~---,,,,,,,,,---~:;!$#@@@@@###
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##$$$##$=*;;;;;;!!!!!!!!!;;;;::::::~~~~~-----,,,-------~~:!=#@@@@@####
##@@@@@@@@@@@@@@@@@@@@@@#@@@@@###$$#@@#$*!;;;!!!!!!!!!!;;;;;;:::~~~~~~-------------~~~:!=##@@@@@####
##@@@@@@@@@@@@@@@@@@@@@@###@@########@@@#=*!!!!!!!!!!!!!!!!!!;::~~~~~~----------~~~~::!*[email protected]@@@@@@@###
##@@@@@@@@@@@@@@@@@@@@@@##############@@@#$=*!!!*****!!!!!!!!!;;::~~~~~~~~~~~~~~~~~:;[email protected]@@@@@@@####
##@@@@@@@@@@@@@@##@@@@@@@#####@@######@@@@@#$=********!!!!!!!!!!;::~~~~~~~~~~~~~~::;*=#@@@@@##@#####
##@@@@@@@@@@@@@####@@@@@@@#####@@@####@@@@@@@#$===**************!!;;;;:::::::::::;!*$#@@@@@#########
##@@@@@@@@@@@@@#####@@@@@@######@@@###@@@@@@@@##$===***********==***!!!!;;;;;;;;;*=$#@@@@@@#########
##@@@@@@@@@@@@@#####@@@@@@@###@###@###@@@@@@@@@@##$==*********==$$$$====**!!!!!**$##@@@@@@@#########