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