+
^'''''''''''''''''''^^''''''''''''^^''^''^^^'^'''^^^^^^^^^^'^''''^^'^^''''''^''^'^^'^^^^^^^^^^^^^^^^^^^!^^^''^''^'''^^^^^^^'^^^^^''^'^'^^^^''^^^^^!!++
^'^''''''''''''''''''^^''^''''''^^^'''^^'^'^^^^^''^^^^^'^!^^'^''^^^^^^'^^'''''^^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^'^^^'^^^^^^^!^^^^^^^^^^^^^^^^^!!!+;o+
!'^^''''''^''''''''^''^^''''''^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^''^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^^^^^^^^^^^^^^^^!+:cc+:
!^'''''''''''''''^'^^^^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'^^^^^!^^^^^^^^^^^^^^^^!^!!!^!!^!!^!!^!!!^^^^^^^!^^^^^^!^!!!^!!^!!^^^^^!^^!!!!!+;i;+!+
!^^'''''''''''''^^^^^^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^^^^^^^^^^^^^!!!!!^!!^!!!^^!^^^^^^^^^!^!^!^!!!!!!!^^!^!!^^^^^^!!!++;o*+!!^:
!!^!^'''^'^^^'^^^^^^^^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!!^^^^^^^^!^^^^^^^!!!^^!!!!^!^!^^^^!!^^^!^!!!!!^!!!!!^!^^^^^^^^!!!!!++:ic+!!!^^:
!^'^'^''^''^^^^^^^^^^^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!!!^^^^^^^^^!^!!!!^^!!!!!!^^^^^!^!!^!!^!!^!!!!!!!!^^^!^^^!!!^!!+:c%;+!^^^^^:
!!^^^^'^^^^^^^^^'^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!!!!!!^^!!!!!!!!!^^!!!!!!!!!^^^!!^!!!!!!!^^!!!!!!!!!^^^!!!!!!!!+;i*+!!^^^^^^:
!^^^^^''^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^^^^!!!!!!!!!^^!!!!!!!!!!^^^!!!!^!!!!!!!!!!!!!!!!!!!!!!+++:oo:+!!^^^^^^^:
!^'!^'^''^'^^^^^'^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^!^^^!!^^^^!!^!!!!!!!!!!!!!!^!++!!!!!!!!!!!!!!!!^!!!!++:ci;!!!!^^^^^^^^:
!!^'^^^''^^^^^'^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^!^^^!^^^^^^^!!!!!!!^!:*oii$$i*i$o$i*:+;;+!!!!!!!!!!!!!++:*i;+!^^^^^^^^''^^:
!!^^^^^'''^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^^^^^^!!!!!!^!!!!oc:++++++;;+++++i*::co;+!+!!!!!!++:*ic:+^^^^^^^'^'^'^^:
!^!^^^^''''^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^^^!^!!^!^^^^^!!!!!!!!!c%i:++++++++++++++++++++c;+!++++++:*oo;+!^^^^^''^''''^^^:
!^!'^''^'!'^'^'^^'^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^!^^^!^^^^^!!^!!!!!!!+%::+++++++++++++++++++++++i++++++:;o$;+!^^^^^^^'''^'^^^^^:
!^^^^^'^^^^^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^!^^^^^^^!^!!!!!!:i++++++++++++++++++++++++++;cc:::;*$*:+!!^^^^^^'''^''^^^^^:
!^^^^^^^''^^^^^^^^^^^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^^^!^^^^^!^^!^^^!!!!!c:++++++++++++++++++++++++++++;o;*$c::+!!^^^^^^^^^'^^^^^^^^:
!!^'^^'^'^^^^^^^^^^^^^^''^^^^^'^^^^^^^^^^!^^^^^^^^^^^^^^^^!!^^!!!!!!^^!!^!^^^^^^^^^^^!!!!+c++++++++++++++++++++++++++++++:%i;:+++!^^^^^^^^^^^^^^^^^^^:
!!!^^^^^^^^^^^^^^^^^^^^'^^^^^^^^^^^^^^^^^!!^^^^^^^^^^^^^!!^!!^!!!^^!!^^^^^^^^^^^^^^^!!!!!;*+++++++++++++++++++++++++++++++;c++!+!^^^^^^^^^^^^^^^^^^^^:
!!!^^^^^^^^^^^^^^^^^^^^^^'^^^^^^^^^^^^^^!!^^^^^^^^^^^^^^!!!^^^!^^^!^^^^^^^^^^!^^^^^^!!!!!*;++++++++++++++++++++++++++++++++i++!^!^^^^^^^^'^^^^^^^^^^^:
!!^^^!^^^^'^'^^^^^^^'^^'^^^^^^!^^^^^^^^^^^^^^^^^^^'^^^^!!!!!!!!!!^^^^^^^^^^^^^^^^^^^^!!!!*:++++++++++++++++++++++++++++++++;c+!!!!^^^^^^'^^^^^^^^^^^^:
!!!^^^^^^^'^^^^^^'^^^^'^'^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^!^^!!^!!^!^^!^^^!!!!^^^^^!^^^^!!!!:*:++++++++++++++++++++++++++++++++$++!^^^^^^'^'^^'^^^^^^^^^:
!!^^^^^^^^^^^^^^^^^^'^^^'^!^^^^^^^^^^^^^^^^^^^^^^^^^^!^!!^!!!!!!^!!!!!!+:+!!!!!^!!!!!!!!!!*c++++++++++++++++++++++++++++++++i:!!^^^^'^'''^^^^^^^^^^^^:
!!^^^^^^^^^^^^^^^^^^^'^^^^!^^!!^^^^^^^^^^^^^^^^^^^^^^^^^!!!!!!!!!!!:*io+^^!:oc:!!!!^!!!^!!c:++++++++++++++++++++++++++++++++:*;^^^'''''^'''^'^^^^^^^^:
!!!!^^^^'^^^'^^^^^^^^'^^^^^!!^!^^^^^^^^^^^^^^^^^!^^!^^!!!!!!!+;oio*o+---------'!*ic+!!!^!!o+++++++++++++++++++++++++++++++++++*+^''''''^^^^'^^^^^^^^^:
!!!^^^^^^^^^^^^'''^^^^^'^^^^^^^!^^^^^^^^!^!^^^!!!!!!++:;***:+^'^;:'----------^::'-'+!!!!!+c:+++++++++++++++++++++++++++++++++++o^''''''''''''^^^^^^^^:
!!!!^^'^^^^^^^^^^'^^^^^^^^!^^!^^^^^^^!^!!!!!!!!!:*:!''-----''+;^----------'+;'-----;!!+!!+**+++++++++++++++++++++++++++++++++++;+^''''^^'''''^^^^^^^^:
!!^!^^^^^'^^^^^^^^^^^^^^^^^^!!!^^^^^^!^!!!!!!+:*'--------''::'--------''';+--------;::++!!*c++++++++++++++++++++++++++++++++++++o^'''^'^'''''^^^^^^^^:
!!^^^^^^^^^^^^^^'^^^^^^^^^^!!^^^^!!^!!^!!!!+;;--------'-^*^----------'!c!----------*+!+++!*::+++++++++++++++++++++++++++++++++++o^'^^^^^^'''^^^^^^^^^:
!!^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!^^!!!!!!!:*!---------'!;^---------''!;'------------*!!!!+!+**+++++++++++++++++++++++++++++++++++*!^''^^^'''^'^^^^^^^^:
!!!^^^'^^^^^^^^^^^^^^^^^^^!^^!!!^^!!!!+;;''--------';:'---------''::'--------------*!!++!!!:*;++++++++++++++++++++++++++++++++++;:^^'^^^^^^^^^^^^^!^^:
+!!!^^^^^'^^^^^^^^^^^^^^^^^!^^!!!^!!+c!--------''!;^-----------';!-------------^'--*+!+!!+!+o;+++++++++++++++++++++++++++++++++++o!^^^^^^^^^^^^^!^^^^:
!!!^^^'^^^^^^^^^^^^^^^^^^^^^^^^!!!;;^--------''+:'-----------^;^-------------;o+*--;!!!!!+++i:+++++;++:++++++++++++++++++++++++++;!^'^^^^^^^^^^^^^^^^:
!!!!^^^^^^^^''^^^^^^^^^^^^!!^!!!;:'--------'^:!-----------'!:'-------------*c^'^o--*!!!!++++c*+++++o++o+++++++++++++++++++++++++++;!^^^^^^^^^^^^^^!^^:
+!!!^'^^^^^^'^^^^^^!^^^!^^!!!+*!---------'^;''---------'^*+--------------oc''''^i'-*!!!!++++cO:++++*++c+++++++++++++++++++++++++++c^^^^^^^!!^^^!^^!^!:
!!^^^^^^^^^^^'^^^^^^!^^^^^!;;'---------'!:'----------'!;^-----+*------^o*''''''!o'-*!!!+!+;o+*c:+++;*+;:++++++++++++++++++++++++++c^^^^^^^^^^^^^^^^!!:
+!^^^^^^^^^^^^^^^^^^^^^!+c:'---------'::'-----------!;^--------'----!i:''''''''!c'-*!!!!:o:+!+c*c:++*;+*++++++++++++++++++++++++++*^^^^^^^^^^^^!!!!!!:
!!!^^^'^^^^^^^'^^^^^^!+*^'---------';!'-----------!:--------------:%^''''''''''^*--*!!+o;!!!!!!o*i*::$i%;++++++++++++++++++++++++:+^^^^^^^^^^!^!!!!!!:
+!!^^'^''^^^^'^^^^^!+*!---------'^:^-----------'!;-------------'cc'''''''''''''^;--;!;;!!!!!!!^!;i*o*+^'c++++++++++++++++++++++++:;^^^^^^^^^^!!!!!!!!:
+!^^^^^^^^^^^^^^^^:;'----------!:'------------+;-------------'*+'''''''''''''''^+--**!^^^^!!!^^^^^c^'''''o++++++++++++++++++++++++o!^^^^^^^^^!^!!^!!!:
!!!^^^^^^^^^^^^!:;^------^+;**c''----------'!;'------------^o!'''''''''''''''''^^--+'''^^^^^^^^^^!c^'''''!;+++++++++++++++++++++++o!^^^^^^^^^^^!^^^!!:
!!!^^^^^^!^^^!:;^'+**:!^-----'!:;'--------!*'------------+o''''''''''''''''''''^^--!^^^^^^^^^^^^^;^'''''''o+++++++++++++++++++++++o^^^^^^^^^!^^!!!^!!:
+!^^^^^^^^^^^c*+^------------'!--':;!'--^;^'-----------:*''''''''''''''''''''''^!--+'''^^^^^^^^^^c^'''''''+;++++++++++++++++++++++i!^^^^^^^^^^^^!!!!!:
!!^^^^^^^^!^!*'--------------'-------^''^'----------'o:''''''''''''''''''''''''^^--+'''^^^^^^^^^^c^''''''''c++++++++++++++++++++++o!^^^^^^^^^^^^!!!!!:
!!!^^^^^!^^!!;''-------------^--------'^'---------^i'''''''''''''''''''''''''''^^--!'''^^^^^^^^^!*^'''''''';:+++++++++++++++++++++*^^^^^^^^^^^^^!!!!!:
+!!^^'^^^^^!!;---------------^--------'!--------:c'''''''''''''''''''''''''''''^^--!''''^^^^^^^^!*^''''''''::+++++++++++++++++++++*^^^^^^^^^^^^^!!!!!:
!!^^^^^^!^!^!:'--------------^--------'+-----'o:'''''''''''''''''''''''''c o'''!'--!'''''^^^^^^^^c^''''''''::+++++++++++++++++++++o^^'^^^^^^^^!!!!!!!:
!!^^^^^^^^^!!:'--------------^--------'+--''o^''''''''''''''''''''''''''o   '''+'--^''''''^^^^^^^c^''''''''+;+++++++++++++++++++++o^^'''^^^^^^!!!!!!!:
!^^^^''^^!^!!+'--------------!--------'+--:''''''''''''''''''''''''''''^    ''':--'^''''''^^^^^'^*^''''''''+:+++++++++++++++++++++o^''''^^^^!!!!!!!^^:
!^^^^^^^^^^!!+'--------------^--------'+--c''''''''''''''''''''''''''''  '  :'';--^''''''^^^^^^^^:+^'''''''*++++++++++++++++++++++o^^'''^^^^!!!!!!!^^:
!^^^^^'^^^!!!:^--------------!--------'+'':'''''''''''''''''''%   ''''' :'  O%'*'-^''''''^'^^^^^^!*^'''''''o+++++++++++++++++++++;:^''^^^!!!!!!!!!!^^:
!!^^^^^^^^!^!:'--------------+--------'+-^^''''''''''''''''^      !''' $'^    $c--!'''''^^''^^^^^^c''''''^'o+++++++++++++++++++++o''''^^^!!!!!!!!^^^^:
!^^^^^^^^^!^!+^--------------+--------'!-!^'''''''''''''''$  ;'$   ''O       ''*--!''''''''''^^^^^;+''''*:^c++++++++++++++++++++c+''''^^^^^!!!!!!^!^^:
!^^^^'^^^!^^!!---------------+--------'!-^!'''''''''''''':  %'''   ''    ;'  ''c--+'''''^'''''^^^^+;^'':!'';:+++++++++++++++++++o^''''^^^^^!^^!^^^!!^:
!^^^^^^'^^!^!!---------------:'-------'!''!''''''''' ''''*  %''';  O' ^^'''i$''*--+''''''''''^^'^^^o^'c+'''!;+++++++++++++++++++;^^''^'^^^^^^^^^^!!^^:
!^'^^^^'^^^^!!'--------------:--------'+-'^''''''    +'''o  O''''  O'+'''''''''c--:'''''''''^^'''^'*!!;^'''^o+++++++++++++++++++*^^^'^^^^^^^^^^!!^^!^:
!^^^^^^^^^^^^!---------------;--------'+''^''''''    @'''$   ''';  c'''''''''''*--:'^''''''''^^^'''!i:^'''''*++;++++++++++++++++i^''''^^^'^^^^^^^^^^^:
!^^^^''^^^^^!!---------------;'-------':-^^'''''O     '''^   *''O  ''''''''''''*--:'''''''''^^^^^''^$^^^''''!**!*+++++++++++++++$^^^'^^^^^^^^^^^^^^^^:
!^^^^^''^^^^!^---------------;--------':-^+''''^  '   ''''        '''''''''''''*--:''''''''''^^'''''*o^:^''''co+:;++++++++++++++o^^'''^^^^^^^^^^^^^^^:
!^^^^^'^^^^^!^---------------:--------':'^;''''% ''     '';     ;''''''''''''''*--:''''''''''^^^^^''!+'!^'''''!:!c:++++++++++++:;^'''^^^^^^^^^^^^^^^^:
!!!^^^^^^!^!!!'--------------:'--------+'^^'''O  ''     ''':*:^''''''''''''''''c--+''''''''''''^^^^^^co^'''''''*^*o:+++++++++++o!^'^^^^^^^^^^^^^^^^^^:
!!^^^^'^^^!^+!'--------------;'-------'+-^'''^ *^      ''''''''''''''''''''''''o--^''''^''^^^'^^'^^^!c^''''''''''c^*:+++++++++:*^^^^^^^^^^^^^^^^^^^^^:
!^!^^'^^^^^^!!'--------------;'-------'+-'^''     O+   +'''''''''''''''''''''+o'-''-''''''^^^^^''^'^+;^''''''''^*!^'::++++++++i^^^^^''^'^^^^^^''^^'^^:
!^^^'^^^^^^^!^---------------;'-------'+-''''   ;'''   ^'''''''''''''''''''!c'---+--'^^^'^^^^^^'^^^^*;+^''^''''''''''+*+++++++o!^^^^'^'^^^^^^^^'''^^^:
!^!^^^^^!!^^!^---------------;'-------':-''''#;'''''#''''''''''''''''''''^i^----;''''^^^^^^^^^^^^^^+co;^'^^'''''''''''!c+++++;:^^^''''^'^^^^^^^^^^^'^:
!!!^^!!^!!!^!^'--------------;'-------':-''''''''''''''''''''''''''''''+o'----++'--'^^^^^^'^^^^^^^^o!^o^^^*^''''''''''''o:+++o!^^^^'^^^^^^^^^^^^^^^^+:
+!^^^!^^!!^^!^---------------;--------':'''''''''''''''''''''''''''''+o^----:o''---''''''^^^'^^^^'^;*:c+^'+!^'''''''''''':;::c!^^^^^^^^^'^^^^^'''^^;::
!^!!!!!!!^!^!^---------------:-------'':'''''''''''''''''''''''''''+o^----^c:;:!''-'^'''^^^^'^^^^^^^^^c^''^i^^''''''''''''!oi!^^^^^^^^^^''^^^^'^^!*:::
!!!!!!!^^!!^!!---------------:'------''+'!''''''''''''''''''''''^:o-----'o+++*--^!-'''''^^^^^^^^^^^^^^:+^c%!^'''''''''''''''*^^^^^^^^^^''''''^^^+;:+::
!!!!!!!!!!!!!!---------------:--------^+'+''''''''''''''''''''':*'----'c:+!:*'-;'!-''''''^^^^^^^^^^^^^^$$ccc*^''''''''''''''*!^^^^^^^^^''''''^^;::::::
!!!!!!^^^!!!++'--------------:--------'+-+''''''''''''''''''':c'-----*;+++o!';!-'!-'''''^^^^^^^^^^^^^^^;o:!+o!^'''''''''''''c!^^^'^^^^^''^'''^c:+:::::
+!!!!!!!!!!!!:'--------------;'-------^!-:''''''''''''''''^:c'-----c;+++c:'!:-:o!:-'-'''''''^^^^^^^^^^^!^^+o^^^'''''''''''''c!^^^^^^^'^''^^'+*:+:::;i:
+!!!!!!!!!!!!;''-------------;--------^!-;''''''''''''''';c'----'*;+++*:-!*^^c:o';'''''''''^^^^''^^^^^^^^:*^^'''''''''''''''*^^^^^^^^'^^'^^;::::::;o;;
++!!!!!!!!!!!;'''------------;-------'^!-*''''''''''^'!c;'----^*;+++;*'^:'o$*i;o';''''''''^^^^'''^^^^^^!o:^''''''''''''''''';^^^^''''^'^^!*::::::cc;;;
+++!!!!!!!!!!+*^'-----------';'------'^^-*''''''''''!o+-----^c:+!!;c'^c'-o;o***'-;'''''''^^^^^^^^^^^!!$:^''''''''''''''''''':!^''^'^'^^^:;:::::;i*;;;;
+++!!!!!!!!!!!!+*^-----------:'-----'^^^-;''''''''!o!-----^c:+!!;*^';'-+*:o;i^+^-;''''''''''^^^^^^+c$c!^''''''''''''^^''''^+o$!^^^^''^^c::::::*o*;;;:;
:+!!!!!!!!!!!+;:^oc!'--------;'---''-'^^-;''''''+c!-----!c;+!!+c^'*^--::o;oi+':^-;'''''''''^^::!^*;!+o*!^'''''^;iic+^''^!;O%$$%$o+^^^+*:++::;c*;;;;::;
:+++!!!!!+++!**^'*;;o!'------;'---''-'^^-;'^'^+i+^'---^c:++++*+-:^----*:*c+^-----+'''''''''^*''+ci!+o^*^'^'^';c!^^^c+^!cO$$$$$$%%%c!*;:::::;i*;;:::::;
::!++++!++++*o'^:'cc::o:''-'-;'------'^'-;^^:i!^^^''+i;+++!:c'!:------oc^'------'^^^'''''':+'-!$+o!!*;c!'^^!o!^^^^^^o$%$$$$$$$$$$$%i;::::;co;;;*i%OOO;
:++++!++++:i+;---^:^:c::o;^'';'-------^'-*oo!^^^^^:o;++++:;^';'-------'-------':c^^'''''+;'-^+%c*ic+o!;!^^;c!^^^^^^*%$$$$$$$$$$$$$$%;:::;oc;*i@#@OOOO;
:++++!++;i:!!*'----':!+c;:;o+;'-------^'---''^^^:i*:+++:*!':!----------------c*c*^''''!*''^o*;$o$i+*;!:cooo!^^^^^^+%$$$$$$$$$$$$$$%%;::*i**%#@OOOOOOO;
:++++++*;+!!!*'-------:+^**::i^-------!'--''^^+$c;+++:o+'!*^*!-------------:c*;**^^''c^'-*:;$%$$O@%%O+o;^^o:!^^^:%#%$$$$$$$$$$$$$$%%c;ooc%#@OOOOOOOO@;
:::++**+!!!!!*'---------+:!;c;c;^'----!'---'+ic;:++;c!^!;';*;^-----------!o***;;c^^*!'--^c*:i$O*;%:;$$!^^^^c*:$O$$$$$$$$$$$$$$$$$$$%i$oO#OOOOOOOOO###*
:::;c:+!!!!!!*^'-----------+;!***o:^''!^--:i*;::+;o+^!;^^c::*'^c+------^o****c*;*;+'---''ooii*%i%o%ico!^+^''*O%$$$$$$$$$$$$$$$$$$$$%OO#@OOOOOOOO##@OO;
::i:++!!!!!!!*^--------------:;^;o*ci:!^+i:o:++;o!^^c''c;::i^;co'-----*c*;*******'-';^----+$%*oO$Oi*$@*cO$!^!$$$$$$$$$$$$$$$$$$$$$%O#@OOOOOOOO##OOOOO*
c*:+++!!!!!!+:'----------------'*+!*o**o;::o:;i!^^;^-+*::c:'io+'----!o;;**c**cc''-o;+cc'---^oo*%c%oii$%%$o%!;$$$$$$$$$$$$$$$$$$$$%##OOOOOOO@##OOOOOOOo
;:+++!!!!!!!!*!'------------------^;++cc;;;oi+^^*!-'c::*c'--^!$'--';!;;;****i+''**c*c;cc!'---oci:+$cco:$$$;ii$$$$$$$$$$$$$$$$$$%@#OOOOOOOO#@OOOOOOOOO;
:++!!!!!!!!!!!+;^--------------------!*!+co*^';!'-:*;:o^---------;!'^;*;;*ic^-+c*ocooocc*:'---^;iio$@c$c:''!O$$$$$$$$$$$$$$$$%%#@OOOOOOO##OOOOOOOOOOO;
:++!!!!!!!!!!!!!:*^---------------------+c!':+--^o:;c:'--------+!''-^;;*cc!'^*!+coo!^c*c++o'---'oc$::%i:'-;*%$$$$$$$$$$$$$$$%@@OOOOOOO@#OOOOOOOOOOOOO;
++++!!!!!!!!!!!!+!!*:'---------------------+---*;:;c---------^i'''--^;ci!'!c;+i:$$%;:*oi:;**c^---'oooc'-^;'*$$$$$$$$$$$$$$$%@@OOOOOOO#@OOOOOOOOOOOOOO;
+++!!!!!!!!!!!!!+!''':;^-------------------'---*:c^---------**i^'*^-!o!'-o+!*co$!^**%o;;%*$c:i'^'--;+--*''^c$$$$$$%O%$$$$%O#OOOOOOO@#OOOOOOOOOOOOOOOO;
++!!!!^!!!!!!!!!+^--'-'!*^-----------------'---*:---------;*;;o'-i+c^'-'co:*!$io+*o;!!;$;::::;c^*!---:!--^:%$$$$$$%O$%$$%O@OOOOOOO#@OOOOOOOOOOOOOOOOO;
+++!!!!^!!!!!!!!!^------'!*!---------------''-----------!o;:;:o^-*^'--c+!;;oo+:c+cc::^++^^;+o;!**!'!;---^*+*$%$$$%O%$$$%O#@@@OOO@#@OOOOOOOOOOOOOOOOO@;
+++!!!!^!!!!!!!!!c+'-------^;+'------------'----------!c**;;;;i++'--+cc*;;;:o!:c!+$;;^^^^^^++;*o'';'--'*;++*++*oOOO%$$$%#@O@@####OOOOOOOOOOOOOOOOOOO@;
:+!!!!^!!!!!!!!!!+:*^'-------':;'----------''-------'c;*;;;;;*i^'-^c+!c*****coo+o+*$:^^'^^^^**+'+!-'':*+++!i^^^^O$$$$$$#@OOOOOO#@OOOOOOOOOOOOOOOOOO@i;
++!!!!^^!!^!!!!!!!++:*!'------'^+*'--------''------:*;;::*;cc^--^*c!*:*:!*^+;^^o*+$;!^^^^'^^+;^*'''^c:+++!;$^^'!@%$$$$O@OOOOOO@@OOOOOOOOOOOOOOOOOOO@*;
++!!!!^^!^^^!!!!!!!!++:*+''----'''+;!'------!----!c**;;*;*c^'--:;+:i*ic**;;*+;+c;ci*^^^^'''^^;;''^*;+!!!+c**^^^;$%$$$%#@OOOOOO#OOOOOOOOOOOOOOOOOOOO%*:
+!!!!^^^^!!^!^^!^!!!!!!+:c+''----''-':*!'---!'-^o*c;;;;*i^---:*ccc!o!!o:'o!!i:*;!ooc+^^'^''^'^+$;c:+++!:*:o!^^^i%O$$%%#OOOOOOO#OOOOOOOOOOOOOOOOOOO#o;:
+!!!!!^^^^^!^^^!!!!^!!!+++:o:^------'''^;*^':':^o*;*;*o+'---*o:*::*:**!c:o;;*o$+i;ic!^^^^^^^^^^^oi:!+!o;::$^^^^$c@$$$@@OOOOOO@@OOOOOOOOOOOOOOOOOOO@*::
+!!!!!^!^^^^^!!^^^!!!!!!+++::cc!'---''''''+co;;'o;*;c;'---+;oc;^*:!o!:o*!*$$o:;$oo+;ic*;c*oii*^^^!$*;c:;;;$!^^!ioO$$%#OOOOOOO#OOOOOOOOOOOOOOOOOOO@i;::
++!!!!^^^^^!^!!!!!!!!!!!!!!+++:*i+^'''--''''^^+'o:;%^'---cc;ciio+*!:;:i+c!*!*:+$:^!c*+^*'''!oc*!^^^:%*::;*o^^^:oo%$$O@OOOOOOO#OOOOOOOOOOOOOOOOOOO#c;::
+!!!!!^^!!!^^!!!!!!!!!!!!!!!+!+++;i*!''---''''+'o;co!c'--:ciO+'^c::c*:;oOo:$:i+^^;*c';!'-'c:+!o++^^^^ii**o+^''cc$%%%#OOOOOOO@@OOOOOOOOOOOOOOOOOOO@*:::
+!!!!!!!!!!^!!!!!!!!!!!!!!!!!!+++++:*o+^'''''^+'io**'-^;'--':;::+;;*^*:;!+iooo+:c;!^*'''+*+!!!!*i:^^^^!$$@!^^^i*$$$%#OOOOOOO@OOOOOOOOOOOOOOOOOOO@o;:::
++!!!!^!!!!!!!!!!!!!!!!!!!!!!!!!+++++::o*!''''+''!c*----^;^---!**:^*o%c;ccc*ccc;c':!''^c+!!!++;o;oo+^^^^!*^^'^i;$$$O@OOOOOOO#OOOOOOOOOOOOOOOOOOO#*::::
++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!++++++++::;o:^'+!o:+o'-----'*^'--+:*o:!o**;i*oi^^^;''':;:!++!+o*;::cc*^^^^^^^^;*;$$%#OOOOOOO@@OOOOOOOOOOOOOOOOOOOO;::::
++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!++++++::*oi:+++o^--------;+'---o^:!ci;*io!';^''^c++!!++;o;;;::;i$o!^^'^^^o;;O$%@OOOOOOO#OOOOOOOOOOOOOOOOOOO@o;::::
+!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!++!++++++::+:++++o^----------;:'--!*oo;ic;'+:'''*:!!!!!:o*;;;;;;c$o$$:^^^^^$i$@%@@OOOOOO@#OOOOOOOOOOOOOOOOOOO@c;::::
++!!!!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!++++++++++++++++o!'-----------++^'-:cic^';'-'!*!!^!!+:c;;;;;;*iocci:;o+^^+;:o@%#OOOOOOO@@OOOOOOOOOOOOOOOOOOO#c;::::
++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+!!+++++++:++++:o:^'------------!;'-''-+!--'*+!!^^!+o*;;;;;;c%iooic!^!;i;$c%$@@@OOOOOOO#@OOOOOOOOOOOOOOOOOOO@*;:::;
++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+!!++!++++++++++!++:*o;^''----------!;+!*'''!*!!!!!+;c;;;;;;*i%io:!+ooc;!::i$$$@#OOOOOOO@#@OOOOOOOOOOOOOOOOOOO%;:::::
++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!++!!!!++++++++!++::::;co;^''---------+''';+!!!!++c*;;;;**c$ii+^^^^^^^:%%$@O%%@@OOOOOOO@@OOOOOOOOOOOOOOOOOOO@o;:::::
++!!!!!!!!!!!!!!!^^!!!!!!!!!!!!!!!!!!!!!!!!!++++++!!+++::::;;cc:^'''---'!''c+!!+++;o;;;*$@######%o;:^^^ccO%$$$O##@OOOOOOO#@OOOOOOO%*OOOOOOOOOO*c*;:*::
++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+!++!++!!!+!+++++++++++;c*:!^''++*!!!+++o*;;*%@OOOOOOOOOOO@#@O#O%$$$$$@#OOOOOOOO#OOOOOOOO%O$iO%i%Oio%$c:::;:;
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!++!!!!!+!++++!+!!+++++++++++++!!!!+;*co:++!++;c*;;i@OOOOOOOOOOOOOOOOOO@###O%$#@OOOOOOOO#OOOOOOOO%%O%O%%OOO%OOc:::::;
++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+!!+!!!!!+++++!+++++++++++++++!!!!!!!!!!+++c****O@OOOOOOOOOOOOOOOOOOOOOOO@@##@OOOOOOO@@OOOOOOOOOOOOOOOOOOOO@*:::::