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