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