C00X/%%C%/X0%CC%0@C/%X0/C0/C0/X%0C0/X%0C%X%X%C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@00000000C
000CXCCC@0C0XCC0@@CXCX0XCCXCCXCXCXCX0XCCC0@0X0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@00CX
0@@@@@/C00@@@0C@0X@@%C@@@XC000@XC@$$$0X$@@$$$$$$$$$$$$$$$$$$$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@00CCC
@@@@@@:+%/^^/X:@0'00.+%//+.+//%!++!+CX.:'^X$$$$$$$$$$$$$$$$$$$$$$$@@@@@@@@@@@@@@@@@@@@@@@@@@0CCC
@@@@@C!''!+.%C!X@:!0'':^%X '!/@^^+:'+X.^@$@0$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@@0@@@@@@@@@@@$@@00CCCC
@@@X%+/%CX%!CC^^!:'^+./%X@:'@@C/.!%0@0:!@@@$$$$$$@@@@@$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$@0XCC000
@@$@@@@@$$$@@$$$@@$00X@@$$C!@0@@C@@@@@C+@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@0X%XX/!!/
$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$$@@@@0%C@$$$$$$$@$BBBBBBBBBBBBBBBBB$$@0X^^+/^^+//
$$$$$BBBBB$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$C/+/X$BBBBBN@$NNNNNB$$@@@000CCXX%^:::!/%/%XXX
$X@$$$$$$B$$$$$$BBBBBB$$$$$$$$$$$$$$$$$BBBBBBBBBB@C/////%$NNNNN@$B$@00CCXXXXXCXCCCX+''::!^/XCCCC
0^C$$$$$$B$BBBBBBBBBBBBBBB$$BBBBBBBBBBBBBBB$$$$$$++++!+/+%$$@@0CCCCCCCC00CCCCCCCXXX/!^!':+%XXXXC
X!+@$$$BB$0BBBBBBBB$BBBBBBBB$$$@@@@0000CCCCCXXXX^:^^!^%%XCCCCCCCCCCCCCCCCCCCCCCCXX%/^%/'+C00000C
C^/C$BBBX!!/0BBBB$@000C0CCC000CCCCCCCCCCCXXCCCCC/+/%XCCXCCCCCXX@0XXXX%%%%%XXX%+!+/++C@^'^XCC0//+
@$NNNB$@@X/%%XCCXXCCCCCCCCCCCCCCCCCC0CCCX/////%XB^'''':::%%^^+%B0+++/+!^^%CCC/+^+/C@@/::/CCCC/++
$NB$CXCXXXX+++++%XCCXXXCXC0@0CCCC0C0000C%++++++/B+:''':::CX^^/%B@X%XX%^++X00X%C0@$$$0^'!XCCCC/++
X0000@$@@C/^+//%@CXX%/%C+:^XCCCXX0X00C@CX//////%B//^!:''!CC^+%%B@XXXCX+++XCX0@@$$@$$$%'^C000C+++
+^^^/0@@@X++^/%%@X%/++%C/^/XCCCC0@C@00@X%//////XNX%///++/CX++XXB@XXCCX+++XXC@@%0@0@BB@/+CCCCC+^^
^^++/%XXX%++^^^!0^!!!!%0/:^%'::!!!^++^!!/%///^!^++++++^!!^+^+%XB@%XCC%++%XC@@@/+%0$NB@C/CCCCC+++
++++++++++++++++++/+//+/////++++++++^^++%%%/:'::::::!'''':!^+/CN@XCCCCX%CC@$@0X/X@BBB$0%/^^^+++/
/++^^^^^^^^^^^^^^^^^^!!!!!!!!!!!^^^!!!!!!!!!::'''''^^''''':!!/X$0%%%%%%%C@@0X+@$@XC@@$@C//+++++/
XXX%%%//+^^^!!!!^^!!!!!!!!!!!!^^^^^^^^^^++++++++++///+++++++/%%%XXX%%/%C00XCXX/XXX%CC%0C^^!^^+^+
XXXCCCXXXXX%%%%%%XXCCCCXXXXXXX%%%%%%%%%%%%/%//////++++++^^^^^^^^^^^^^+X0@0%0X^%0X%@/0%@0^:::!::+
+/XCCCCXCXXXXXXXXCCCX%%//++^^^^^^++^^^^^^^^^!!!!!!!!!!!!!!!!!!!!!!!^^%X00/0X^C%%%//XX0@0/!!!:::^
::!!^+/%XXXCCCCCCCCCXXXXXXX%%//++^^^^^^^^^^!!!!!!!!!!!!!!!!!!!!!!!^^^/CC%%@C!/XCCXC%%@00+!!!:::^
!!!!!!!!!^+%XCCXCCCCXXXXXCCXCCXCCXX%%%/++^^^^!!!!!!!!:::::!!!!!!!!!^^%C0CX@C/C0@$00@00@%!!:::::!
!!!!!!:::::!!^+%XXXCCCCCCCCCCCCCCCCCCC000CCX%%/+^^!!!!!!!!^^^^^^!!^+%CC00C0000C@$$@$$00/!!!!!!:^
XX+^^^!!!!!!!!!::!^/%XCCCCCCCCCCCC00000000C0000000CXX%/++^^^^^^^^^^+%X@@$@C0@$@0@@$BB$C/////%%%X
^/XX%+^^!!!!!!::::!!!!+/%XCC0C00C0000000000000000000@@@@@00CXX/++++/%C0@$@@@0$@C@$$BBB@00000CCCX
X/^^/XX%^!!!!!::::::!!!!!^^+%XC000000000000CCCCC00000@@@@@@@@@C/%C00@@@@$@@$$@@@0@$$BB@000000CCC
/XC/+^+%C%/^^!!!:!!!!!^^^!!^^^+/%XCCCCCCCC0000000000@@@@@@@@@0/'':!^/XC@@@0@$$00X0@$BB$0000000CC
!!+%X%+^^/CC%/+^^!!^!^^+++/%%%%XX%XXXCC000000000000000@@@@@@@/''....':^X0@@@@@$@@@@@$BB@@0000000
!!!!^%CC%+^+%CCX///%XXXXXX%%%%XXXXCCCCCCCCC0000@00000000000000C%+'...:/%C@@@0@@@@@@00@$@000000CC
:!!!!!^%XCX/++%CCCX%/++++/%%XXXCCC000000CCCC000000000000000000000C!..'%@C$$$@/!!+%X000@@00000000
::::::!!!/XXX%+^^^^^^^+/%%XXCCCC0000C0CCCCCCCCCCCCCC00000000000000C/..'/C@@@@0CCX/++^/+%000000CC
:::::::!!!^/XCC%+^^^^+%%XXXCCC000000000000CCCCCCCCCCCCCCC0000000CCCX/!++^++XC00000000C0000000000
:::!::::::::!+%XX/+^^+%%XXXCCXCCCCCCCCCC00CCCCCCCCCCCCCCCCCCCC00C0CX0X%/++%X00C0000000000000000C