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