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