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