#@@@@@@@@#$$#@####$$####$$=*!;;:::::::;;!!**=====$$$#####$*!!;::~~~~~~~~:::::::;*#@@@@@@@@;.        
#@@@@@@@@@$##@####$$####$$=*!;:::::~~::;;!!!*****===$$##$=*!;;::~~~~~~~~~::::::;*$@@@@@@@@=-        
#@@@@@@@@@##@@#$##$$###$$=*!;:::~~~~~~~:;;;!!!!!!***==$$$*!!;::~~~~~~~~~~~:::::;!=#@@@@@@@#:.       
#@@@@#@@@@##@@@$$$$$###$==*!;:~~~~~~~~~~::;;;;;;;!!!!*==*!;;;:~~~~~~~~~~~~::::::;!$@@@@@@@@!,       
@@@@@#@@@@#@@@@$$$$$$##$=*!;;:~~~~~~~~~~~:::;;;;:;;;;!!!!;::::~~~~~~~~~~~:::::::;;=#@@@@@@@$~       
@@@@@#@@@###@@@###$$##$$=*!;::~~~~~~---~~~:::;::::::;;;;;::~~~~~~~~~~~~~~~::::::;;!=@@@@@@@@;.      
#@@@@##@@#$#@@@###$###$=*!;;:~~~~~~~----~~~~::::::::::::::~~~~~~~~~~~~~~~~~::::::;;*#@@@@@@@*-      
#@@@@##@@#$##@##@####$=*!;;::~~~~~~-------~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~~:::::::;!=#@@@@@@=:      
#@@@@##@@#######@####$=*;;:::~~~~~~--------~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~::::::;;*#@@@@@@$!      
#@@@@###@#$$##@@@####$=*;::~~~~~~~---------~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~::::::;;!$@@@@@@#*.     
@@@@@###@#####@@@####$=*;::~~~~---------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;!=#@@@@@#*.     
@@@@@#########@@@####$=*!;:~-~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;*$@@@@@@=,     
#@@@@########@@@@####$=*!;:~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;!=#@@@@@=-     
#@@@@####@##@@@@@####$=*!;:~~~-----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;*$@@@@@$~     
#@@@@@@@@@$##@@@@####$=*!;:~~~~---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;*$@@@@@$:.    
#@@@@@@@@@$$##@@@####$=*!;::~~~--------~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~::::::::;;!=#@@@@#:     
#@@@@@@##@###@#######$=*!;:::~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::;;;*$@@@@#;.    
##@@@@###@###@########$=!;:::~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::;;;!=#@@@#!.    
####@@#$#@##@@########$=*;;::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;;;!*#@@@#*.    
$$$#@@$$#@##@@########$=*!;;:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::;;!*$@@@#*.    
$=$#@@#$#@###@########$$=!;;::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::;;!=#@@#*.    
==$#@@###@#$##$#######$$=!;;::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::;;!*#@@#!.    
=$$#@@###@#$$$$########$=*!;;:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;;!=@@#!.    
*$$$@###@@#$$$$########$=*!;;:~~~~~~~~~~~~~~:~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::;;;;!=#@#;.    
;=$$####@@@###$########$=*!;;::~~~:::~~~~~~:::::::~~~~~~~~~~~~~~~~~~~~~~~-~~~~~::::;;;;;;!*$@#!.    
-!=$###@@@@##$$#@#######=*!;;::~~~:::::~~::::::::::~~~~~~~~~~~~~~~~~~~~~~~-~~~~:::;!!*!!!!*$##!.    
.:*$#@#@@@@@##$#@@######$*!;;:::~~::::::::::::::::~~~~~~~~~~~~~~~~~~~~------~~~~:;!**=***!*=##*.    
 -!$#@@@@@#@##$@@@######$=!!;::::~:::::::::::::::~~~~~~~~~~~~~~~~~~~--------~~~::!**====***=##!.    
 .:=#@@@@##@#$#@@@######$=*!;;::::::::::::::::::~~~~~~~~~~~~~~~~~~~~-------~~~::;**===******$$!.    
  ~*#@@@@@###$$#@@@#####$=*!;;::::~::::~~~~~::::~~~~~~~~~~~~~~~~~~~~~-~~--~~~::;*===**!!****=$:     
  ,;#@@@@@##$==##@@#####$=*!!;;:::::::~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~::;!*==*!!;;;!!***!,     
  .:#@@@@@##$==$#@@#####$=*!!;;::::::~~~~~~~~~~~~~~~~~~~~----~~~~~:::::::::;!!***!;;;;;;!!!!!:.     
  .~$@@#####$$=$#@@#####$=*!;;:::::::~~~~~~~~~~~~~~~~~~~~---~~~:::::::::::;!****!;:::;;!!!!!!~      
  .~=#@@##$#$$=$##@#####$=*!;;:::::::~~~~~~~~~~~~~~~~~~~~~~~~~::::::::;:;;!!***!;;;;;!!**!!!!~      
   ,*##@##$$$==$##@#####$=*!;:::::::::~~~~~~~~~~~~~~~~~~~~~~:::::::::;;;;!!***!;;;;!*=$$=*!!!:      
   .-:!*$$=====$###@@@##$=*!;:::::::::~~~~~~~::::::::::::;;:;;;;;::::;;!!!***!!!!*$##$$$=*!!!:      
    ..-:*======$###@@@@#$=*!;;::::::::::::::;;;!!!!!!!******!!!;;;:::;!!!******=$###$**=*!!;!;,     
    ,,-~;!*****$$#@@@@@#$*!;;;:::::::::::;;!!!******========**!!;;::::;!!****==$#@@#=!!!*!!;!;-     
   .~;;::;!!***=$#@@@@@#=*!;;:::::::::;;;!!!!!*****==========**!!;;:::;;!**===$$####*!!!!!;;!!:.    
,,,-;**!;;!;!!*=$#@@@@##=*!;;::::::::;;;!*!!!!!!!!!!!***======**!!;::::;!*====*!*$$=!!!!;;;;!!;.    
!!;::!!;::;;;!*=$##@@@#$=!;;::::::::;;!!*!!;;;;;:::;;;;!!**=====*!;;:~:;!*==*!;:;;;;;;;;;;;;!!!-    
$$*;:;;:::;;;;!=$##@@@#$=!;;:::::::;;!!!!!;:::::::;:;;;;!!**=====*;:::::!**!;;;:::::;;;;;;;;;!!:.   
@@$!:;:~~:;;;;!=$###@@#$=!;;:::::;;;!!!!;;;::::;;;!!!!******==$$=*;::~~:;;;;;;;;;:;;;;;;;:;;;!!;,   
@@$*:;:~-:;;;:;*=$##@@#$*!;;;::;;;;;!!!;;;;;;;!!***=$$$$$$$===$$=*;:~~~~::::;;;!;;;;;;;;::::;;!!,   
@@#*::~--:;;;:;!=$##@@#$*!;;;;;;;;!!!!;;;;!!!*=$###@@@@###$=**===*;:~~~~::::;;!!!!!;;;::::::;;!!-   
@@#=::~--:;!!;;!*=$#@@#$*!;;;;;;;!!!!!;;;!*=$#####@@@@#*===*;;!*=*;:~~~~~:~~::;;;;;;;:::::::;;!!~.  
@@@$;::~-:;!**!!**=$@@#$*!;;;;;;;;!!!!!!*=$$##$==*$###=;;;;;::;!*!;:~~--~::~~~:::;::::::::::;;!!~.  
@@@#*::~~:;!***!***=#@#=*!;;::::;;;;!!!*==$==**!!;*=**;:::~:~~:;;;;:~~--~:::~~~:::::::::::::;;!!:.  
@@@#=;:~~:!!!**!!!!*$##=*!;;:::::::;;!!****!;;;::::;::~::~::~~::::::~~--~::::~~~~~~~~~~~~:::;;!!:,  
@@@@#!:~~~;!!!!!;;;;=$$=*!;;::::::::;;;;;:~~~~::::::~~~::;;:~~~~~::~~~---~:::::~~~~~~~~~~~::;;!!;,  
@@@@@=:~-~;!!!;;:-,-;****!;;;:::::::::~~~~~~~:::::~~:::;;;;:~~~~~~~~~~--~~:::::::~~~~~~~~:::;;!!;,  
@@@@@$;~--:;!!;;~,..-:;!!!;;;;;;::~~~~~-~~~:::::::;;;;;;;;:~~~---~~~~~--~~~::::::~~~~~~~~~::;;!!;-  
@@@@@#!:~-:;!!!;~,  ,~~::;;;;:::::~~~---~~~::::;;;;;;;;;;:~~~~~--~~~~~--~~~::::;::~~~~~~~:::;;!*;-  
@@@@@@*;~~:;!!!;~-. ,--~~:::::::::~~-----~~~::::;;;;;;;::~~-~~~~~~~~~~~--~~~:::;;:::~~~~~:::;;!*;-  
@@@@@@$!:~~:;;;;:-. ,----~~~~~~:::~~~----~~~~~:::;;;:::~~---~~~~~~~:~~~----~:::;;;;::~::::::;;!*!-  
@@@@@@#*:::::::;;~, .-----~~~~~~~~~~~---~~~~~~~::::::~~~--~~~~~~~~::::~~---~~::;;;;;::::::::;;!!!-  
@@@@@@@=;~::~--:;:, ,-----~---~~~~~~~~--~~~~~~~~~~:~~~~~-~~~~:::::::::~~----~~::;;!!;::::::;;;!!!-  
@@@@@@@$!~~~---~:~, ,----~~~--~~~~:::~~~~~~~~~~~~~~~~~~~~~~~::;;:::;;:~~-----~::;;!!!;::::::;;!!!-  
@@@@@@@#*~~----~~-. ,---~~~~~-~~~:::::~~~~~~~~~~~~~~~~~~~~~~:;;;::::::~----,-~:::;;!!!;:::::;;!!!-  
@@@@@@@@$;------,.  ,--~~~::~~~~~::::::::::~~~~~~~~~~~~-~~~:;;;:~~~~~~~-----~~:::::;!!!;;:::;;;!!-  
@@@@@@@@#*--~~-.    ,-~~~::::~~~:::;;;:::::::::~~~~~~~~-~~::;;::~~~~----~~~::::;;:::;!!!;;;;;;;!!-  
@@@@@@@@#$~-~~-  .. ,-~~~::::~~~::;;;;;;;::::::~~~~~~~~~~~::;!;:~----~~~~:::;;!*!;::;!!!!;;;;;;!!~  
@@@@@@@@@#:-~~, .,. ,-~~::;;;:~~::;;;;;;;;::::~~~~~~~~~~~~:;!*!;~~~~~::;;;;;!!**!:~~:;;!!!;;;;;!!~  
@@@@@@@@@#;~--. ,-,.,-~~::;;;:~~~:;;;;;;;;;:::~~~~~~~~~~~::;!*!;::::;!!!!**!***!::~~~:;;!!!;;;;!!~. 
@@@@@@@@@@*~,. .-~-.--~~::;;;;:~~:;;;;;!;;;:::~~~~~~~~~~::::!=*!;;!*=$$====*!;;:~~~::::;;!!!;;;!!~. 
@@@@@@@@@@$~   ,~~-,--~~::;;;;:~~~:;;!!!;;;;:::::::::~~:::::;*====$$###$$$=!;::~~~::::::;;!;;;;!!~. 
@@@@@@@@@@#;. ,-~:~,--~~::;;;;:~~~:;;;!!!;;;;::::::::::::;:::!*===$$$$$$$=*;:::~~~:::::::;;;;;;;;:-,
@@@@@@@@@@@*~,-~:;;~--~~::;;;;:~~~:;;;;!!!;;;;::::::::::;;::::;;;!!******!;:~~~~~~:::::::;;;;;;;!;;:
@@@@@@@@@@@#*;;;;!!:--~~::;;;;;:~~::;;;!!!;;;;;;;::::::;;;;:~~--~~::::::::~~~~~~~~:::::::;;;:;;;!*==
@@@@@@@@@@@@#$=****;~~~~::;;;;;:~~~:;;;!!!!;;;;;;;;:::;;;;;::~-----~~~-~~~~~~~--~~~~~::::;::::;;*$@@
@@@@@@@@@@@@@@@#$*!:~~~~::;;;;;:~~~::;;;;;;;;;;;;;;;;;;;;;::~~--~~~~~~~~~~~~~~~~::::::::::::::;;*$@@
@@@@@@@@@@@@@@@$==*:~~~~::;;;;;::~~::;;;;;;;;;;;;;;;;;;;;;::~~~~~~~~~~~~~~~:::;!!!!!!;;;;:::::;;=#@@
#@@@@@@@@@@@@@$=$$$!~~~~::;;;;;;:~~::;;;;;;;;;;;;;;;;;;;;;:~~~~~~~~~~~::;;;;!!*=====**!!;;::::;!$#@@
#@@@@@@@@@@@#$==#@#=:~~~::;;;;;;:~~::;;;;;;;;;;;;!!!!;;!;::~~~~~~~~~:;!!*==*==$###$$==*!!;::::;*$@@@
@@@@##$$$###$=*$@@@#!~~~::;;;;;;::~:::;;;;;;;;;!!!!!!!!!;:~~::~~~~:;!*=$$$$$######$$=*!!;;::;;;=#@@@
@###$$$$=$$$==$@@@@@=;~~::;;;;;;::~:::;;;;;;;;;!!!!!!!!!;::::::~~:!*=$$$#########$=*!;;:::::;;!$@@@@
$######$=====$#@@@@@#*:~::;;;;;;;:::::;;;;;;;;;!!*!!!;!!;::::::::!=$#######$$$$$=*!;;;::::::;!*#@@@@
$###@#$=***==$@@@@@@@$;~::;;;;;;;:::::;;;;;;;;;!!*!!;;;;;::;;::;!*$#####$$=*!***!;::::::::::;!=@@@@@
##@@$=*!!**==$@@@@@@@#*:~:;;;;!!;;::::;;;;;;;;;!!!!;;:;;;;;;!!!!*==$$$$=*!;::;!!;::::;::::::;!$@@@@@
###$:,-~:!===#@@@@@@@@$;~:;;;;!!;;::::;;;;;!!;;!!!;;:::;;;!!**====**!!!;::::;;;:::::;;::~~::;!$@@@@@
#@=:. ,~:*$$$#@@@@@@@@#*:::;;!!!!;;::::;;;;!!!!!;;;:::::;!*=$$$$=**!;;;::::~~::~~:;;;;::~~~:;*#@@@@@
@#;,  ,:!$$$#@@@@@@@@@#$!;;;;!!!!;;::::;;;;;;!!;;;;:::::;!!*=**!;;;;;;:::::~::::;!!!;::~~~~:;*#@@@@@
@#!,.,~!$#$$#@@@@@@@@@@#*!;;;!!!!;;;;::;;;;;;;;;;;;:::::;;!!!;;:::;;;;;;;:::;;!!**!;;:~~~~::;=@@@@@@
@@=;::*$#$$$#@@@@@@@@@@#$=!;;!!!!!;;;:::;;;;;;;;;;;;:::::;;;;::::;;;;;;;;;;!***=**!;:~~~~~::!=@@@@@@
@@@@#$$$$=$#@@@@@@@@@@@@##=!!;!!!!;;;;:::;;;;;;;;;;;;;:::;;:::::::;;!!!!!**====*!;::~~~~~~:;*$@@@@@@
@@##$***=$#@@@@@@@@@@@@@##$=*!!!!!!;;;::::;;;;;;;;;;;;;;;;;:::::::;;;!!!***!!;;::~~~~~~~~::;=#@@@@@#
@##$====#@@@@@@@@@@@@@@@@@#$=*!!!!!!;;::::;;;;;;;;;!!!;;;;;:::::::;;;!!!!!;:::~~------~~~::!=#@@@###
@##$=$$#@@@@@@@@@@@@@@@@@@##$==**!!!;;;::::;;;;;;!!!!!!;;::::::::::;;;;;;:~~~----------~~:;*$#@@@###
####$#@@@@@@@@@@@@@@@@@@@@@##$$==*!;;;;;:::;;;!!!!!!!!!;;:::::::::::;;;::~~---,,,,,,---~~:;=#@@@@###
#####@@@@@@@@@@@@@@@@@@@@@@@##$$$=*!;;;::::;;;!!!!!**!!;;::::::::::::::~~--,,,,,..,,,--~~:!$#@@@@###
##@@@@@@@@@@@@@@@@@@@@@@@@@@@##$$$$=!;;;:::;;;!!!!!*!!!;;:::::::::::~~~~--,,,,...,,,,-~~:;=$#@@@@###
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@###$$##$*!;;;;;;;!!!!!!!!!;;;::::::::~~~~~---,,,,,,,,,---~:;!$#@@@@@###
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##$$$##$=*;;;;;;!!!!!!!!!;;;;::::::~~~~~-----,,,-------~~:!=#@@@@@####
##@@@@@@@@@@@@@@@@@@@@@@#@@@@@###$$#@@#$*!;;;!!!!!!!!!!;;;;;;:::~~~~~~-------------~~~:!=##@@@@@####
##@@@@@@@@@@@@@@@@@@@@@@###@@########@@@#=*!!!!!!!!!!!!!!!!!!;::~~~~~~----------~~~~::!*$@@@@@@@@###
##@@@@@@@@@@@@@@@@@@@@@@##############@@@#$=*!!!*****!!!!!!!!!;;::~~~~~~~~~~~~~~~~~:;!=$@@@@@@@@####
##@@@@@@@@@@@@@@##@@@@@@@#####@@######@@@@@#$=********!!!!!!!!!!;::~~~~~~~~~~~~~~::;*=#@@@@@##@#####
##@@@@@@@@@@@@@####@@@@@@@#####@@@####@@@@@@@#$===**************!!;;;;:::::::::::;!*$#@@@@@#########
##@@@@@@@@@@@@@#####@@@@@@######@@@###@@@@@@@@##$===***********==***!!!!;;;;;;;;;*=$#@@@@@@#########
##@@@@@@@@@@@@@#####@@@@@@@###@###@###@@@@@@@@@@##$==*********==$$$$====**!!!!!**$##@@@@@@@#########