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