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