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