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