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