@@@@@#@#@&?=&%+??++==!)>?=?=?%$&%+&$%######################&$$##$##=+^,~?&#$*)&>=+$$$#$$$########@#@@@@#@@@@@#@@@@@@@@##############%#$&&%&*!##@################
@#@#@@@###?%&&);;+?>>=>?%&&%=+?&=>$#$##########@###########>%$#$$$&+-,^!:$&?:-),^!$$$&$&&$#########@###@@@@@@@@@@@@@#@@#############$$$$&&==+$##################
@@##@@####$%%++)**)>$$?%$$&=+)>?=>$###@#########@#########&?$$$$$$&-;,^~+*:>:--.-=#$$$&$$#####$######@@@#@#@@@###@@@@@@@##############$$$&%%?=%#################
@@@###@#@###>&=?*:-)=%=$&&?+*+))=+$##$@########@#########&%%>%?>+!+=:.~+::,>~^,~;%########$##&$=&#$#######@###@@@#@@#@@@@###############$$&%%)>#################
@@##########=&=&?!^!!>&$&?>>>+!!+??$$$##################$?-^~;)+:~,*>.!:->,;,~-->########$#######&%$#############@@@@@@@@###############$$$%%$##################
@@######@###&%=>+*^-!=%+)))+>+++>=?>=&#################&%=+:~-;)~?;^-.^;%:,,::-+##@###############$##$#&>$#####@###@#@@@@@###############$&&%%%#################
###@####@####%?:;-^~!>**?>+?+>>=%&%%%&#####@##########$=%$$):~,-~?;?!,)+),.^~~^%#######@@@######@#=&###&###$#########@@@@#@@###############$&%+>################
#######@##@##$=);-^~;!;)>);+%%&&&#$$&&#####@#########+=%##$))-*-,~!?*,)-,~)+>+-~?-$&########@############$###=&$##@#@@@@@@@@################$&%>$###############
@#######@#####&?!;~^;*)!*)>+%$$$&##$&&##############?%&$###?)+;^:~,-,.,.*++!>^^*,:-)$#############@####$##&$###$&#####@##@@@@@###############$&%$###############
@#######@####$=+=;~,:*;!!)??&&$$&##$&$##############?&#$$###)^:)=);,,'.-*>:^,,;,~..~,;&####@#@##@####$##$&##$###&#$#$####@@@@################$$&&###############
@#######@####&>?*+-^:-!!*++?%$&$&$##&$#############$=&####&$-;>::>;,'..^!-,..,-,~^^-~*$###########@@#####$#####>&$&&######@@@@@@##############$$&&##############
@######@#####$)-:)~.:!~:)=>?=&$&&&#$%$#############%?$###&:;?;-~'.^:,..-=);**,-+^+-;$###########$#####$#########&##$%&=$&###@@@@###############$&%?#############
#############$=)-~,'.~-!*?%%%%&$++=?;+>?=&########=?&$#$&-?*-;,,^~*+~:!^:+)+$>^~>-&&#@@##@#@######$###$$$##########$$$=%%&###@@@@@##############$&%###$->#######
#$%%##$######?;!>;,',:+)))&$&=?=)=;)>;;~-=######&=>?$$#$>:,,,~;;*:?>,)%;^.~-:::?#$#####@###@#@@#@@########$#########&$&>>%$$##@@@@@#############&&=$##=;+#######
)?!>>&+&?&&##=::)%*,^)?--)&=+!>::%!:~,.~)$######?+&&&$&!^~,*->~+?**~,!!*>,,-!*)$########@####@@@@@@#######$########$$&=%&%$&$#%#@@@@###########&=>=?&)+-)>&#####
^^:*)%>!;=;>>$%)::!^^*-:=$>-^;>^-+:~..^+=#######%%&&#$$?)=:>:*^%;,-:,!,!=^-^^~~;##@@###@@##@@#####@@@############$$$$&&$$$$&&&%%#@@@@####$#$$#&):::*:-~^-:?#####
*:~^-+?~:**^;&##%):~^:)?>&&)^!>^~:,~^-!+########$%=%=$$##$&=&*+%,!=~,%:,)~?^,~!*&####@#@##@#@@@##@@@##########$$#$#$$$$$$$$$$&%&$##@#####$$>)!!-^,,,,,^,^-*&####
==*~^.~-~)=~:$%++%&*,)=*;!?%:+)^..;>?>%%#######$&?%?:+#########$=>~..+&^,^?:;,,*&##@#@@@@@@##@@#########@#######$$#$&&&$$$$$$$&&=%&#####&++;~,^,,..''...,^~?)=%?
#>>!)*-^,-%!!&::::=*.^;::;;%-;^^-!*!+=?$########%=$$&=####$$####)~*,~~)&==!*;;^,$#@@#@#######@#################%$#$&$&&&#$#$$$==%&##@##%):~,,..,'''``'''..,^~--:
#?>+&)*!:----=;)**;:,:)>%*;*,.-+=;~^;?##########$>####$###$#####>>,,~*;###&$==!*##@@#@@@@@@@@####@@##@#@######+&###$$$$$$$$$$$&?&&&###$*:~,,...`''````''....,,,^
##$&)~~;?)~^.~-=$&&>~:$&%),,^^~;!*+;&###########$&####+$##%&$###&;~,::$##########@#####@##@#@#@@@@@##########$$##$$$$$$$&$$$$$&$&&$$#=+:~,...'''''``````'''....,
###%?**)>:--!-^~*:!-^~!^^,-)>);-~^!=###########&&$####&$$&#######$~,?&##############@##@####@@@#@@@###@############$#$$$$$$$$$$$$$$&$);~,..''''''''``````''''..,
#####>&+--+?$>)!~,,,,,,,~*%>)%=>!)?$###########&?$##$%>?##########+)$#####################@@#####@####@#######$####$##$#$$$$$$$$$$$&%*~,..'''````'````````''''',
######$+)*?#):;*&!-,,,,^!$+;^)!:*#############$&?=#####$$#################################@@####@@@##@#@#########$%###&$#$$#$$$$$&%&)-~,..''`'``````````'''''...
#########*!**:;*&>~,,,,,->)!;:*)=$?+$##########$&%######################$$$$$&&$$$$$$#########@########@################$$$&$$$$=&&&+-~,..'''''`````'```'''''...
##@#####$+;*)!)=!,^-~,^-^,-!*>=%)--*=%##########$$############@####$$$&&%%%==========%%&&$$$###########@@###########$$$$&%&&&$$$&$$?;:~^..'`''```'``'```''''''..
#######):-)=#$?-,:!>!^:?*;-,.*)-^!)):*&$########$#########@##@###$$&%%==??>>>+++))))))++>??=%&$############@##########$$$$$$&$$$$$&):~^,,.''''`````'''''''``'''.
#####&*?!-~~::,~)%$$+^;?$$%;~'.,;&=:^-+%###########@@@@#@@@@@###$&%%=?>>++)))**!!;;;;:::;;!)+>=%&$###################$#$$$$$$&&$$&+*:^^,,..''''''`''''.''``'''''
####&=!;?%=-^,^:=&*:!^-;~)%!:)--^,~^:+$>)&######@###@##@@@@@##$$&%=?>>+))***!!;;::--~~~-!+>???>+?=&$####################$$$&&&&$$=:;:~^,,..''.''''''''...''''...
####%>-~-:~^~:?!*!-;+^:+!!*!!%:)>~..-*;)*?######@@#@####@@@###$&%=?>+))**!!;;;;:::;!*+?%&%&&%%%%?>?=%&$####@@###########$$&$$$$$&?;::-~^,.....''''''''..,,.'...,
##>)?&>)~^~>);%***!&=~~%$?++?$:~=-~;-.,^;%=&#####@#$#$###@###$&%=?>+))**!!!;;;;!*>?%&$$$$$&%=?==%%=>?=%&$###@@##########$$$$$$$$$$?*;-~^,......''.......,,,..,,,
#$=*+:!^~;:>*~%$%??=:-,-)%###%:~>*^!?!~^,~~>######$$&$$#####$&%=?>+))**!!!!!!*)?=%&&$$$&%?+*!::;!)+>>>>=%&$$############$$$$&$$$$$*!;-~,,,,,............,,^..,,,
#=%>~,^-;--?*~!&#&+~:-^---*=#%!**?:??>*-:-~:$####$$&&$$$###$&&=?>>+))***!!!!+>?%&&$$$&%?>>>+))*!!!!*))++?=$$$#############$$$$$$$$=)!-~-~~^^,,.........,,^^^^^^^
#>;~^~*;>*-?*!*&?-~*)!,!?*~~+##%=&%?%>)>+)==$##$$$&&$&&$$##$&%=??>>+))***!*)>%%&$$$&&%%%%%%%%==?>+))*)))+>%$$$####@@#######$$$$$$$=+)!;;;:-^^^,,,,,,,..,^^~~~~--
$;^:::>?&=?=+%##;*)?+:.~:>>)?######%%#$&=&$####$$$&&&&&$$####$$&%%??>+))***+?%&&&&&&&&$$$$$$$$$&%=?>+)***)>%$$&####@########$$$$$&>>>)!*!;:-~~^^^^^~~^,,~------:
=)>++++=$>%#####=);-~-,^^~*>$#################$$$&&&&&&$$#######$$&&=>>+)**)?=%%%&&&$$$&%%=?%&$#$&%=>)*!!!*?&$$$#####@@#######$$$$$&=?+)**;::--~~-~::-~~-::;;;::
###&%%%##########&*~-:,:::-*$#################$$&&$&&%&$$##########$&%?>)***+>?=%&&$$&&$$#&##$$$$$&=>)!;;;;)=$$$###################$??>>++**!;;--:::;:-::;!!**)!
@################>++>),^>)=+$################$$$&&&&&%&$$############$%?+*!!!)>=%%&$$$#$##%$####$$%?)!:::::!+%$$$####$###@@########$%%=?>>>>+**:::;!!;;;!!!!*)++
#################%?+$*,->&>>################$##$&&$&%%%$$#############$=+!:::!)?=%&&$$%?&$@#$&&$&?+!:~~~~--:*?&$$$####$$##@@#########&%%==??+)*;!;;!*!!;!!!;!)>>
@#################$$?*^^;)=########$$#$########&&$$&%=%&$$@########@@##&>!-^-;*+>=%$$%>)>%%%=&&&?*-~,,,^^~-:!+%&$$$###$$$$#@##########$%===>>))+*!!!***!;!!;**??
###@###############+>;-^-?+$##################$&$$$&%%%&$$##########&##$?!^.^-;!*+?&&&&&&&&&&&%>!-,....,^~-:;*?&$#$####$$$&$##@@@@#####$&&=??>>?+**!)+)!;**!)>?=
###################=*;;~;)?&##########$#######$$$$$&%=%&$$######&&######>;,'^~---!+?%&&&&&&&%?):~,.'''.,^-:;!)>%$$#$#$$$$&$&&$##@@@@##@##$&=====>+))+>>+*>++>===
###############@####$&*~)&####################$$#$&&%%%&$$$####$=?&$$##$+:,'^^~^^~!+>?=====>);-^,.'`''.,~-:;*)+=&$###$$$&&&&&&$$#@#@#@#####&&%&%=??+?=%=?=??=&%=
####@@@##############?)^!>####################$##$$$&%&&$$##@##$%=%&&&&&)-..^^^,,^-;!****!!;-~^,.'``'',^-:;!*+>?%$####$&&&&&&&$$&#####@@@@##$$$&=%=?%&&%%=%$$$#$
##@###@@@@#@@@@@@@#@##$)=#@@@@##@@###$$######$$###$$&&&&$#$#####$$$&&%&%!~',^^,,..,~-::::--~~^,.''``'.^~:;!*)+>?%&$####&&&%%&$$$&&$##@@@@@######$$&$#$$&$%$$####
##@###@@@#####$#############$$#######$#######$$###$$$&$$$$#######$&%%=%?;^.^^^,....,^~--~~~~^,.''''.,^~:;!*)+>>?=&$####$%&%=&$$$$&&$#@@@#@######################
##########==$#$&$=%##&$####&??$#############$$$######$$$%>######$%=???%+:,,^^^,.'''.,^^~~~^^^,.....,^~:;!*)+>>>??%&$###$&%&=%&$$$$&&$#@@@@######################
#########$=?$####$$##$$####$$$###@##########&$########$$$$####$&%?>>>?=*-^~~~^,..''.,^^^^^^^,,,,,,^~-:;!*)+>>>?>?=%&$##$$%%&%&$##$$&%&##@#######################
#####@####$$####$##########################$&$########$$$####$%=?>++>?>;-~~-~~~^,..,,^^^^^^^^^^^^~~-:;!*)+>>>>>>>?=&$$##$&%%&&$$##$$&&&$##@#@###################
########################$$$################%$$##########$####$=?>+++>>!:-------~^,,^^^^^^^^^^^~~~-::;!*)++>>>>>++>?%&$$#$$%%&&$$###$$$&$&$######################
#####@#@#######$#######&)*++?&############$&$$#########$##$##&=>++++>);-~^~--:::-~^^~~~^^^^^~~~--:;;!*)++>>>>>++)+>=&$$$$$&%%$$$#####$$$$$$#####################
##############$$######$>>+)++!%###########&$$##############$#&=?>++>=);-^,~::::::-~~~~~~~~~~~---:;!!*)+++>>>>+))))>?&$$$$$$%%&$$$######$#$#$$###################
####@@#@###&$#########?>>+!>>>%$#########$$$####@############$%?>++>&?+*!*)*!;::;:--~~~~~~~---::;!!*))++>>>++))**)+?%#$&$$$&%&$$$############$###@#@############
#####@#@###$$#########=??+*&&=$$#########$$##################$&=?>>>$&%?>>?==>)!!;---~~~~~---::;!!*))++++++))*****+?&##$$$$$&&$$#$####@############@############
#######@#############&&=?*)+&$#$##############################$%=?>?&$&%??&&$$%>+;~~~~~~~---::;!!*))+++++))**!!!!*+=$##$$$$$&&&$##$###@@########################
##################$$#$&=!*!+$#################@###############$&==?=%$#$&?>)*)??*~^^~~~~~---:;!!**))++++))**!!;!!*+=$##$$$$$$&&$##$$$###@#######################
####@##@#########%=?#$?;!*;+$#################@################$&%=%&$##$&>;~~-~^,,,^^^~~--::;!**)))+)))**!!;;;;!*>%$##$$$&$$&&&###$$$###@######################
########@#######&$%%%);,-)?&###################################$&%%%&$##=>>:,,,,,,,.,,^^~--:;;!**))))))**!;;;;;;!)>&$$#$$&&$$&&%$$$#$$$$###########$#####$######
#######@#######$%$#=)>!~+&$#################@###################$&&&&$$=!:*;^,,,.....,^^~--:;!!***))***!!;;:::;!*+?&$##$$&&&&$&&&$$$#$$$$$##########$####$######
#######@#######&%$>))+)=$%##################@###############$$###$&&&&?);:;:~^^^,....,^^~--:;!!******!!;;;::::;!*+=$$$#$$$&&&$&&%&$$$$##$$#################$####
#######@###$###$):!>&#?&&&#########################&?++>?>)*?$#@##$&&==??)))*!:-^,,,,^^~--::;;!!!**!!;;;:::::;;!)>%$$$#$&$&%&$$%%%$$$&&#########################
#####@#@#######%~;!###?&&$######################%>)!;;!!**)+>$@@###$&&%===???>>++*-~~~~---::;;!!!!!!;;;::::::;!*+=&&$$#$&$&%&&$&%%%$$&&&$$$##############$######
##############&)!)>$$$?&&#############@#####&=>!!!!***))+>?=&###@##$#$$&&&&&&%%%==?+*;::::::;;;;;;;;;;:::::;;!*+?%&&$$#$&$%&&&&&%%%&$$$&&&&$$$$#################
##############%;;))?%%=&$##################>!::;!*+>?===%&&$#$$$$&&%%&$###$$$$$&&&&%%=>*;:::;;;;;;;;::::::;;!*)?=$&&$#$$&$&%%&&$%%%%$$$$&&&&%%&&&$$$$#$#########
###############!-))%=>?$##################=*;;*)>?=%&$=&%%%%=&=??>>>++>%$##########$$&=*;;;::;;;;;:::::::;;!)+?=&&%&$#$&&$&%%&&&&%=&=$$$#$&&%%%==?%&$$$#########
###############>>)+;;;&############$$$$$&&%%%%%%===?>%+>+)+!>+++))))+>?=%&$#####$%=>+)::;;;;;:;;;::::::;;!*)>?%&$%%&$#$&&$&=%%&&&%%%&%$$$##$&&=====%%&&$$$$#####
#####@@@#######&>?>*))#&=$&&&%%%=%===???>>>>+>++))))*>+?*~~:??%=?====%=%&&&&%=?+))!;;:;!;;;;;;;;:::::;;!*)+>=%$$&%%%$$$$&$&==%%&&&%%%&%$$$####$$&%=?==%%&&$$$$$$
#####@#@########$=;:!.''`:=>+++))))))))))++)+?????>?==%=*~^:*%$&$&&&$$$&?)**)*!:~-:!*))!;;;;;;:::;:;;!!*)>?%&$#&%==%$$$$$&$%=%%&&&%&%&&=&$$$$$$$$$$$&&%%%&&&$$&=
#####@#@#########=:~-:'``'=)))++>>>??=?==%%%%%&&&&&&&&$$?!*!&#########$?)***+)*;*)+>?>)!;;;;;;;;;;;!!*)+>=&$##&%===%&#$$$&$&==%&&$&&&%%=%&$$$$$$$&%&&&&&$$$$$#$$
#####@###########&+;~*^'`'?==%=%%%&&&&&&&&&$$$$$$$$$$$&&%&%$$###@#####&=>>>>??????%&=+*!;;;;;;;;;!!*)+>?%&##$&%=??=&$#$$$$$$==%&$$$&&=&&%%%%&$&$$$&&&&$&&&%$$###
#####@#######@###$>+*!:,^^?$&$&&$$$$$$$$$$$$$$$$$&$$$$&$$###$$$@###@##$&%%=%%%%&&$$=+!;;:::;;;;!!**)>?%&$##$&%=???=&##$$$$&$=%=%$$$$&$$&&&&&%&%$$$#$$###$$$$&$##
####@@############$?%&?+++$$$$$&&$$&%%%&$$##$$$$$&=??=###$&%==$####@@##$$$$$$$##$%>!:::-:::;;;!**)+?=&$###$&%=?>>?&###$$$&$$&=%=&$$$$$$$&&&&%=%%%%?%&&$%#$$$$$$$
####@@###########################$$)+=&$##$%+*!)>*-^^~!%$&=?>?$####@@########$&=+!-~~~---:;;!!*)+>=%$####$&%=?>>%$####$$$&$$$&&=%$$$$$$$%$&%==&&%&&$$$$$$$$$$$$$
###############################$$&%&$$$$&=+!-^^~-:-^,^^-+%?>+>$####@@@####$&=?+!-~^^~~--::;!*)+>=%$####$$&%=?=&#######$$$$&$$$&%=%&%$$$&&&=%%%&&$$$$$####$&$$$$$
#####@######################$&&&$$$%?+*!;:~~-~.,^~:-^,,^-!>>+?$#@#@@@@@##$%?+)*;:-~~---:;!*)+>=%$#####$$&&%&$#########$$$$&$$#$&=%$$&$%&$+&&%&&$$$$$$$$$$$#$$$$&
####@@@@@@@@@@@@@@@@@@@@####$&&%?+!:-~~--~^,^~~..,~;;-^^^-!)+?####@@@@#@#&=>+))*!;;;;;!!*)+?=%$######$$$$##############$$$$&#$#$%%$$$&;+&%&%%=%>$>&=$&$$$$$$$#$&
#####@@###################$%?+*!:-~~~~-:::~^,,^~,.,~!!:~^~:)>=##@@@@@@@@#$&=>>>>>+))))++>?%&$###########################$$&$&###$%&$$)>$&%%=?%>+&%&$$&%$##$$$##$
#########################$?)*;:-----::!*+)!:~,,,~^.,~)!-~~:)=&##@##@@@@@##$&%=%%%==??==%&$###@@@@#@################@##@##$$&$$###$&$$$$$$$$==%%%&&&&&&%&$$#$&$##
#########################=)*;:--;!!*)+>?=%=+!:~^^~~,^-+!--:%%#######@@@@@##$$&&$$$$&$$$###@##@@@@@##############@@#####@#$$$$&$#$#$&$$##$$$&%%%&&&%&%%%%&$$$&&$#
###################&$####=+)!::--!?%%%&&&$$%?+!:~^-~,^;>;-!;######@@@@@@@@############@@@@@@@@@###############@@@######@@#$#$$$####$$$#####&%%=%&&=%=%&?%&$$$&&$
#######$####$######%&####%>+*;--:!)=&$$$$$$$$%?+;::!,^->):+;&########@@@@@@@###@@@@@@@@@@@@@@@#############@@@@@@######@@##$#&$$####$$#####$&%%=%&%===&=%%&$&&&&
##########$#####$$#######$??):--:;)?&$$$$$$$$$$%+!;*~~:+%*!=&#########@@@@@@#@@@@@@@@@@@@@@@@#########@@@@@@@@##########@###$#$$#######$###$&%%%%%&?=?%&?%&$&&&%
##########################%=?!--;!)?&$$$$$$$&&$&?)*);-:)#=*?############@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#############@@@####$$########$#$&&%%%%&====&=%%&&&$&
##########################$??>!~^^-;?&$$$&&&&&&&%>)?)::+$#&%$#####$#@#@@@@@@@@@@#@@@@@@@@@@#@@#@@@@@@@@@###############@########$$##########&&&&&%&&%%%%&%%&&%&$
###########################=>)!-^^~:)=&&&&%%%%%%%?+&%;*+$#$%#####$##@####@@#@@@@@@@@@@@@@@@@@@@@@@@@@########################@####$#########$$&&&&&&&%&&&&&$$=%&
###########################&>);-^^^~;>=%%%%====%%%>=#*);$$&%###########@#@@@@@@@#@@@@@@@@@@@@@@@@####################$###########@###########$$$$$&$$$$$$$$$$&&&
###########################$?);-~,^^-!>=?======%&&&&$>*&#%%%#############@@@@@@@@@@@@@@@@@@@@@@##################$$$$#########@#@############$$$$$&$$$##$##$$$&$
##@@@#@@@@#@@#@#@@#@###@@###=);-~,,^~-!>????==%&$$$#$=>$#%=&#######@####@@@@@@@@@@@@@@@@@@@#@#@###############$$$$$?!%##$######@##############$$$$#$#$#######$&$
##@@@@#@@###################%+!:~^,,^~-*>>>?==%&$$###$%&$%=$#######@####@#@@@@@@@@@@@#@@@@@################$$$$#####&#########@###@##############$###$########$$
############################$>*:-^,,,^~:*+++>?=%%&$$#$%>>>=#######@######@@@#@@@@@@@@@#@@@@@##########@###$$$$##############@####@##@@################$#######$#
###@@@@@@@@#@@@@#@@#@@######$=);-~^,,^^-:*+))+>>?=%%$$=>+>%####@@##$#####@@@@@@@@@@@@@@@@@@###@@@#@@#@@#$$$$$$############@#########@@@#########################
####@@@@@@@@@@@@@@@@#########%>*:~^,,,^~-;!****))+>?%%=>>?&##@@@@#######@@@@@@@@@@@@@@@@@@@@@@@@#@@#@##$$$$$$$#######################@#@########################
####@@################$######$?)!-~^,,^^~-;!!;;;!*)+?==>>=$######$##@##@@@@@@@@@@@@@@##@@@@@@@@@#####$$$#$$$$$$########@##@#####################################
###################$$$$#######%+*;-~^^^^~--:;;:::;!)+>?>?%#####$##@@@@##@@@@@@@@@@@@@###############$$$#########$$###########@##########@@################@@####
####@#@@@@@@@@@###$$$$$#$#####&?+!;-~^^^~~--::---:;*)>>?=$$$$$$#@#@@@@@@@##@@@@@@@@@@@@@@@#########$$###########$$$$####################@@@@#################@##
#######@#########$$$$$$$$####@$=>)!:-~^^~~~-:::--:;!)+>=%#####@@@#@@@@@@###@#@@@@@@@@@@@@@@@@@@@#$$$#########$####$$############################################
####@###########$$$$&&$$$$###@#&?+*;:-~^^~--:;;:::;*)>?%#####@@@@@@@@@@#@@#@#@@@@@@@####@#@#####$$$################$$########$#$#$$##$#&&$$#$$#############$$$#$
################$$$$$$$$$$$##@#&?+*!:-~^^~--:;!;;!!*+?=$##$####@#@@####@@#@@##@@@@@@##########$&&$####@##########$$$$$$#######$#$$$$$&%+%$$$&$$####$$###########
################$$$$$$#$$$$$###&?+*!;-~~~~-:;!*!!*)+?=&####$#@#@@@##@@@@@@@##@@@#@@@#########$&&$################@#######%#######$$$$$$$$$$$$&&$#####$&&&&&&$$##
####################$$####$$$##%>+*!;:----:;!*))))+?=%#####$##@@@##@#@@@@@####@@#####@@#####$&&$$########@#@##@#@##@@####$$$####$$$$$$$$$$$$$$$$########$&&%%&%&
####################&##########%??+>)!;;;;!*)+++++>?%&######$$#@@@#@@@##@@###@@#############&&$$$####@############@@@#######$$##$$$$$$$$$$$$$$$$#####@@###$$&%%%
##############################$%%%&&=>)))++>????>>?=%######$$$$#@##@@@@@#####@############$&&$$###########@##########@####@###$$$$$$#$$$######################$$
###############################&$##$$==??=%%%&&&%&%%&#$$$$$#$$$###@@##@######@############&%&$$######@########@@@####@########$$$$$$$$$$#######################$
#######@#############################$&&&$$$$###$#$$$###$#$$$$#####@@@###################$&&&$$#############@@#@@@#@@@@@@@#####$$$$$$$$$########################
####@######################################################$$$##@#@@####################$%&&$##########@####@#@@##@@@@#@@########$$$$$$$$&######################
#####################################$###@################$$$$#@@#@####################$&&$$##########@######@###@##@@@@@#@########$$$$$$?#################$$$##
########################&######@@#@###@@###################$$$#@@#####################&%&$$$&########@#######$#####@@@@####@###############$#######$######$$$###
##################@###@#######@@@####@@##@#####@@@######@@#####@#@#####$$############&&&$$########@#######@@#@#####@@@@###@@#####################$$$$$$$#$$$##$#
##############################@@#########@@@@######@@@##@@@###@###@@##$$$###########&&&$$$#########@###@#####@@@#@@@@@@@@@@#@##@@###############$$&&&&&$$$$$$$##
####&&#################@########@##########@#@###@###@@@@#####@@@@@##$$$###########$&&$$$###################@#@#@##@@##@@####@@@@###############$$$$&&&&&&$$$$##
##$####################@#########@@######@@@@@#@@##@@@@@@@@##@@#@####$$$##########&%&&$$###&##@@#########@#@#@@##@#@@@@@@#@@#@@####@#####@#####$&&&$$$&&&%&&$$##
&>+&$##$########################@##@#@#####@#@@##@@#@@####@##########$$#########$&&&$$$#########@#############@@#@@@@@##@@@###@####@#@##@#####$&&&&&&&$&&&&&&$##
?)*?#############@############@@@#####@@@##@@@###@#@###@@####@@@#####$$########$&&&&$$$###########@####@@@####@@#@#@#@@#@#@@@##@############$&%===%%%&&&&$$&$$##
&??%##@#########@@@@#@######@###@@###@@@####@###@@#@@#@#@#####@#@###$$########$&%&&&$$$##########@#####@#####@###@@##@@#@##@@@#@@#@@@######$%>>++>?==%%&$$$$$$$$
##$#####@######@@@@@#@#######@###@@#####@@@@##@@@@####@#######@####$$$#@######&&&&$$$$$#############@@@#######@@#####@@#@##@#@##@@@@######$&>+))++>>?==&$&&$###$
##############@@@@@@@@########@###@@#@###@#@#@@@@@@##@@#@##@@@@####$$#######$&&$$$#$$$$#########@#####@#@@@##@#@@@#@#@##@##@@###@@@#@#####$%?>>???=??==%&&&$$###
$$############@@@@@@@@@@######@###@@@@#@@@@##@#@@@@@######@@@@#####$$######$&&$$$$$$$$##################@@@@##@###@#@@#@@@@@####@@#@@#@###$%%=%%==?>??=%%&&$$###
++%##############@@@@@###@#########@##@@#@@##@@@@@####@####@@#@###$$######$&&$$$$$$$$#########@##########@@##@@@@@@@#########@###########$&&%&%==???>==%%%&$$$##
+)=##$##########@#@@@#####@@@###@@@@##@@@#@@##@@@#########@######$$$####$&&&$$$$$$######################@@##@#@###@####@##@#@@#@######@##$&&%%=??>+>>?====&$$$##
%&$#####&&#################@@@#@@@@@#@#@#@#@#@@@##@#@#@@#@##@@#$$$$$###$&&&$$$$$$$#######################@@#####@#@####@#@@@#@#@#########$&%=??>+>+>?====%&&$$##
######&$$########@@###########@@@#@@@@#@##@#@#@@@#@##@@@@@@@###$$$$###$&&&$$$#$#############@#@#@#####@@#@@#@###@@##@###@#@@#@#########$$&%=?>>>>+>>?=??=%&&$$##
######$##############################@@@@##@@@@@@@@#@@@@@@@@###$$$###&&&&&$$########################@#######@####@@@##@##@@#####$######$&%==?>>+++>>==??%%&&$$##
@######@###################################@@@#@@@@@@@@#@@#@##$$$$###$&&&$$##################@##########@@#@@##@@@@@###@#####$$$$#####$&&%=??>>++>>??=?=%&&&$$##
#######@#################################@@@@@@@@@@@@@@@@#@###$$$##$&&&$$$###################@######@@###@##@##@@#@###@####&#&&$$####$$&%=??>?>>?>?==??=%%&&$$##
@@@@@##@######@#####$$$##################@@@@@@@@@@#@@@@@@@##$$$$##$&&$$$$$$$################@######@#@@####@@#@@@@@######&&&%$$#####$&%=?=?==???==%%?==%%&$$$##
###@@@########@####$$$$####$###########@@@@@@@@@@@@@@@@######$$$##$&&&$$$############%#@##############@@#@#@#@#@@#@######&%$%$$$#####$&%=%=%%%===%%%====&&&$$$##
##############@####$$$$$$$$############@@@@@@@@@@@@@@@######$$$$#$&&&$$$$###############@@@##@#####@##@@######@@#######$&?&&%$#$####$$&&&&&&&%%=%=&%%=%%%&&$$###
#############@#####$$&$$$$$$$############@@@@@@@@@@@@@######$#$$$$&$$$$###########@###########@####@##@@@#@@@@########$&?=%%&$######$$&&&&&&&%%%%%%%===%&&&$$###
###############@##$#$$$$$$$$$$#########@@@@@@@##@##########$$$#$$&&$$$##################@#######@@@@##@#@@@@@########$&?>%=%$#######$$$$$$&&&%%%%%&%=%%=%&$$$###
##################$$$##$$$$$$######@#@#@@@@@@@###########$$$$$$$&&$$$##################@#@@@@@#@@@@@@###@@##########$&%==%%&$$#####$$$$$$$$&&%%%%%%=%=%%&&$$$###
#############@#@######################@@#@@@@##@########$$$$$$$$$$############@#########@@@@@@@@@@@@#@@@@#@######$$$&=?>$=%$$$######$$$$$$&&%%%%&%===%%%&&$$$###
###################$###########@@####@@#@@@@##########$$$$$$$$&&$$############@@@#@###@@@@@@@@@#@@@#@@@@#@######$$&%=?>%&=$$$$#####$$$$$&&%%===%&%?%%%%%&&$$####
###################$########@###########@@@@@@#@####$$$$$$$$$$$$###########@###@@##@@@###@@#@@@@@@@@@@@@##@###$$&%==?+>$=%$$######$$$$$&&%=?>!?=%??%%=%&&$$$####