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