Trailing-Edge
-
PDP-10 Archives
-
decuslib10-11
-
43,50536/climbe.dat
There are no other files named climbe.dat in the archive.
1I ))))))))))))))))))))))))))))))))) ) 1111)))11ZZ111111111)))))))))++ ))))))))1111)11)))))))+))))))))++))+++++++++++++++)))))
*))))))))))))))))))))))))))))))))) ) 1111)))11ZZ111111111)))))))))++ ))))))))1111)11)))))))+))))))))++))+++++++++++++++))))))))))
*1ZZZXXXXZZXXXZXXXXXAAAAXXXXZZ1ZXXAXAAAAAAAAAXXXM-==-MM-MAAAAAXXXZZZZ1))))11111ZXXAAXZZXZ11ZZ))))111111)))))))))+++++==++++)ZXXXXZZ11
+ CCCC C
*1111ZXXZ11ZXZ11ZZZZZZZZ11111111ZZ11111111111))11111111ZZZXXXZ1111111)))+))))))11XXZ1))111111))))11111111)1Z1)111)++++)))))1ZZXXAMAXZ
*--+ZZZ1111ZZ11))))))))+))))1111111111)111111)111111ZZZZXAMMMMX1111)1))))11Z111ZZZXXZ1111ZZ11ZZZZZZ1ZZZZZZZZZXXZ11))))1))1111ZXAMMMAX
* -1XAAXZZXXXXXZZZZZ11111ZZZZZZZZZZZZZZXXXZXXXXZZZZZXZZXAAM---MZZ111)))))111111111111111)11)1ZZZ11)1ZZ11))11ZXAAXZ)++))11111)ZXAAA-=-
+ CCC CCC
* +X--MAXXXXXXXZZZZ1111ZZZXXXZZZZZZZZZZZZZZZZZZZ1111Z11ZXAMMM-MX1)))+++++)))))))))+)))))+)))1ZXXZ1))111)++)1ZXM==A1++))111))1XM-==+=M
+ CC C CC CCCCC
* +M--MAXXZZZZZ11111111ZZZXXXZZZZZZ111111111ZZ111))111)1ZXAAM--AZ)))+++++))11))))))+)))++++)1XAAX1)+))++++)1ZA-++A)+++++)))1ZXM=+'+-X
+ CC CC CCC CC+CC
+ C
* )M=--MAXZZZZ11111))1ZZXXXAXZ11ZZ111111)111111))1111))1ZXAXMM-MZ)+)++++++)11)))11+++++=+++)1XXAX1+++)+++++1XA-=A)=====++=)1ZZZA-=+-A
+ CCC C CC CCCC
* )M---MAXZZ11Z111)))1ZXAAMAAXZ1ZZ11111111111))))1)1))))1ZZXAMMMX1))))))++)ZZ11))))++++===+)11111++++++++++)ZAMX)===+===-=+)Z11XAM--M
+ CCC CC
* )XAMMMMAXZZZZ111))11ZZXAAAAXZ1ZZ111111)111))))))))))))1)1ZZXAAX11ZZ1))++1XAX1)+)+++)++==+))))++==+++)+++)11XZ)+=+))+==-==+)11XAAM++
+ CC
*-1ZZXAMMMAAXZ111)))111ZZXAAAXXZZ111)111))1))))))))+)))))))))1XXXZZXX11)))1XMX1)++++++++==+)))))+==++)1)+++))))+++)))+=====++)1A-=+''
+ CCC++
+ CC
* 1XZZZXAMMMAZ1))))))))1ZXXXXXXXZZ1))1)))))))))1)))+++)))+++)1ZZZ11ZZ111)+1XX1)++=++++====++++)))++))11)+++++=+++))))++++==++))ZM+''-
+ C++C
+ CC
* )XXXZZXAAMMAX11))))))11ZXXXXXXXXZZ)))))))))))))))++++++++++)111))1Z1))))1111)+++=======++)))+)1)11))1+==+===+++)))11)))++)+++1A==-Z
+ CCC
*-1XXXZZZZXAAAXX11)))))))ZXXXXZZXXXZ1))))+)++++++))))+++++===+)ZZ1)11)))))))))++++=-=====+))))))))11))+====-==)))+))11Z1))))++)XMMAZ)
*-1XXXZZZZZZZXXXZ1)+++)++1ZXXXZZXXXXZ))))+)+++++++)))++==++==)ZMAAZ1))1ZZ11)+++++=---===+11)))111))))))+=====+111++)11ZZ11Z1))1XAZ)+)
*-1ZXXXZZZZ111ZZZ1)+)))++)1XZZZZZXXXZ1))++=+=+++==+))))+=++==)ZAMAX)+)11ZZ1)++==--------=)+++)))))))+))=--+++)11+=+))+)))11)1Z111++))
*=ZXXXZZZZZZZZ11Z11)))))))1XXZ11ZXZZXA--X)+++======++)1))+====)ZAAX1)+++)1Z1)++===---=======+)++++)+==+=+==+1111+=++++++)++++)1))))11
+ CC
*)ZZZZZZZZZZZZ11111))))))+)XXZ111ZZZXA-'+MX)++=====+=)111++===+1XAXZ+====)111)+==--- -===--=+)++=========--+ZAX1++=++))+==-====++++)+
+ C+C
+ C
*)XZZZZ11Z111111))111))))+)1ZZZ11111Z11X-+=MX1++======+11)+====+1XZ1)+++==)ZZ1+=---- --=-==+++======--=---=)Z1)++==+1Z)= ----- --==-
+ CCC
*1XXZZZ111111))))))1))))+=++)1ZZ1)11Z1+=)X-++-X)+======+)1)+===+1Z111Z1+=+1XZ)==-==- -----=-=====+=--===-===))++=--=))1)=------ --
+ CCCC
*ZAXZZZ1Z1111))))))))))+++++++ZXZ1)111)===+ZM-=MX1+==-==++)+====+))1ZXZ)++)ZZ)+=--=---------==+==++=------==++=====----=+=- ------ --
+ CC
*ZAAXZ11111111))))+++))++++==+1XXZ)))))++===+)ZAMAX)+=--==+++=====+1Z111)+)1Z)+=-----------===++=++=--- ---+)+=====--------- - -==--
*XMMAX1111111111))+++++++++===+ZXZ1++++++++++++))1ZXZ1)+==++++==--+11++11)111)+==--=-=---==+===+==---- ---=++====------ -- -- --=+=
*ZAMAXZ111Z11111))++++======--=)1Z1++)))+++)1))+===+)ZZ11)+++)+=---++=+Z1Z111)==---=++=---========- --- - --=======--- -- -=+
*ZAAAAXZ1Z111111))+++++==+==---=)11))))))+))))+))+=--=+)1ZZZZ11)=--==+)1ZXXZ1)+=-- =+)=-====-====---- --- --=++==--- -- ---+
*ZAAAAAZZZ11111))+++++++===-----=++)1)1)11))++)))++===--=+1XXZ11))))))ZXXXXZ1)++==+1111++=====++=---- --- -=+++=-- -==---=+
*XAAXAAXXZZZ111))++++++====-----===)111ZZ1))++)))+++++---+1111)1))))11XAMMAXXZ11)1-++++=MAAXXXXXZ11))++++=---+)))))=--- - -=)ZZZZXAM
+ CCCCCC
*XAXXXXXXZ111)))+++++===----- -====+))1ZZ1)+++++++++=- -+111)+==- --+1XXXZZZ111A.-----------.-.''+'+===MAAAM-MMMMAZZZXAAM-='.'.----
+ '...........'.'++C+CCCC C CC+'+'....
+ +'''''''''''+'+CC C C+C+''''
+ CXXXXXXXXXXXCXC C CXXXX
+ CCCCCCCCCCC C CCCC
*AAXZXXXXXXZZ11))++++++==------=+===+++1XXZ1)++++))))=--+1)))))++=--- =+)11)))+++X'---------------------------------....-------------
+ +.................................''''.............
+ C'''''''''''''''''''''''''''''''''++++'''''''''''''
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCXXXXXXXXXXXXX
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC
*ZXXZXXXXXXXZZ1++++++====----===+==++==)1ZZ)++++++)++===)1)))))+++++=+))))111)+++1AMM--=-M-='''+''++''..........---------------------
+ CCCC CC+++C++CC++''''''''''.....................
+ CCC CC CC++++++++++'''''''''''''''''''''
+ CCCCCCCCCCXXXXXXXXXXXXXXXXXXXXX
+ CCCCCCCCCCCCCCCCCCCCC
*1ZZZZZXXXXXZZ1)+++++====----==+==+++=++)1))+++++==++==+)))))))+++)+)ZZ1++)1Z1)))))+)+)+=--+1Z))))++)ZXXXZZZZZZA---====---=++=+'.''++
+ CCCCCCCCCCCCCCC+'++CC
+ C+CC
+ C
*))1ZZZZXZXXXZ1)++++===------+))+==++===+++++++=====++++)++))))++)++1XXZ+-=)1ZZ1)+++++++=--=))+= -==- =))))+=- ---+XAXZ)+
*+++)1ZXXXXXXXZ1+++++===---=-+11)+==++====+++=+++++===++++)))1)))+++1XZ1)+==+)1ZZ)++++)+++++)11)- -++++=- -)11))==- -+1)+-
*+++++)ZZXXXXZZ1)++++========)1)++========++++=++++=---+))111111)++)1ZZZZ1)+==+1XZ)+++)+))1)+)1)- -+111+==- -+1ZZZZ))+=- --=1XXZ+
*+))+=+)1XXXXXZ1)++++++)))+==))+===========+)+--==+=--=+)11Z1111)+++)1ZZAXZ1+-=)ZXZ1++))))1)++==- -==+1ZXZ)+=-=1ZZXXXZ11)= -==Z-=MZ
+ CC
*++++=-=+)1ZXXZZ1+===+1Z1+=-=+)+==-=-===+=-====--=+++=+)111111111)+=+)11ZZZZ)--+ZZZ1)+))+=)+=== --===)ZXXZ1+++1XXXXXXZZ1+=- =+1-+MX
+ CC
*++)+===-=+)1ZZZZ)+=+)11++====)+====-===+======---=)1111111ZZ11Z1)+=+)1111111+=)ZZZZ1))++++++=-- -====)ZAAXZZ1)1XMMMMAXZZ1)= -+)ZZ))
*=)))++=----)1ZZZ1+++11+=-----++++=-----=======---=)1ZZZ111ZZZZ1=++==))11)111+=)ZZZZ1+==++=+++- -- =1XAAAAZ))XM--=MAXZZ1+- -+++==+
+ CCC
*=+))+===- -=+)111)))1==-- ---=+++=------===---- -=)111ZZZ1ZZZZ)=-====+111Z1+-=1Z11ZZ+--===++=- -=1XAMAZ)+)XM-+-XXXXX1+- ====)
+ CCC
*--=++===- --=+))))ZZ--=- ---===++---- -=---=---=+))+)111)1ZZZ)+===-=+)ZZ1)-=1ZZ11Z1+ --=+=- -+ZZ1++=+ZA--AXM-=-X)+ -+)X
+ CC CCC
*---++++------ -=+++1Z=--- ---==++==+=- -=====---)11)))ZZ1))1Z11)+===)111Z)+=ZXXZZZZ)- ---- -+))++==)XAAAA-+'=XZZ)= -+ZA
+ CC+C
+ C
*+--=+))+==--- -====++=-- --====++===- --=-=-- +1ZZZXXAX11ZXZZ11111ZZZZZ1))XXXXXZZ1= - -+++++==+ZXAAM=.+X1XA1= +1Z
+ C'C
+ +
+ C
*1)--=+)))+=--- -===-++==-- -====+)=-==---===- - -=)ZAMMMMXZXAAXXMMAMMMMAZ1)1AAXXXXZ)- -- -++++++=-=1XAA-+'-ZXAA1==ZZ
+ CC+C
+ C
*X1+---+11)==--------=+=--- -=====)+=-==--+++-- -+ZM--MAAAMAXXMM--=-=-AZ+1XAZXXAZ+- -- ==))))+- -)XM-+'=XZXAAZ)AM
+ CC CCCCCC CC+C
+ C
*XX1+==+11))+==-------====------===+++--=--+))+- -)XM---MMM-MAAM--=====A)+1Z111XX)=- - --=+)ZZ1=- -)X-''MXAXXMMM-=
+ CCC C CCCCCCC C++ CC
+ CC
*1ZX1)=+1))))++=--------==------==+++)+-- -+))+=- -=)XM-------MM---===--M)+1Z)+)XX1))=--==- -=- ---=)ZXZ)= +Z-=-AAAXA-=-=
+ CCCCCCC CCCCCCCC CCC CCCC
*+1ZZ1+++)+++++==-- ----===-- --=+))1)- -+)11)+- =1A---MMM-M-====-MXZZ)+1Z1++ZXZ11)==++- - -=+- -=+1XX1= =A-MAAAXXMAXX
+ CCC C CCCCCC C
*=+)11)+=+++===--=-------=--- --=+))))= -=+)11))+= -+1AMAAAXAM--=--MXZ+===+ZZ)+ZXXZX1)+=-- =))= --+ZXAX1+- --)AMM--XAA1++
+ CCCCC CC
*=++)))+==+++====-=========--- ---=+)+))=-+ZZ11)))+=- -+ZXAAXZZAM----AAZ1+= +ZZZXAAXAAXZ= - -+11+- =1AMAMAZ11+=)XA--AAAZ++
+ CCCC CC
*++++++++==+==+==-=+=-=------ - ---=+)))+-+ZX1)++)))= +1ZXAZ1ZXAMM-MAAXAZ+ +1XAAAM--MA) -=+1)+- )ZAAXAAXX1=-+ZAMAXXZ11
+ C CC
*=++++++)++++))+=-----==---==-- ---++)))==1XZ1==)1Z)= )XXXXXZAAXXMM=--MAX1= =)XMMMM-==MZ= -=+11)++ -+ZAAAAAMA1= -1AMXXXXX
+ CCC CCC
*======++)+)+++==- --==------- -- -+))))=+ZZZ)==)1Z)= -ZXZXXXAMAAXXM===-AZ+ -1MM-==--MX1)- -=1XZ11)+-- -)XAAA-MMXZ= -ZAAAAXX
+ CCCC CCCCC C
*==++=++=++))+++========-=----- ---==+)))+=)XX1)+1111)= =1XXAMMM---AAMMMMMMX)- 1MMM-====MX)=- -=+1ZZZXX1))=--)XXXAXXXXX)-+XAAXXZ
+ CCC CCCCC
*==+++++==++++====+=++==+=---=- --==+))+)=+1XZ1)1))11)+- -)XA----==-MMMAAXAX1)= =ZMM-+++'=-AZ+=- =+-=)1XXAZZ1)- -1ZXXAXXXAZ+-)XAXXZ
+ CCCCCCC CCCC+CC
+ C
*=-=+++)===-======+++=-====--=- ---=++)))++==)11)))++)11+ -)XM===++--MAXXZZZ1))- )ZM-+'''''+-AZ=-+)+-=+ZXXXZ11+- =)11XZXZXZ1++ZAXXZ
+ CCCCCCC CC+++++CC
+ CCCCC
*====++++=====-=-=++=---=----=- --=+++)))=--=)))))+==+)+ -)XM=++=--MX11)11111+ -)Z-+++=++++-AZ++Z1+++))1ZZZ1)= -+++1XZXXZZ1ZMAXX
+ CCCCCC CCCCCCCCCC
*==+===++++++==-=++==--==---=- -=++=+))+==-=+1))))+=+++- -)ZM===-MMAZZ11Z1)1Z+ Z-===M-===MMXZZX1))==+++1ZZ1+- -++)ZZZXXZ1ZAMAX
+ CCCC CCCC CCCC
*--++===+++))+==++=-==-====------ --++==+++=====)1)++++=++- -)X-==-AMMX11111)1Z)- +A----==----AMMX1)+=-+)+11111+- -+)1ZZZZXZZZXAA
+ CCCC CCCCCCCCCC
*--=+)+====)11)+======--===-- - --+)++=++=+=+=+11=-+1))+= )XA=+-MAAX1ZZ11+111= -1M--=+++=++=-+-X1+--=11ZZ111)+= =))1ZZZXXZZZAM
+ CCC CCCCCCCCCCCCC
*==-=11+-==++)++=--==----==-==- ----==++===+=+++++))-=)Z1)+= -ZAM==-MM-AXX1)++11)- -1AM+'+=++'.'++AX)- =)ZXZ)=))= -+1111ZZZZZZA
+ CCC C C+CCCC+'+CC
+ C C+C
+ C
*==- +11++-=+++++=---=- --==+++=- ---=++==+=+)))==))+))))))= +XAM==++=-MAXZ1ZZZZ) +1X======+++=-AX)====)1Z)--= -=))ZZXZXZXX
+ CCCCCC CCCCCCCCCCC
*-==--+11)===+++++=-----=-=--=++=-- --=++=+))+)1)+=+)+==))1)- =ZAM-=+==-AXZZZZZZ)= -+A-MM====+'+-MAZ))+++11= - -=)ZZXZZXMM
+ CCCCCC C CCCCC+CC
+ C
*--=+--+1ZZ1))++)+++=---==----=++=-- --=+))))))+111)=+++ =11)+= +ZXAAM-===MZZXXXZ1)- =ZAXA--M-=+.'+-AX1))))+=- -- +ZXAXZZX==
+ CCCC CC CCC'+CC CC
+ +C
+ C
*--=+= -+X-+=)--++=++=----= --====-- -=+)))Z1)+)1Z1)1)- =1-))+ =1ZXXAM='=MXZZZX1))- =ZZ)1M-MAM='''=-MAZ)=--== ++- 1AAAXZXM+'
+ CCC C+C C C+++CC C+
+ C CCC C
*==-==- -+M'.A+-=+++++=---== -=-=++=- =+)))1ZZ1))11Z11)=-)=111)- =)ZAM-==+-MXZZZZZ1+ +M=MM-+=-M---==++=-A1 =- =1)= +XXXXXAA=
+ +' CCCCC C CCCC CCCCCCCCC C
+ C+
+ C
*===--=- )M+MZ+==+)))+==-==- -+--=)+== --++)1ZXZ1))1111Z1))1))))+ +X-=====-AZZZ11Z1+ 1=++'.''=--M--=+''=A)- - 1Z) +ZXXXX11
+ C CCCCCCC CCC+'++CCC CCCC++C
+ C+CC CC
+ C
*+==---=- -+1ZZ1)==+))))=-=== -==-=++)=- -=+1ZZZ1111ZZZXAX1)+++))= 1AM==++=-AXZZ11))- Z+...'.'++===++''=AZ1- -1Z= )XAAXZ)
+ CCCCCC C'''+'+CCCCCCC++C
+ +++C+C CC
+ CCC C
*=++- -=+- -+ZZZ1+-=)11)==-=- -- --=))= -)1ZZZZ1ZZZZ11AX)++-=++- =ZXA-=++-MAZZ)1)++ X'''+'.'....'''.+MXZ++- )Z+ ZAXAXZ
+ CCCCC +++C+'+''''+++'C
+ CCC C+C++++CCC+
+ C CCCC C
*-+=-- -== ---+11X1)=++111+=++==-===--+11+- -1XAAXXXXXZ111Z1)+====+ =)ZA-+'+=MZ11Z111+ =M++''''''.....-'+-XZZ- +Z) 1MAAAX
+ CC+CC CC++++++'''''.+CC
+ C CCCCCC+++++'C
+ CCCCCX
+ C
*--==------- -+1XXZ)+=+))))++))=-===--+11)--1XAAXXZZZZ)11111))++=+= =XM===+=M1)+1ZZ1+- 1='''''''''.''..'+--=1 +)= )M+'==-
+ CCCCC C+++++++++'++''+CCCC C+CCC
+ CCCCCCCCC+CC++C C
+ C CC
*------ -- -=)ZXZZ1=+=)ZZ))11)=-===--=)1)==)XXZXZZZZ1ZZZZZ1))++++=- =A='++=-AZ+=+1Z1)+ =M'.'.'+'''.'''..'''.=X+ -=+1M.---.'
+ C+CCCC +'+'+C+++'+++''+++'C '...'+
+ C C+C+C CCC+CCC++CCC+ +'''+C
+ C C C CC C CXXXC
+ CCC
*+====-- --- =)ZXX+=+=+1ZZZ1ZZ+---==--=+)+ =1ZZZZZZ111ZZZZ11))+=+)+= =Z+'.'''+-Z ==+Z11)= 1=''''''+'...''.......'A= -)XM+---.-
+ C+'+++CC C++++++C+'''++'''''''+ C...'.
+ C+CCC CCCCCC C+++CC+++++++C '''+'
+ C CCC CCCCCCC XXXCX
+ CCC C
*)))+==-- -=- -1XX+)Z)=)ZZZZZZ)- -=====++=-+1ZZXXZ111111)))))=--)+)--)=.'''.''+M11++1Z11) Z='''''''''''''...''.-.+M)-=1X--+'...
+ C'+++'++C C+++++++++++++'''++'.'C CCC+'''
+ +CCC+CC CCCCCCCCCCCCC+++CC+'+ C+++
+ C C CCC CXC CCC
+ C
*)1)++===---= -1Z=1Z1))1111111= --=+==-++= =1ZZZ11)1Z1)))+++)++))))+Z=''''''''+-X1))Z1)+= =M+''+=++++'''.'....-.-.'-XXXXMMMM='.
+ C++++++++CC C++CCCCCC+++'+''''.'.'+C C+'
+ CCCCCCCC CC CCC+C++++'+'+C C+
+ C CCCCXCXC C
+ C C
*11+))++==- -- -)-ZZZ1)+))1ZZ1)===-=++=+++=- =1ZZZZ1ZZ1)))+==)11)111)X='+''''''.'+M1))111) X+''++=+++....'''........+=MZZXZXM''
+ C+C++++++'+C C++CCCCCC''''+++''''''''CC ++
+ C CCCCCC+C CC ++++CCC++++++++ CC
+ C CCCC CCCCCCCC
*ZZ1)))))=- ---- +ZZ11)++11111)+)))==+++===--=1Z1Z1Z11))1)+-=1Z111111A-++'''''+'.'M1+)1Z1+ )='.'++''.----''....''...''=Z)1ZZM==
+ CCC+++++C+'+ C+'+CC++'....++''''++'''++C CC
+ CCCCC C+C C+C CC+''''CC++++CC+++CC
+ C C CXXXX CCCC CCC
+ CCCC
*ZZZZ11))+==---- +11ZZ11)1Z111++)1))+)++)+=- -+1Z1Z111Z11)+)XXXZ111)))X=+'+'+''.-'Z=+1Z11+ 1-+''+''.------------....''=Z))ZXAA
+ CC+C+C++'.+ CC++C++'............''''++C
+ C C CC+'C CC CC+''''''''''''++++CC
+ CX CXXXXXXXXXXXXCCCC
+ C CCCCCCCCCCCC
*+))ZZZ111)+= -=- +)ZZ11))))1)+++))111)11+++---+ZZZ1111111Z1XAMAX11+= -1M+''''..-.A -+))11+ =ZM+++'''...---------..-...'A+)1)X-
+ C++++''.' CCC+++'''.........''.'''+ C
+ CCCC++'+ CCC+++'''''''''++'+++C
+ CCXC CCCXXXXXXXXXCCXCCC
+ C CCCCCCCCC C
*-==1ZZZ1ZZ1)+=-=- -+1ZZ1)+))11))))))))))))++=--+1Z111)11111XM--MXZ)+ )M+'''.--.M- -=++)1+-+A+'+''''''..--..---...''''=)+11A'
+ CC C+++'..' C+C++++++''..''...'''++++C +
+ CCC+''+ C CCCCCC++''++'''+++CCCC C
+ CXXC CCXXCCXXXCCC
+ CC CC CCC
* -=1ZZ1ZXXZ1===- -+1ZZ11)11)++=++==)+))1)))+-=)Z1Z1111)+)ZAM--AX1)+= =A'''...'M+ ====1+ 1='..''++''''''....''+''=''-X11=-
+ CC +++'''+ C+''++CC++++++''''++C++C++C C.
+ CCC+++C C++CC CCCCCC++++CC CC CC '
+ CCC CC CCCC X
+ C
* =1XXXZZZZ1)+- - +1ZZ11)1Z)+--===+-==)111))=+)ZZZZZ1)+=+XM--ZZX11)= )M=+..''=X- ===)Z+)-'...'''....'..'+''+++++++''MA+-
+ CC CC''++C C+'''+++''''+''+C++CCCCCCC++ C.
+ ++CC C+++CCC++++C++C CC CC '
+ CC CCC CCCC CC X
+ C
* -=1ZXZZZZZZ1+- -+ZZ1111Z)+- === --=)1Z11)))1ZZZ11)++-1M--AXXZ11)=- =)Z-'.'+A+ =111XZZM+'...'...-..........'..'+++-M-+
+ CC C+'+C C+'''+'''.''''''''''+''+CCCC CC
+ C+C C+++C+++'++++++++++C++C
+ C CCC CCCXCCCCCCCCCC CC
+ C
* =+1ZXZZZZZ11+=- -)11Z111))= -=----- =11Z111111111++)=1AMMAZZZ111Z1= -=+X=-X1)= 1AAXXXXXXM+....---......'.-....-.'+AZ1Z
+ CC C''''...''''''+'.''''.'+C
+ ++++'''++++++C+'++++'+C
+ CCCCXXXCCCCCC CXCCCCXC
+ CCC C C
* - -+1ZZZZ1ZZ1)++-- -=1Z1)1))+- --= =1ZZ1Z1111ZZ1ZXXAMAXXZZ11)1XZ)==- +Z1)X-A= )AMXZZXXZA+'.''..''''........'..--+-=MA
+ C C+'++''++++''''''''+''..CCC
+ C+CC++CCCC++++++++C++''
+ C CC CCCCCCCC CCXX
+ CC
* -1X111ZZZ1Z111+ =)11ZZ1)+ -=- -)XXZ1))1ZZZMMM-MAAXZZZ11ZXXZZ1Z)))))ZM-1 ZAAXXZXM+'..''''.'''''''''''...--...'=
+ C C C+''++++'+++++++++++'''..'''+C
+ C++CCCC+CCCCCCCCCCC+++''+++C
+ CC C CCCXXCCC
+ CC
* =1Z11ZZZZ11ZZZ+- -+1ZZ1)+=- --=- +1XXZ11)ZXXMAAAAAXXZZZZZZXXZXXXXZ1)111Z1 -ZAXXXA+--....''.''''''+''+'+'+'....+-
+ C..''''++'++++++C++C+C+C+''''CC
+ ''++++CC+CCCCCC CC C C C++++
+ XXCCCC C CCCC
+ CC
* =111)111111Z11+-- +11111)= =+- -1XXZZ11XAAMAMMXXXXZZ1ZXXXXXXAXZZZZZ1))= -ZAAA+------....'''..''.''''++++=+==-
+ C......''''+++''++'++++CCCCCCCCC
+ ''''''++++CCC++CC+CCCC
+ XXXXXXCCCC CC C
+ CCCCCC
* =1Z)1)+)1Z1)11)+ - +)1)))- =+= )ZXZ1)ZXAMAMMAXAXXX11ZAXZXXAMA XZZZ1)- =XM=---...-...'.'''''.'+'+'++==-MZ+1
+ C...'''.'''+'+++++'+C+C+CCCCC
+ '''+++'+++C+CCCCC+C C C
+ XXXCCCXCCC C C
+ CCC C
* =)1Z1+=)ZZZ1)Z)= -=)11)+ -+)= )XXXZ1XAAXAXAMAAAX1)1AAAMMMMA1ZZXZZ11)- +M'----..'+++++++'++++++=-MXZZZZ+
+ +....''+CCCCCCC+CCCCCCCC
+ C''''++C C
+ XXXXCC
+ CCCC
* - =)ZZZ)-+1ZZ111)+- -++)))- =)+ =1XX1+ZXXAAAMMM-MXZZXAAAMMMAXZZZ1))11+= ==--.-...'++++=---AXAMMXXX11)1))+=
+ C C..'.'''+CCCCCCCC
+ ''+'+++C
+ XXCXCCC
+ CC C
* -1XXZ+ =)11Z1)))- - -=-==++- = =1+- +Z1-)AAMAMMMAMAXZZZ1ZAAMAAXZZZ1111))1= +=.---.....''+AXXXXAAAXZZZZZZZ11Z
+ C'...'''''++C
+ +'''+++++CC
+ CXXXCCCCC
+ CCC
* +ZXZ)- -+1)1))+-= --- -= +)) =+-=ZAAXMMAX1Z1))1++AMAXXXX1ZZ111+-ZZ= =---..''''+--1ZAXXMMMAZXZXZZZ1ZZ
+ C..''++++CCC
+ ''++CCCC
+ XXCC
+ CC
*-- 1XZ)- =)+)111=--- - - -= =+= =)+- - +ZM---AZZZZZ))1+XAAAAAXZZZ111= +Z))- A'..''+=MMAAAM-X11)1)ZXX1AXXXZ
+ CCC +''++CC C
+ C++CC
+ CC
*+- =1Z1+ +1)))))= ===--- ))- =))= - =Z='+AXZXXXZ+11A-MMMMZZ111Z1+ =A11)- Z+.===MAAAA=--X)=====1ZXAMAAX
+ C+C C C'CCC CCC
+ C +
+ C
*1+ +11+ =ZZ11)++--===-=- -)1= -))- =Z++-MAAZAAZAM---MAAX1111Z1= XX1111)X'+Z)MAXXXM++M1)==)))Z1)ZXXXX
+ CCC CCC +C CC
+ C
*X1+- -+1+ -1Z111)+= -+= - ))= =)1+ =X-''=MZXAMZ==-MXXXZZ11)11= ZXZZZ-...=)=XZXAM-MMXXZXXXXXZZ)+++)X
+ C++C CCC C'''C C
+ CC +++
+ CCC
*MAX) -))- )ZZZ1)1+---=+---- -== -+)=- -))+ =1=--=XXAA-MAMMAZZZ11ZZ1Z+ 1MX1X-'..'=M=AA=MM-AM-+''=MXXZ1)=--+
+ C..C C C+''+C C C C CC++C
+ '' C++C CC
+ XX CC
+ CC
*AAAX+ =+- )1Z11)1+- -==+-- -+)= =)+ -=++ )=.+XXXZMMMMAMAZ1ZZXXZ1)+ )=MZZM.-.'--=M--AXAXA+...+--M1)+)=--
+ C'C C '.'+CCC CC C'''CCC
+ + +'+C +++
+ C CXC CCC
+ C
*XAAMX) -- =Z111)1)= -=++)- =)1+- +)=- -+= -+AAXXXAMM-MMAAXZZXXMX1)) -M-XZA'---+-MMMX11111X'..+MZZ)=-+))+
+ C C +...CC +''C
+ C''' C++
+ XXX CC
+ CCC
*XZAMMX= =Z11111)+ =+++ --- =+))+ +1+ ++ - -+1XXAMM--MAXXZ1ZAA1)=+- =1111A...-.==A))11)))XAXZ1=- =Z1
+ CC '''.'CC
+ +++'+
+ CCCXC
+ C
*XXXAMA1= )111ZZ11)- -=+++=-=-- +)1+= -))= =-- -- -1XAAM---AXZZZXAZ1)+=+- --1ZX+'='+-+MXAAAZ1111)+----++=)XA
+ CCC C+C+CCC
+ C C
*AAXXXMAZ- )Z1ZZZZZ1= -+++=++=- =11)+- -++= -- - -1XAM--MAZZZZZZ1Z1+)1)+=--)1M'+-+-AXM-MMXZZ1)))++11AAZAMA
+ CC +CCCC C
+ C
*MMAAXAMA+ -)1ZZ11111+= +)+)+)+- =)11)= =+ - --- -1M-MAAXZZ1XXZ111))11))) =A''==M1X++=+-MXX1ZZZXA-MAXM-1
+ C ++CC CCCCC C C
+ CC
*MAXXXAMM1= -Z1Z111Z11)+- -=)))))+== -=)11+- -- - -== -X-AXAX1)1ZZ1Z111)1)))Z+ X-MA-===AA+.'MZ11ZXXZXXX)ZZ+
+ C C CCCC C'+
+ +C
+ C
*MMMAXAAMA)- =11)11ZZ11ZZ)= ++)))))-=--+)Z1)+ -- -=1AXAAX11)1ZZZZ111)))1ZZ= AMMM==MXM=+=-X111ZXXXXZZ1))
+ CC CCCC
*-MAAXZAAAX+- -))11Z1ZZZZZ1+- -+)+))))+==-=11))= - =+ZAAAZ1111ZXXZ1Z1)ZZXXX1= ZXZXMMMM-M-MAXXAA11ZXXZZZ11
+C C C
*-=MAXZXAAA1= -++111)ZZ1111)+- -+)+)11)++=-=1Z1)=- - - =11XXZ1)1ZXXXZ11ZZAAAAZ11= =Z)ZAM=-MAAMMAM--X1)ZXXZZMX
+CC CC CC
*M-MMXZZXMAX+ -=+)1111ZX1)1)=- -+1))11))++==1ZX))- - =)1XZ)11ZXMAXZXAMM-1Z11X1- -1ZXA=-XZZXX-MM-A1)+Z1XXMM
+ C CC C C
*1ZAMMXZXAMAZ=- =+++)1ZZZ)1)++- +1))1Z))+ =+)X11)+ - -- - -+))AXXXAMAXXXA-MM-AAAX11+ -1ZZAMXZZZAMMAAAX)+1)ZXXA
+ C C
*+)ZAMXXAAMAX+- =++=-+)1ZZZ11== -)))11Z1+ +))11Z1)+= - --- -+1ZAMM-MMAA-M-MMMAAXZ1Z1= +Z1ZAMXXZX-MXZXAZ1)))11Z
+ C C C C
*)+)1XAAAAMMMZ= =)====)ZZZZ1+++- -11)111)))1Z1)ZZ11)) --=- +11A-==M-MM=---MMAAX1)ZXZ +XZ1XMMAZAXAXXXXZ))))+)
+ CCC C CCCC
*)+=+1ZXAAAAAX+ -=+===-=)ZZZ1)+=- -)111)Z1)+111))1ZZ1)- -==- =)+XM-M+=-=-MMAXMAX1XAMM= ZZZZAAMMMAAXZAXZ1)+)++
+ C CCCCC
*))+=))ZAMAMMAZ= -=1)=--=+1ZZ))1+= +)Z11+1Z))11)=+)ZZ1)=- --+===--)1ZA---MMMMAMMAMMXZZXXZZ -ZXAXZZAAXAAMXZ1))))++
+ CCC
*)))++++ZAAMMMX+ -)1)=---+1XZ)))=-- -=1))-1Z1)1)1)==)111)+- == --===-=))ZMMMMMMAM-=-AAXXZZZXA+ 1XXXZ1Z1ZZAAAZ1111Z))
+ CCC
*))++++++ZXM-AA1= =)))----=)Z1=)+=- =)ZZ1Z11)++))+-=)111+- =+= =))+)1))A=+==-M-=+-AAXXZ1ZXAA+ +AAZXZZZ11ZXXZ1111ZZ)
+ C CCCCC CCCC
*)))))++++ZZAAMX+- =)+--- -+1=-))- -=1Z1)11))=-=)= -)1Z1+= -)=-=))+)1+)M=+=-=-=-=-MMAXZXXM-A) ZZ)11Z)))ZXXZZ11)))1
+ CCCCCCCCCC C
*)+)))+=+++)XAAAX= +++=- --+--==- -1Z)+1Z1)+-=++ ++)1)- =1+--11Z)1)Z-=+----=+-MAXXAM--AXZ- )XZZ11)111111Z111)++
+ CCCCCCCCCC CC
*)))++)+==+=1XXAX)- -=++- - =+- +Z1)))Z)++-=1+===+))+-- =+)=)1ZZZZ)X-=MMMM==AAXMMM==-AAX1- )ZZ11)))))))ZZZ11)1
+ CC CC CCC
*)+))+++=-==+ZZAX1- -=== - -+= )ZZ1)11)1+=)11+===)))+ ))++)Z1Z)1A-MAAM-MZZA-MAM=XAAMMX==+Z)=+=+=)++)1Z1Z1Z
+ C C C C
*)++=)==+=+-=)1XAZ+- -+=- )1- -== +1)1)+1)+===1))=-+++1= +1))))Z+=X==AMMMAZAMMMAAMAA--M--X))+++++ -1)1+)++1Z
+ CC CC CC
*+==++-=+=+===+)XZ)+- --- +X)--=+- -=1Z))11Z)1++)Z1))+=+)+- =+)11X1+)M==--M-MM-MMMAXM-MMMAM-MZ1Z1111- ))1)+=+)
+ CCCC C C C C
*=====+==++===+)ZZ1= --- -1Z)- -==- =1Z11)111))+1Z1))+-=+=+ --1)1Z)+1-+----=-M-AXAMM-MMM-MMXX1ZZ1ZZ)=)+)+)=+=
+ CCCCCCCC C C C
*=====+===+=-=-=)Z1+- -- )XX) -++ +111))1))1++1Z1))==+=)+ ==+++)+X===----MAAAAMM-MMAMMAXZXZZ11))11)+++=++
+ CCCCCCC C
*-==++=--=-==--=+))=- --- =XXZ+ -+= -1Z1++1Z))++)1Z))+==+))- =+++1A--=A-MXXAMMM-MMMAAAAXXAXXZ)) )ZZ1)+===
+ CCC C C
*--====---=-----=))+- - 1AX) -++ +1Z1+=)1)))+))111)+)+11+ -=+++)A==-MM-M===-=-MMMAAZXZZZ111) -))1Z)++-
+ CCC C CCCCCC
*- --====-==-----++==- =+)X1= -+ -+ZZ1)))))))++)11)))=+=+= ---=+)X==M-=-==--M--MAXAZ1111111) +++)11++
+ CC CCCCCCC CC
*-----=-=-=--- -=++=- - =+ =ZX+ --- -=1XZ1++)1)++++1Z11+=++= --+=+-=MM=---M-MMMXAAXZZ11ZZXZ- )===)1))
+ CC CCCC C
*----=----= - - == - +XA) -- XX1+=)1)+++=+)11=+=+++ --=)=Z=+==--MMAXAXXXXZZZXXXZXA1 +++==-=)
+ CCCCCC
* -=---=-- -- -==- +11= -- =XXZ))+)11)===+1Z))1))+- =)))A''=====MMAXXXAAAAXAXMXX) =+++==-=
+ ++CCCCC
+ CC
* ------ - --- =)+ -=)ZZ))++11)====+)11)11)= =+)-1+.'+'''+=----MAAAXXXAXZ= ++===X
+ C'+C+++CCCCCC
+ +C CCC
+ C
*- - --=--- - == - ++- -+1Z1+)Z1)++=-=1ZZ1))1+= -+= ++.+=++'''.+-AAXAXAXAXXZ- =-+M'
+ C'CCCC+++'CC +
+ + CCC+ C
+ C C
*=- - --- - - - - -= =))- -1Z1)==111)=+=+)+++)11)= +- 1==-==MMA-MMAAXXXXZX1Z11- 1+.
+ CCCCC C C'
+ +
+ C
*-- -- --- -- )1)- =ZZ1)+=)ZZ+-=++)=+1))))= =++=X=++'++++==AAXZX1ZZ)1))+ )+.-
+ CCC+CCCCCC C'.
+ C +'
+ CX
+ C
* -- - - 1Z)= =)1Z1++)ZZ)===+)+++++))= =+=)='''..++=MAXXZ1Z)+++ =.-.
+ C+++''CCC C'.'
+ CCC++ +'+
+ CC CXC
+ C
* -- -- - +ZZ1= +ZZ))+)1Z1)+==+++==)))+ == =-+'-.-MMMAXXAX1)+)= A..-.
+ CC+.'C ''.'
+ C'+ ++'+
+ XC CCXC
+ C C
*- - - - - - -+XMZ =ZZ))++)X1)+-=-=++=--++= -M'.MZ1111XAMA1)+)) M...-.
+ +' '''.'
+ C+ +++'+
+ C CCCXC
+ C
* - --- -XXXZ -)11)+++11)1)===+)+ -+- = XM= ==+1XMX)+))+- +....--
+ ''''..
+ ++++''
+ CCCCXX
+ CC
* - - - -++1)= +Z1)++++11))=-=++)= -- =++ - -=+=+=)Z)+))==1=....--
+ C''''..
+ ++++''
+ CCCCXX
+ CC
* -- - )))1)- +11))+=))1Z+=- =+))+-= =)== --== =)+++=-=-''.-..-
+ C++'.''.
+ CC+'++'
+ CXCCX
+ C C
* ---- +ZZZZZ= =))+-=)=+1Z)== +1)+)+- === -= --= - )''.'..-.
+ ++'+''.'
+ CC+C++'+
+ C CCXC
+ C
*= - -+1ZZZ+ -+))++)==))++= -+)1)+= -=- ---=-- -=.'....--
+ C'+''''..
+ +C++++''
+ C CCCCXX
+ CC
*+-- - +)))1) -))=+)===)1+---=))))== ==- --- - )-+'+'.'.--
+ CC+C+'+'..
+ C C+C+''
+ C CXX
+ CC
*++= =1111)= -))+)+=-=+))-=-=++)+== ==- ---- -M=+''+'''.-'
+ CC++C+++'.C
+ CC CCC+'B
+ CXH
+ CX
*=+=-+=- -- +ZAMA) =++=-==-+)=+----=1+=- -= ==--=)=''''++''.--'
+ C++++CC++'..C
+ CCCC CC+''B
+ CXXH
+ CCX
*=---+++= == )ZAX1= )+==--- ==++- ==+== == =+Z=+'..''+'.-'''
+ CC+''++C+'.CCC
+ C++CC C+'BBB
+ CC CXHHH
+ CXXX
*=-----=--- -)) =11++= -++= - -=+--- --==- - =X+''''.'''.-''''
+ C++++'+++'.CCCC
+ CCCC+CCC+'BBBB
+ C CXHHHH
+ CXXXX
*+-- ------- -11= -==++- +Z1=+= =-- == =)AM-+++.'.....-'''''
+ CCCC'+'''''.CCCCC
+ +C+++++'BBBBB
+ C CCCCCXHHHHH
+ CXXXXX
*-===--- - =)+= -=)Z1- +1M='..-Z=- - X..+='+'''...'.-'''''-
+ C+''C ''CC+C+++'''+'.CCCCC.
+ C++ ++ C CCC+++C+'BBBBB'
+ CC CC CCC CXHHHHHX
+ CXXXXXC
*+--==+=--- -+==- ZAA1=--+=+1ZXA-==+'++''.--'MXZ)+- - )=-''-'+''.'.''.-'''''-.
+ CCCC+CC++'..+ C.C+C+C++'+'++'.CCCCC.'
+ C CC+''C 'BC C CC+C+CC+'BBBBB'+
+ CXX XH C C CXHHHHHXC
+ CC CX CXXXXXC
*=-==--==-- -=- =XAMAM-='..-.++++'''''''+.--''+=-1- -X'-'-+=''''.-...-'''''-.-
+ CC+''.'CCCC+++++++C'..++CCC +.C.CC++++'.'''.CCCCC.'.
+ C++'+ CCCCCCC +''CC C'B' CCCC+'+++'BBBBB'+'
+ CCXC CXX XHX CXCCCXHHHHHXCX
+ C CC CXC C CXXXXXC C
* =++++=++-- -)ZAMM==--=++..'+=++'+++'=+''+.+++++-A+ =--'''.=+..'..--'-''''''-.-
+ CCCCCCC''+CCCC+CCC+CC++C'CCCCCC C.CCC'CC''+''..+.CCCCCC.'.
+ ++C C C CC + 'BBB+ ++C++''C'BBBBBB'+'
+ CC C XHHHC CC CCXX XHHHHHHXCX
+ CXXX CC CXXXXXXC C
* ==))+)+==- --)ZA--==------M-=-===-==+++==+'++===-MMAAM'=X+ =--''-'-'.+''-----'''''-.--
+ CCCCCCCCCC CCCCCCCCCCCCCCC+CCCCCC +C C..CC.+C+'C++.....CCCCC.'..
+ C C ''BB'C C+ CC'''''BBBBB'+''
+ XXHHX C XXXXXHHHHHXCXX
+ CCXXC CCCCCXXXXXC CC
*- --==++)+=== =)ZM--++=+----=====--==-+==++++++='..+---+'=.----.A=++=.-''--''.-..'---'''-''-----
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+''CCCCC+C'....' CCCC'.CC..++'.''+...CC+.CC.....
+ C++ C +''''+ +'BB''CC+'++C'''BBC'BB'''''
+ CC CXXXXC CXHHXX CXCC XXXHH XHHXXXXX
+ CCCC CXXCC C CCCXX CXXCCCCC
*====- -===+++==- )ZXM-======-=------====-=====-=+==+=+++'+=--=--'''''''''''+------.''..'..-''''+'-..---
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC..CCCCCCCCCC+C......'++''+''.CCCCCC.''...
+ C ''BBBBBBBBBBC ''''''+CC++C++'BBBB B'++'''
+ XXHHHHHHHHHH XXXXXXC CC CCXHHHH HXCCXXX
+ CCXXXXXXXXXX CCCCCC CXXXX XC CCC
*=+)++= -=+)=+=- =+= -Z-+=======----======---=--+==+-=++==+++++=M-M=.''''''''''''+.--'---.'.--..--''''+-'.-.--
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C'CCCCCCCCCCCCC'..C...'+'..''..CCCCC.+'.'..
+ +BBBBBBBBBBBB +''B'''+C+''++''BBBB 'C+'+''
+ CHHHHHHHHHHHH CXXHXXXC CXXCCXXHHHH X CXCXX
+ XXXXXXXXXXXX CCXCCC CC CCXXXX C C CC
*=++++)-=--- - -=-- +=+- )A=+'+=--==-==-==+=====+=--==+++'+===-=+''+=MM-M=-'''''''''''-=.---''--...-.-''''''-'.-.'--
+ CC+CCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC++CC C C.CCCCCCCCCCC.C'...CC..'''.'.CCCCCCC+'.'+..
+ C C CC 'BBBBBBBBBBB' +'''BB''+++'+'BBBBBB C+'+C''
+ XHHHHHHHHHHHX CXXXHHXXCCCXCXHHHHHH CXC XX
+ CXXXXXXXXXXXC CCCXXCC C CXXXXXX C CC
*==--=+=++==- ---- - -)X-++'=====-='==++===+==--+'=+++++====+==++=+=------'''''''''''''+'----'---..-.-'''''--'..----
+ CCC+CCCCCCC+CCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCC+....C...''.'.CCCCC.C+''....
+ C C C 'BBBBBBBBBBBBB C''''B'''++'+'BBBBB' C++''''
+ XHHHHHHHHHHHHH XXXXHXXXCCXCXHHHHHX CCXXXX
+ CXXXXXXXXXXXXX CCCCXCCC C CXXXXXC CCCC
*== -=-++=++=---- =)XM==++==-++==+=++=+====+==+-='==+====--++=+====+--M-='''''''''''''-+..--------.--'''''-'M'------
+ CCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC.C''........'..CCCCC.+ +......
+ C BBBBBBBBBBBBB' ++''''''''+''BBBBB'C C''''''
+ HHHHHHHHHHHHHX CCXXXXXXXXCXXHHHHHX XXXXXX
+ XXXXXXXXXXXXXC CCCCCCCC CCXXXXXC CCCCCC
*+=- -==+--=+====- 1A=+++=''+++=+++++=++++==++++=+++++++=-+===++====++'--M-+'''''''''''''''.-------'---'''''-.M+.'-----
+ CCCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC CCCCCCCCCCCCCCCC+'.......C...CCCCC.' C'+.....
+ CC C BBBBBBBBBBBBBBC+'''''''B'''BBBBB'+ +C'''''
+ HHHHHHHHHHHHHH CXXXXXXXHXXXHHHHHXC C XXXXX
+ XXXXXXXXXXXXXX CCCCCCCXCCCXXXXXC CCCCC
*=----- - -++-==++-- =XM+'.=+=='.+++==+==+=+++'++=-'++''====+=====+++-===+==+=---'''''''''''''-+'....--''''''''-'==.'..----.
+ C+'CCCC+'CCCCCCCCCCCCC+CCCC+CC++CCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCC.C+''''..CCCCCCCC.+CC'+''....'
+ C+ C+ C C CC 'BBBBBBBBBBBBB' C++++''BBBBBBBB'C +C++''''+
+ C C XHHHHHHHHHHHHHX CCCCXXHHHHHHHHX C CCXXXXC
+ CXXXXXXXXXXXXXC CCXXXXXXXXC CCCC
* =-=------= -===----- X+'===+++=+.'''=++=++''+=++==+++++=+=+++'=-=+++=+=+===+==--M.''''''''''''''''---''''''''''-'-.--.-------
+ C+CCCCCCCC'+++CCCCCC++CCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCC 'CCCCCCCCCCCCCC++...CCCCCCCCCC.+C'..'.......
+ C +CCC CC C +BBBBBBBBBBBBBBCC'''BBBBBBBBBB'C +''+'''''''
+ C CHHHHHHHHHHHHHH XXXHHHHHHHHHHX CXXCXXXXXXX
+ XXXXXXXXXXXXXX CCCXXXXXXXXXXC CC CCCCCCC
*-===----=------ -- =M--''+++++=+-.'+==+=+++++=++++'++=+++===+++==+=+===+=+=+==--=-'''''''''''''''--'''''''''-.-+-.-.---------
+ ..++CCCCCCC.'+CCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCC..CCCCCCCCC.'.CC'.'.........
+ ''CC '+C C 'BBBBBBBBBBBBBBB''BBBBBBBBB'+' +'+'''''''''
+ XX XC XHHHHHHHHHHHHHHHXXHHHHHHHHHXCX CXCXXXXXXXXX
+ CC C CXXXXXXXXXXXXXXXCCXXXXXXXXXC C C CCCCCCCCC
*-+=-=- ------ ++----.''++'+--.+++=++++=+++'++=+++=+++-+++'==++++==+++M+===-=.'''''''''''''''-''''''''''-'.--.------.----
+ C....'++CC+C..'CCCCCCCCCCCC+CCCCCCCCCCCCCC+CCCCCCCCCCC CCCCCC'CCCCCCCCCCCCCCC.CCCCCCCCCC.+'..'......'....
+ ''''+CC C ''+ C C +BBBBBBBBBBBBBBB'BBBBBBBBBB'C+''+''''''+''''
+ XXXXC XXC CHHHHHHHHHHHHHHHXHHHHHHHHHHX CXXCXXXXXXCXXXX
+ CCCC CC XXXXXXXXXXXXXXXCXXXXXXXXXXC CC CCCCCC CCCC
*=====------- M'''.--.''+''.--'====''''+++=====+++=====+'+=++++==+='+=+=++M=''''''''''''''''''''''''''-.'.---------.----
+ +++'..'++C++'..+CCCC++++CCCCCCCCCCCCCCCCC+CCCCCCCCCC+CCCCCC C+CCCCCCCCCCCCCCCCCCCCCCCCC.'+'.........'....
+ CCC+''+CC CC+''C CCCC C C CBBBBBBBBBBBBBBBBBBBBBBBBB'+C+'''''''''+''''
+ CXXC CXX HHHHHHHHHHHHHHHHHHHHHHHHHXC CXXXXXXXXXCXXXX
+ CC CC XXXXXXXXXXXXXXXXXXXXXXXXXC CCCCCCCCC CCCC
*-=+-=--=-= = Z''+.''-'.'+'''--'+++'...''+++=++===+===++=+'++'+''=++'+=-.''==-''''''-'''''''''''''-''---------'----------
+ ++C'++.C'+C+++..+CCC+'''++CCCCCCCCCCCCCCCCC+CC+C++CCC+CC.'++CC.CCCCCC.CCCCCCCCCCCCC.CC.........C..........
+ CC +CC'B+C CCC''C C+++CC C C CC C '+CC 'BBBBBB'BBBBBBBBBBBBB'BB'''''''''B''''''''''
+ C XHC XX CCC XC XHHHHHHXHHHHHHHHHHHHHXHHXXXXXXXXXHXXXXXXXXXX
+ CX CC C CXXXXXXCXXXXXXXXXXXXXCXXCCCCCCCCCXCCCCCCCCCC
*-=-------- = A..''''.-.'+''=..'+++.....'''''++++=+++=++++'+=++''++''+-'-.'=='''''''=.''''''''''----------------'--------
+ ''++++'.'+C++C''+CCC'''''+++++CCCCCCCCCCCCC+CCCC++CC++CC+.'+CC+CCCCCCC'CCCCCCCCCC................C........
+ ++CCCC+'+C CC ++C +++++CCCCC C CC CC C'+C CBBBBBB +BBBBBBBBBB''''''''''''''''B''''''''
+ CC CXC CC CCCCC XC HHHHHH CHHHHHHHHHHXXXXXXXXXXXXXXXXHXXXXXXXX
+ C C XXXXXX XXXXXXXXXXCCCCCCCCCCCCCCCCXCCCCCCCC
*----=-==- - -XX+M'''''+=-+''''+'..+++.......'.''++=+'+++++++=++++'.'+++'+'--.+++-'''''M)'''''''''.----'-''--'----'---'-''''
+ +++++CCCC++++C+''CCC'''''''+'++CCCC+CCCCCCCCCCCC+'+CCC+C+..'CCC.CCCCC CCCCCCCCC'....C.CC..C....C...C.CCCC
+ CCCCC CCCC C++ +++++++C+CC C C+C C C''+ 'BBBBB BBBBBBBBB+''''B'BB''B''''B'''B'BBBB
+ CC CCCCCCC C C XXC XHHHHH HHHHHHHHHCXXXXHXHHXXHXXXXHXXXHXHHHH
+ CC CXXXXX XXXXXXXXX CCCCXCXXCCXCCCCXCCCXCXXXX
*=-------- -- ++.'.+-+.'=)-+Z+'.''..'+''.....'....++=+++=++''++++''''.+++-'.-''++=-'''''X--''''''''.-'''''---''--''-'''---'''
+ C'+'CCC'+C C+'++''+C++'''''+''''CCCCCCCCC++CCCC++++'CCC.+'.++CCC.CCCCC .CCCCCCCC'.CCCCC...CC..CC.CCC...CCC
+ +C+ +C C+CC++C CC+++++C++++ CC CCCC+ 'C+'CC 'BBBBB 'BBBBBBBB+'BBBBB'''BB''BB'BBB'''BBB
+ C C C C CC CCCCC CCCC C X CX XHHHHH XHHHHHHHHCXHHHHHXXXHHXXHHXHHHXXXHHH
+ C C CXXXXX CXXXXXXXX CXXXXXCCCXXCCXXCXXXCCCXXX
*=-=--- -- --- - -1='''==+.-.M)=++''''''.++'...-.......'+++'+.'''''+''''''++.-...''.'+.'''''+ Z''''''''--'''''''-'''''''''''+M'''
+ C+++CCC'.' C++++++'CC+'''.'''''''+CCC+C'+++++C++++++CC'.'''++'+C'CCCCCC CCCCCCCC..CCCCCCC.CCCCCCCCCCCC CCC
+ CCC +'+ CCCCCC+ C+++'+++++++C C +CCCCC CCCCCC +'+++CC+C +BBBBB BBBBBBBB''BBBBBBB'BBBBBBBBBBB BBB
+ CXC C CCCXCCCCCCC C CXCCC C CHHHHH HHHHHHHHXXHHHHHHHXHHHHHHHHHHH HHH
+ C C C XXXXX XXXXXXXXCCXXXXXXXCXXXXXXXXXXX XXX
*---=--==-- -- )M=+++--=+...=ZX='...'+''+''..-....'....''''..''.''''''''++''.--.'.'''-'''''=).''''''''----''''''''''''''''.-'--
+ CCCCCCCC'''C C+'''+C++C++''.''''+''''++++''++'++++++++CC++'..'+'+++.CCCC+ 'CCCCCCCC....CCCCCCCCCCCCCCCC'.C..
+ +++ C+++C CC CC++'++++C++++CCCC++CC+CCCCCCCC CC+''+C+CCC'BBBBC +BBBBBBBB''''BBBBBBBBBBBBBBBB+'B''
+ CCC CCC CCXCCCC CCCC CC C CXXC C XHHHH CHHHHHHHHXXXXHHHHHHHHHHHHHHHHCXHXX
+ C CC CXXXX XXXXXXXXCCCCXXXXXXXXXXXXXXXX CXCC
*--- ---=- --- -1==+=-====++++++=-'...''''.........'''......--.'''''.''.'.'''.-.-'''''.-''''X+A-''''''''--.-'''''''''''---.'----
+ CCCCCCCCCCCCCCCCC+'''++++'''''''''+++''''''..'+++++'++'+'+++'.'.+++++'.CCCC .CCCCCCCC..'.CCCCCCCCCCC...'+....
+ C+++CCCC+++++++++CCC++++++''+CCCCC+CC+C+CCC+'+'CCCCC+'BBBB 'BBBBBBBB''+'BBBBBBBBBBB'''+C''''
+ CCC CCCCCCCCC CCCCCCXXC C C C CXCX CXHHHH XHHHHHHHHXXCXHHHHHHHHHHHXXXC XXXX
+ CC C C CXXXX CXXXXXXXXCC CXXXXXXXXXXXCCC CCCC
* -- -=-- --- +X==+=-=====-++'--'.-..'''.......'..'.'.''..-----.''''''''....-----'..''-''''+)1X-'''''''---''''-'''''--..----.--
+ CCCCCCCCCCCCC+..+'.''+++'''''''+''+'+'++''.....'++++++++''''.....+''++.CCCCC .CCCCCCC...CCCC.CCCCC..''....'..
+ C''C+'++CCC+++++++C++C+C+CC++'''''+CCCCCCCC++++'''''C++CC'BBBB 'BBBBBBB'''BBBB'BBBBB''++''''+''
+ XX CXCC CCCCCCC CC C C CCXXXXXC CCCCXXXXX CC XHHHH XHHHHHHHXXXHHHHXHHHHHXXCCXXXXCXX
+ CC C CCCCC CCCCC CXXXX CXXXXXXXCCCXXXXCXXXXXCC CCCC CC
* -=- =- - ---- 1=+++====+===+'-----'-....--......'.'.'...-.----.-....'+-+''.''==-MXAA++-'''-MZZM-'''''''--+=--.--.--'=AM==-.---
+ CCCCCCCCCCCCC+.....C.''''..''''''+'+'+'''.'....'.''''+CCC++'++CCC CC.CCC. .CCCCCCC..CC..'..'..+C CC.'...
+ C'''''B'++++''++++++C+C+C+++'+''''+'++++C CC+CC 'BBB' 'BBBBBBB'' ''+''+''C '+'''
+ XXXXXHXCCCCXXCCCCCC C C CCCXCXXXXCXCCCC C XHHHX XHHHHHHHXX XXCXXCXX XCXXX
+ CCCCCXC CC C CCCC C CXXXC CXXXXXXXCC CC CC CC C CCC
* =--------- - M++++-====+==+'-'-=.'---...............-.-------------=) -=++=- =)ZXXA) - =1=-''''''-1)-''--'-.-=-MM+==--+
+ CCCCCCCCCCCCC+.+CC'C...'''''''''''''''.'.............C C.CCCCCC. C++..+.'CCC CCCCCC
+ C'C +B'''+++++++++++++++'+''''''''''''' 'BBBBBB' CC''C'+
+ X CHXXXCCCCCCCCCCCCCCCXCXXXXXXXXXXXXX XHHHHHHX XX XC
+ C XCCC C CCCCCCCCCCCCC CXXXXXXC CC C
* --===- ----- --+======-==--='..''-'--''---......--..--------------.++ +AM+--'-Z+XMM+.--AZ+--M-XMX1X
+ CCCCCCCCCCCCCC+''++.C..CC...''''''..''..............'C C..C. C'.. CCC C
+ C++CC'B''BB'''++++++''++''''''''''''''+ ''B' +''
+ CC XHXXHHXXXCCCCCCXXCCXXXXXXXXXXXXXXC XXHX CXX
+ CXCCXXCCC CC CCCCCCCCCCCCCC CCXC CC
* =---=----- - - A+==+=====-M++''+'-''-.-''---.--......-.-...-----.--+) +A=-ZMZM-'-AA+=X1))11=-
+ CCCCCCCCCC CC++C+.CC.'.CC...'..''''''.'.'''.....'..C CC C+. CC C.
+ CC C'BB'+'BB'''+''++++++'+'+++'''''+'' C' '
+ XHHXCXHHXXXCXXCCCCCCXCXCCCXXXXXCXX X X
+ CXXC CXXCCC CC C C CCCCC CC C C
* =-====---=- M+=====---==''....-''----''''---.--------..------..+Z -ZXAMMMM+-AZMAAM=.---
+ CCCCCCCCCCC++''''.CC....CCCC...'........''......''C CC C'...
+ CC++++'BB''''BBBB'''+''''''''++''''''++ +'''
+ CCCCXHHXXXXHHHHXXXCXXXXXXXXCCXXXXXXCC CXXX
+ CXXCCCCXXXXCCC CCCCCCCC CCCCCC CCC
* =====+= - - -X++=====--+'....-.-'-------''''-------------.-..'==1 - =='''-=++=='.--'----
+ CCCCCCCCCC+''''.'.C.......CCCC.............'.''+CC C+++CCCCCC+'..C....
+ C++++'+'B'''''''BBBB'''''''''''''+'++C CCC C+''B''''
+ CCCCXCXHXXXXXXXHHHHXXXXXXXXXXXXXCXCC CXXHXXXX
+ C CXCCCCCCCXXXXCCCCCCCCCCCCC C CCXCCCC
* ==+=--- -= -1+'====+-='.--.--.--'--------''''-..--------.-.+Z)=) Z--''--''----------
+ C+CCCCCCC+'..'..'..C........CCCC.''........'.'C C ..CC..CC..........
+ C C+''+''+''B''''''''BBBB'++''''''''+'+ ''BB''BB''''''''''
+ CXXCXXCXXHXXXXXXXXHHHHXCCXXXXXXXXCXC XXHHXXHHXXXXXXXXXX
+ CC CC CCXCCCCCCCCXXXXC CCCCCCCC C CCXXCCXXCCCCCCCCCC
* +=++= --- -+ ++++=====+.....------'--------''''--------.....=+)M- X.-''''''-'--..-''
+ CCCCCCCCC'''''......C........CCCC........'''''C '.CCCCCC.C..''.CC
+ +++++''''''B''''''''BBBB''''''''+++++ +'BBBBBB'B''++'BB
+ CCCCCXXXXXXHXXXXXXXXHHHHXXXXXXXXCCCCC CXHHHHHHXHXXCCXHH
+ CCCCCCXCCCCCCCCXXXXCCCCCCCC CXXXXXXCXCC CXX
* +++==- - -- )+++++++='.'.=+-----''--------'''-------.=M=---.XZ= -- -.--''''''''-----
+ CCCCCCCC+'+'CC.....CC........CCC.......'C C...' C'..CCCCCCCC.....
+ C+C+ '''''BB''''''''BBB'''''''+ '''+ +''BBBBBBBB'''''
+ C C XXXXXHHXXXXXXXXHHHXXXXXXXC XXXC CXXHHHHHHHHXXXXX
+ CCCCCXXCCCCCCCCXXXCCCCCCC CCC CCXXXXXXXXCCCCC
* )))+== -=- - =-=M+++=='..'+------'----------'----+Z--Z- 1----M) =A=.--'''''''''---
+ CC CCCCC+''+CC.....C..........C....C CC .... C'..CCCCCCCCC...
+ C++C '''''B''''''''''B'''' '''' +''BBBBBBBBB'''
+ CC XXXXXHXXXXXXXXXXHXXXX XXXX CXXHHHHHHHHHXXX
+ CCCCCXCCCCCCCCCCXCCCC CCCC CCXXXXXXXXXCCC
* ))++== -= - -AMA+.+=+'..''-'--.-'------''--'''--Z M--'A+- -)Z1-+='.----'''''''
+ C'CCC+''++.C..'.C......CC..CCC.. ..+ C+'....CCCCCCC
+ + C++CC'B''+'B''''''BB''BBB'' ''C C+''''BBBBBBB
+ C CC XHXXCXHXXXXXXHHXXHHHXX XX CXXXXHHHHHHH
+ CXCC CXCCCCCCXXCCXXXCC CC CCCCXXXXXXX
* ====- ==------- -1XA'.'-+'''''-''-=..==-----'''''''.) =ZMA= =- +A+.-------''
+ +'+CC+++++.CC.C''CC.....CCCCCCC' C'.......CC
+ C+C CCCCC'BB' ++ '''''BBBBBBB+ +'''''''BB
+ C XHHX CC XXXXXHHHHHHHC CXXXXXXXHH
+ CXXC CCCCCXXXXXXX CCCCCCCXX
* -=---- ------=== =AA1M..++'''+.''----.='------'''''+ - -----------
+ ''CC+++C'CC....'C+......CCCCCC C.........
+ ++ CCC +BB''''+ C''''''BBBBB '''''''''
+ CC CHHXXXXC XXXXXXHHHHH XXXXXXXXX
+ XXCCCC CCCCCCXXXXX CCCCCCCCC
* =====---- -- - +A-A)X'.'+''++-''-'----------''''--1 1M=---'---
+ C +'+C++CC.CC.C..........CCCC.. C...C...
+ C+C CC 'BB'B''''''''''BBBB'' '''B'''
+ C XHHXHXXXXXXXXXXHHHHXX XXXHXXX
+ CXXCXCCCCCCCCCCXXXXCC CCCXCCC
* =++==- -- --- -M..+AA++'+++'.-'--'''----'---''''-+ Z+M-'.-''''
+ ''C CC+CCC+'.C..CCC....C...CCCC.C C C+'.CCCC
+ ++ C C+'B''BBB''''B'''BBBB' C+'BBBB
+ CC CXHXXHHHXXXXHXXXHHHHX CXHHHH
+ CXCCXXXCCCCXCCCXXXXC CXXXX
* =+)+==--- -- - -A=+'+===+''+'-''-'-'''--------'''-= -=-=Z'-.---'''-
+ CC+CCCCC++C+.CC.+.CCC........CCC.C +.'...CCC.
+ C CC C'BB'C'BBB''''''''BBB' C'+'''BBB'
+ XHHX XHHHXXXXXXXXHHHX XCXXXHHHX
+ CXXC CXXXCCCCCCCCXXXC C CCCXXXC
* -==++=-==-==- --- -)+A''++==='..-''---''''------''''-+ -+ A----'-'''
+ ++CCCCC+''.CC...CCCC......CCCC. ....C.CCC
+ CC C++'BB'''BBBB''''''BBBB' ''''B'BBB
+ CCXHHXXXHHHHXXXXXXHHHHX XXXXHXHHH
+ CXXCCCXXXXCCCCCCXXXXC CCCCXCXXX
* --- -- - Z'''+===='.-''-----'''--'''''''+ -+= - -M-M='----
+ +++CCCCC+'.CC.....CCC..CCCCCCCC C C+....
+ CCC C+'BB'''''BBB''BBBBBBB C''''
+ CXHHXXXXXHHHXXHHHHHHH XXXX
+ CXXCCCCCXXXCCXXXXXXX CCCC
* - )+'+===+=-=-''''----''-'''''''-M -++ -=--= Z+'''.-'-
+ C+CCCCCCCC.CCCC....CC.CCCCCCC. C+++'.C.
+ C 'BBBB''''BB'BBBBBBB' CCC+'B'
+ XHHHHXXXXHHXHHHHHHHX CXHX
+ CXXXXCCCCXXCXXXXXXXC CXC
* -- - --= -'+==+'=Z =-''''--'-'''''''''-1 - - ---+Z -=-=- )-'''-.--
+ C+CCCC+C .CCCC..C.CCCCCCCCC. .CCC.'..
+ C C 'BBBB''B'BBBBBBBBB' 'BBB'+''
+ XHHHHXXHXHHHHHHHHHX XHHHXCXX
+ CXXXXCCXCXXXXXXXXXC CXXXC CC
* =--- - M''++..+Z 1--.-''''''''''''''-+ -- ---)+-- - -'''---.
+ ++CC''C ..'.CCCCCCCCCCCCCC. .CCC...'
+ CC ++ ''+'BBBBBBBBBBBBBB' 'BBB'''+
+ CC XXCXHHHHHHHHHHHHHHX XHHHXXXC
+ CC CXXXXXXXXXXXXXXC CXXXCCC
* =- -- - X''....'+-+-+-=---'''''''''''+ =- -+-- ='''----
+ ++''''+CCC.CCC...CCCCCCCCCCCC CCCC....
+ CC++++C ' '''BBBBBBBBBBB BBB''''
+ CCCC X XXXHHHHHHHHHHH HHHXXXX
+ C CCCXXXXXXXXXXX XXXCCCC
* ==----= - A..--.''..--+MM----'''''''''-M - =+= -- +-''----
+ ''..'++''..C ....CCCCCCCCC. .CC....
+ ++''+CC++'' ''''BBBBBBBBB' 'BB''''
+ CCXXC CCXX XXXXHHHHHHHHHX XHHXXXX
+ CC CC CCCCXXXXXXXXXC CXXCCCC
* -++===----=- A+'--.'''---=M'-'-.-''''''''-) ==+- -- 1-------
+ C+..'+++...C +.C.'.CCCCCCCC. .......
+ C''+CCC''' C'B'+'BBBBBBBB' '''''''
+ XXC XXX XHXCXHHHHHHHHX XXXXXXX
+ CC CCC CXC CXXXXXXXXC CCCCCCC
* -++====---=---- -A+---.+==---..'''-.-'''''''.- - ----- ---- - -------
+ C...'CCC...''CCC.'.CCCCCCC' C......
+ '''+ '''++BBB'+'BBBBBBB+ ''''''
+ XXXC XXXCCHHHXCXHHHHHHHC XXXXXX
+ CCC CCC XXXC CXXXXXXX CCCCCC
* -++==+==+====---- -+- 1=---.===+------'.-.'''''''= - -- - - -- +------
+ C...'CCCC......C'C'CCCCCCCC ......
+ '''+ ''''''B+ +BBBBBBB ''''''
+ XXXC XXXXXXHC CHHHHHHH XXXXXX
+ CCC CCCCCCX XXXXXXX CCCCCC
* ++===+======--=---=))--)+-'.-.-..------++-''''''-Z -=- -- --- - -- -1'--'--
+ C.C'C'.''......CC.CCCCCC. +..+..
+ 'B+ +'++'''''' 'BBBBBB' C''C''
+ XHC CXCCXXXXXX XHHHHHHX XX XX
+ CX C CCCCCC CXXXXXXC CC CC
* -==++==+=++==---=))++ A--=X--'----'---''''''''= -- -- ------- - -= - =+1ZZ--'+.
+ ..C ..+....C...CCCCCCCCC C.+C'
+ '' ''C''''B'''BBBBBBBB 'C +
+ XX XX XXXXHXXXHHHHHHHH X C
+ CC CC CCCCXCCCXXXXXXXX C
* +)))+++++))+====++- - -M'-=-..------'-'''''''-X -- =--- -- -- -- ==.=+
+ +CC.''......C.CCCCCCC. C'CC
+ C '++''''''B'BBBBBBB' +
+ XCCXXXXXXHXHHHHHHHX C
+ C CCCCCCXCXXXXXXXC
* 111)))++)))+==-===--=- =ZA.---------'''''''''+- ---- -- -==- --- -- -- - -M..
+ '.........CCCCCCCCCC ''
+ +'''''''''BBBBBBBBB ++
+ CXXXXXXXXXHHHHHHHHH CC
+ CCCCCCCCCXXXXXXXXX
* -11111)))1)+========---- Z+-''-----'---''''''-- ------ -==-=+==--=====-- - - - -- -+-
+ C.CC.....C...CCCCCC.C C.
+ 'BB'''''B'''BBBBBB' '
+ XHHXXXXXHXXXHHHHHHX X
+ CXXCCCCCXCCCXXXXXXC C
* 1Z)1))))11)++==++===-=- +=-''------''-'''''-.1 -=+===----=++++)+=--==----=--=- -- =-
+ C.CC......CC.CCCCC.' C
+ 'BB''''''BB'BBBBB'+
+ XHHXXXXXXHHXHHHHHXC
+ CXXCCCCCCXXCXXXXXC
* 11Z1111ZZZ11))+)+++++=- - ).'''-----'''''''--)-==+)++==+===+=+))+=====--==---=====- - -- )
+ 'CCC.....CCCCCCC.C
+ +BBB'''''BBBBBBB'
+ CHHHXXXXXHHHHHHHX
+ XXXCCCCCXXXXXXXC
* )11)11)11Z1111)))))++===-- Z.'------'''''''-X -=++)+))++++++=)++===+==--=======-=+==-- -+)1
+ 'C......CCCCCCC.
+ +B''''''BBBBBBB'
+ CHXXXXXXHHHHHHHX
+ XCCCCCCXXXXXXXC
* 1)))++)+))))11111))++++=+))-=M-''''''-''''-=X+=+++)+))++))))++++)+++)+===+===+++======---=== - - - -====-
+ .CCCCCC.CCCC.C
+ 'BBBBBB'BBBB'
+ XHHHHHHXHHHHX
+ CXXXXXXCXXXXC
* 1111))))))))+)))1+++++)++1XZ=-M---'''''''-M--=+++)+)))++))))++)))++)+)++===++++++===-==--=+=--
+ ...CCCCCCC.
+ '''BBBBBBB'
+ XXXHHHHHHHX
+ CCCXXXXXXXC
* 111))ZXZZZ)))++)))))++)))XZ+==--+Z+-------)-+1)))11111))+))+)))1))11+))+++++++))+++==++=====--===
+ C.C C......C
+ ' ''''''
+ X XXXXXX
+ C CCCCCC
* 1Z111XXXXZ1)111111))++)111)++)M--=)AAM'-=)+))1111111Z1111))))))11))1)+)+++)+=)))+++++++++=======+==-
+ .C +.C
+ ' C'
+ X X
+ C C
* )11ZZZZZZZZ1Z1111ZZ1))11)++)+)-.A++)+1+'Z=111Z1ZZZZ1ZZ1ZXZ))))111)))1))))))++))+=+++)+++++++++=++===- - -+
+ C' C+
+ + C
+ C
* +1))11ZZXXXZZ1Z)111)1))))))1)1-+1+))Z-'M)1ZZZ1111Z1ZZZZZX11111Z111+)1))))))))))+=))+++)+=)+++)++)+===-=---=- Z=
+ CC C+ C
+ C
* -++==+==+))+)1111Z11))))ZZZZZZZMX1Z1X-'=ZZXXZZXZXZ1ZZXZZZZ11ZZZ1Z111)))1))))))+++)))++))))+++)+)+++++==+=====--- -)A='=
+ C+C C+C
+ C C
* +===- ---- -++))))))))11ZZZXXZ111)ZA=A1ZXXXZXZXZZZZZXXZ11ZZZZ1Z1)))))))))))))++)+++++)))++))++)++++++++=+=======- =X='.'=M
+ C C+'+C
+ C+C
+ C
* )+)+===---- =++)))1111ZZZZ1)11ZXZZZZXXXZZZXXZZXXXZZZ1ZZZ11))+)))))))))1)))))++)))))))))+))+))++)))+===+++=====+1ZXMM=+=MZ=
+ CCC
* =)+=-++=--- - -===))1)))))+))Z1Z111ZXXZZZZZXZZZZZZZ1ZZ11))))+)1)111111))+++))+))+)+)++)))))+=+++)====-=+===)X-'..+M1))-
+ C+''C
+ C++
+ CC
* ---===-++=- -- +)))))))))))11ZXZZZZZZZZXZZZZZZZZ11ZZ111))111)11111)))))))))))))++))))))++)++==+=+++)1X-''''=AZ+--
+ C++++C
+ CCCC
* -=))+=- -+)))11111)11ZXZZZ1111ZXZXXXXZZ111XZZZZ11ZZ1111))))))1)))))111))+)))+)++++)+++++1ZAM-MAMMMX1===+++=-
+ C
* -= -====- =)))11Z1)11ZZXXXZ111ZZZZZXXXZ11ZZZZZXZZZ1111))1)))))))))))))+++)))+)+++++++)1A=+++=MZ+))++===+))))=
+ CCCCC
* =- =+=- -- -=+))11111ZZZZZ1ZZZZZZZZXXXZ11ZXZ1111))))111ZZ1)))11))))11+))))))++=++++)ZAM+'+-X1)+=++++=++))))))
+ C+CC
+ C
* -- --- -=1Z11)))1ZZZ11ZXXXZXXXXXXZZ)1Z11)111)))111Z111)))))))))))+))++++==+)ZA-=MXZXX1+===+++++=+))))1))
+ CC
* - -))1ZZ11ZZZ111ZXAXXXAXXXZZZ1)11)11111)))))111)))))))))1)++++++==)1A-=+=-MX+++=++++)+)))++))))))+
+ CCCCC
* -- +ZZZZZXXZ11ZZXXXAAXXXZZZ111))111Z11111))11))))+)+))1)+=-++))ZAM-M--MZ1+==+++)++))))+)))))))))
+ C CC
* )11ZZ111))1))1ZXXZZZZ111)))))11111)11111)++++)+))))++=+1M-==M111Z)-=+=++++++))))++++)))+++1
+ CCC
* -)1))))1111))+))11111Z111))1111Z111111)++))1)1))11ZA-+'++-A1+=++++)))+++=+))))))))+))))))
+ CC+CCC
+ C
* - -++)))ZZZZ1)))+)111ZZ111)))111Z1111)))++)))))))ZAMMMM-MAZ)+==++++)))))+++)))))11)+))))++
+ C
* -- -==--- -=+))111)Z1111Z11111ZZZ111111ZZ1111))))))ZX-++=A1)11+==++)+++)1)+))))+)1Z11ZZ1)))+)+)
+ CCCC
* --- -== -+)1+)11ZZZ111))Z1ZZZZ11)))111Z11)+))Z-+'''-MX)-+))+++++=+))))))))))1Z11111)++++)+)
+ CC+++C
+ CCC
* -++))11ZZ111)1ZZZZZZZ1)111ZZZ1))1ZXA==--MXZ)))))11))+++)))))))))))1Z11111))+)++++
+ CCCC
* ==- -+)111111)11ZZZZ1ZZ111))111ZZA-=-MZ)1Z11)+)11))1))111))))))))1)111))1Z1))))))1)
+ CCC
* +++====-- +))11))11Z111)1111))))ZA--=+=MAZ)1Z))++)11))))1111)++)+)))1)1Z111ZZZZZ))1ZZZ
+ CCCCC
* ++++))+++- -+=+)))))111111)++1A-=--MAZ1))11)+=+)1))+)ZZZZ11++)++))))1))1111XXZ1ZZZZZ
+ CCCC
* =++++++))+++=- --- -+1))1111)1ZZXAM-MX11Z1)+))1111))))1Z)))ZZ11ZX11Z11)111Z1)))+11ZXZ11ZXX
+ C
* =++++=+))++)+===- -=- =+)1Z11)ZM-+++=MX)++)))1))111ZZZZ11)))11ZZXXXXXXZZ1ZXXXZZ1)111ZXZZZXX
+ CCCCC
* ++++++++++=+++++=- ----=- -+)1ZM=+=-MAZ1))11Z1ZZZZZZZZZZ11)1))1XXXZXXAXXZ1ZXAAXZ1ZZZZZZZZZZX
+ CCCC
* +==++)))+=-=+)+=====- -==+=--- =Z--AXXXX1++)1111Z1ZXXXXX11Z11)11)1XXXXXXXAAAXZXXXXXZ1111ZZZZAXXX
+ CC
* --+))))))+=-=)+===+=------ -=--- -=Z-+'=X)=-==++++))111ZXXZZXXZZ1111111XAAMMAAMMAAXXAXXZXAXXXAAAAAAXA
+ CC+C
+ C
* --=+++))+++-+)+======-====== +A=''=MZ- --==+1111ZZX111Z11111ZXXAAAMMMAXXZZZZXAAAAMAAAAAAA
+ C++C
+ CC
* -=-======+===+))++=++====--==- +1A-=-M1= --==++ZZZXXZ1111111ZXAMMAXAXZZXXMAAMMAMMAAAXX
+ CCC
* --=======+= =))++=++=-=-- -+Z-+=AZ))- -)1ZXZ11ZZ1111ZZXXZ11ZZXAAMAAMMAAAXXXZ1
+ CCC
* -==-=+==+= =+==-=+===----=== - )A=''+-Z= =++)1111111ZZZZZZ11ZZXXXXXXXAAAXZ1))
+ C++CC
+ CC
* -----=- ---====-=====-=- -===- - =Z-+++-A)- ---- =+++)+)))1ZXXZZZZZZ11111ZZZ1))))
+ CCCCC
* -------- ---==--=++-=++=---==- - +ZM-MMMX+ ----- - -+1ZZZZZZ11111)1))))))1)
+ C
* =+=- - ----==--=+++--===- ---=- =- -)M+'=X1+- --- ))==+))++++)1ZX1)))1ZXA
+ C+C
+ C
* +)+=-- --====----===----=- - -- =ZM+..+-X= - - -+=-==- --=11ZXXXXXAXA
+ C''CC
+ ++
+ CC
* =++=+= ---==-------==--==- - -)1A+'.+-A1= ---- -+)))==--=++=+1ZZZXZZ
+ C+'CC
+ C+
+ C
* -- -- -- --==--- -- - -Z-===-MX)=- - ----- - -- --+++))))+)++++)111ZZ1
+ CCCCC
* -= - -=- --- -+X='.'=M)= =+= - ---------=--- - --- -)1111)+++1ZZ111
+ C+'+C
+ C+C
+ C
1I )))))))))++++++++)++))++++=+++)))))+++++)++++++++++++++++++++++))))))))))))))))+))))++++++++++++)++))+++++======+)111)++)))))))
*)))))))))++++++++)++))++++=+++)))))+++++)++++++++++++++++++++++))))))))))))))))+))))++++++++++++)++))+++++======+)111)++)))))))++==+
*1111111Z11))))1)11111Z1)+==+1ZXXAAX1+++ZAX1ZZ1)++)11)+)1XAXXXAA---MMMM--------AXXAAX11)++++++++)111ZZ1)++=-=----+XM=+A))XAAXXZZ1+==)
+ CCC CCCCCCCC CC
*ZZZXZZZZZXZZ1ZZZZZZZXXXZZZZ1ZA----MX))Z-====-MAZ1ZXXZZXM+'''-----.'++'+++=+++++===-AXXZ11111)1111ZZXXXZZZ1))))++)1XAMXZZXAAXX1111))X
+ CCCC CCCCCC C+++.....'+CC+CCCCCCCCCCCCC
+ CCC'''''+C C
+ XXXXXC
+ CCCCC
*ZZZ1ZZZXXXX11ZZZZZZZZXXXXAXZXM-====-AXA-==----MAZZ1)XMMM+''.------.'''++======++++=MAAX1)))))+++++)1))ZZXX1++++++)ZXXZZZXXZ11))++=+Z
+ CCCCCC CCCCCCC C++'......'+++CCCCCCCCCCCCC
+ CC+''''''+CCC
+ CXXXXXXC
+ CCCCCC
*AXZ11ZZXXXXZ11XXZXZ111XZXAMMXXM=+'...'-AAAAMMAAXZ111XMAX-''.-------.--''++++++++''+=-MAX1))))+++++))))1XXX1)))+++11XXXZZXAZ1)++)))))
+ CC+'''+C C++'.......'..++CCCCCCCC++CCC
+ C+++C CC+'''''''+''CC CC
+ CCC CXXXXXXXCXX
+ CCCCCCC CC
*AAAZ11ZZXXXAXZXAXXXZ1)1ZXA--MMM-=+'--.+M1)1XAAXZZ1ZZAAXXM='.----------.''''=+'''++++=-MAX1)1)+++=)1)1ZZAAX1)11)+)1ZZZXZZZZ11)++)11Z1
+ CC CCC+..'C C+'..........'++++CC+++CCCCCC
+ C''+ C+''''''''''+CCCC CCC
+ XXC CXXXXXXXXXXC
+ CC CCCCCCCCCC
*XM-AXZZZZZXXZ1AMAAXZ111ZAM++====+++'''+-X+=)ZXZ111ZXMMAAM-+'.-------....''+=+''''++++=-AX1)1)++++)1)11XM-AXAX1))1)11111ZZ11)++++)ZXX
+ C CCCCCCCCC+++CC CC+'.......''''++CCC++++CCCCCC C
+ CCC C+'''''''++++CC CCCC
+ CXXXXXXXCCCC
+ CCCCCCC
*AM--AZZ1)+)1+=1AMMAZXAM-=+'.'+''.'+=MAMMA1==)1Z111ZXMMMXXZM=..-------.....'+=+++'..''+-AXZ11++====++++)XXA-==MZ11))11++11)+)++++))ZX
+ CC CCC+'+C++'+CC C''.......'''''+CCCCC+''++CC CCC
+ C+C CC+C ++'''''''+++++C C++CC
+ C C CCXXXXXXXCCCCC CC
+ CCCCCCC
*XXXXXZ1+++))+=1XAMMAA-=''''....--.=AXZXAAZ+=1XXZZXAM---A11X-+'..------...-..+==+++'++-AXXZ1)+=+====++)1ZZXM=++MX11111++))))++===+)1Z
+ CC++++''''..'C CCC CC+''......'''.''CCCCCC+CCC CCC
+ CCCC++++''+ C++''''''+++'++ C
+ CCCCXXC CCXXXXXXCCCXCC
+ CC CCCCCC C
*MXZ1ZZ1))ZXZ)1ZXZZAMAAM=+''.------+XZZXAAX1++ZXX1ZA=+==A1))1-+''.------.....'+======MXZX1Z1)+======+1XXXXXAM=+=MXZZZX1)))11)+++==+)1
+ CC++'......C CCCC CC++'......'''''+CCCCCCC CCC
+ CC+'''''' CC+''''''+++++C
+ CXXXXXX CXXXXXXCCCCC
+ CCCCCC CCCCCC
*-AZ1ZZ1)ZAXZXAAAZZA--AXX-+''.-----'MZ11ZXZX1=+1ZZXA--MMX1)))-''''------..''...'=-MMAZ))1111)+======+1XAAAXXZA==-AXAAAZ1)+))111)++)))
+C CC CC++'.....+ CC C++++......''++'''+CC CCC
+ CC+'''''C CCCC''''''++CC+++C
+ CXXXXX XXXXXXCC CCC
+ CCCCC CCCCCC
*AZ1ZXAXXXAXZXAXZZAMM=-AZXM=+'.-----'-X11ZZXX)=+ZAAXAAAZ))1)Z-''++.-----.'+'''..+-AZ1)+===+ZZ)+===+=+)AAAXAX11M=-MMMMZ1)+++++)1)1)+==
+ CC CC+'.....+C C++CC'.....'+C+++''CC CC
+ C+'''''C CC +'''''+C CCC++
+ CXXXXX CXXXXXC CC
+ CCCCC CCCCC
*)ZAAAXXAXZZXXZ1+)ZXA--MMXZXM=+'.---'=-AXZZXAX+=+1XXXAMX)++)1X=+'+'.-----'+''''++=MZ)+++===+1)+==+)+=)ZXAXXAX1XM=-=+=MX1111)+))1ZX1)+
+ CC CC+'...+CC CC+C+'.....+C++++CCC CCCCC
+ C+'''C C C+'''''C CCCC
+ CXXX CXXXXX
+ CCC CCCCC
*)ZMMAZZXXXAZ1)+=++)ZAM--AXZZA-='--.'---MXZZAAZ+==)ZXAMAZ++)++X=''.'......'++'+=-MMX1====---=+===+11+)11XAAMAZZM==='.'+-==MXXXXXMMAAX
+ CC CC+..'+CCC C++'+''''''+CC+CCC CCC+'+CCCC
+ C''+C CC+C++++++C C C+C
+ XXC C CCCCCC C
+ CC
*)1ZXXXXAAMMXZ1)+=-=)X-++==-AXXA-+..'=M--MXZXAAZ+--+)XMAZ))Z1)X+''..'...-..+=====-MXZ)))+===++=-=)ZAAAXXA=+''-M-=+++.-.==+-MMMXZZXXXZ
+ CCCCCC CC''+C CC C++''+'''.''CCCCCCC CC++C CCCCC'.'CCCC
+ ++C CC++C+++'++ CC +'+
+ CC CC CCCXCC CXC
+ C C
*)1Z1ZXAM-==--MX1)=-)X-+''++=MXZXXM-=-MMMMMXXAMAZ= -1Z)+)ZZZ1Z-=+..'''....'+++.-..'+=+'+==---MZAM---MMXA-'''-MMMM=-+''+++'''''+=--+'
+ CCCCC CC++CCC CCC CCC''+++''''+CCC'.''+CCC+CCCCCC CCC C+++C CCC++CCC+++++CCCCC+
+ CC ++CCC++++C +'++C C CCC CC CCCCC C
+ CC CCCC CXCC
+ C
*)XMMMAAM=--MMAXZ1+-=+ZAAAAXXMMX1+++ZAAMMMMMMXAMMZ+ -+)1ZAX1))ZM=''''...--..----------------''---+A11AM='........-.----------------'
+ CCC C++++'''..''................CC...C C+''''''''.'................C
+ CCCC+++''++''''''''''''''''BB''' C++++++++'+''''''''''''''''B
+ CCCXXCCXXXXXXXXXXXXXXXXHHXXX CCCCCCCCXCXXXXXXXXXXXXXXXXH
+ CC CCCCCCCCCCCCCCCCXXCCC C CCCCCCCCCCCCCCCCX
*+)XMAX11XXX1)++==---+ZX1+=-=)Z1+ -+1ZXMMMMMMXXAAZ= -1XXXXZ11XM+'.'...-.----..-------------''''--.+'--.'''.------..------------.-''
+ C+'+'''.'....''.............CCCC..'C+..'+++'......''............'.CC
+ C+C+++'+''''++'''''''''''''BBBB''+ C''+CCC+''''''++''''''''''''+'BB
+ C CCCXCXXXXCCXXXXXXXXXXXXXHHHHXXC XXC CXXXXXXCCXXXXXXXXXXXXCXHH
+ C CCCC CCCCCCCCCCCCCXXXXCC CC CCCCCC CCCCCCCCCCCC CXX
*==+ZAX+=)1Z1===-- -=+)Z1+- -+))= -+))))ZAM--MAAXAAZ= +)1)+)XM+'+...---..---------''---..-.--'''--'-----''+''.----..------'-----.-''
+ CC C+C'''...''.........CC...''.'..CCC..C.....++C++'....''......C.....'.CC
+ C +++'''++'''''''''BB'''++'+''BBB''B'''''CC CC+''''++''''''B'''''+'BB
+ CCCXXXCCXXXXXXXXXHHXXXCCXCXXHHHXXHXXXXX CXXXXCCXXXXXXHXXXXXCXHH
+ CCC CCCCCCCCCXXCCC C CCXXXCCXCCCCC CCCC CCCCCCXCCCCC CXX
*---+XA)=+1ZX)=---- ===+)1)-=1ZZ+- -)1)=+1XAMMMAXXAAX+ =--+-.-.=..''..----..-------''---...--'''''----'----.'''.-----..---------'''
+ C'.'C''++''....''.......CC...'''..CCCCC....C....'+++'.....''.........CCC
+ +'+ ++CC++''''++'''''''BB'''+++''BBBBB''''B''''+CCC+'''''++'''''''''BBB
+ CXC CC CCXXXXCCXXXXXXXHHXXXCCCXXHHHHHXXXXHXXXXC CXXXXXCCXXXXXXXXXHHH
+ C CCCC CCCCCCCXXCCC CCXXXXXCCCCXCCCC CCCCC CCCCCCCCCXXX
*- -=AMZ)1)11+=-=++--====))+1AAZ+- -=))--+1ZXAMMAXXAAZ+ =Z-.-.='-'+'.-------.------'''---...--''''''----'---------------.--'''--'''
+ C'.'C+.+C+'.......'......CCC...'''..CCCCCC....C...............'..CCC..CCC
+ +'+ C'C C+'''''''+''''''BBB'''+++''BBBBBB''''B'''''''''''''''+''BBB''BBB
+ CXC X CXXXXXXXCXXXXXXHHHXXXCCCXXHHHHHHXXXXHXXXXXXXXXXXXXXXCXXHHHXXHHH
+ C C CCCCCCC CCCCCCXXXCCC CCXXXXXXCCCCXCCCCCCCCCCCCCCC CCXXXCCXXX
*- +AMXXX1)))=-=+1+-=--=)1XA-A1=---=)+- =)1ZXMAXAXAAA+=+X+''.'++'''..---..---.-..---------....-'''''----------------'''---'''''-'''
+ C C++'+CC+++''...''...'.''.........''''.CCCCC................CCC...CCCCC.CCC
+ CC+C CCC++'''++'''+'++'''''''''++++'BBBBB''''''''''''''''BBB'''BBBBB'BBB
+ C CCXXXCCXXXCXCCXXXXXXXXXCCCCXHHHHHXXXXXXXXXXXXXXXXHHHXXXHHHHHXHHH
+ CCC CCC C CCCCCCCCC CXXXXXCCCCCCCCCCCCCCCCXXXCCCXXXXXCXXX
* -)AAA-MZ+=+=--=11+-=)AMA-MMX)-=+)1Z) +)11AMMM-=+++++'+''+'+++'.-...--'''.---------------...'''''----------------'''''-'''''''''
+ C C CCCCCCC+C++C+CCC+'.'''..+++'...............'''CCCCC................CCCCC.CCCCCCCCC
+ C CC C C+'+++''CCC+'''''''''''''''+++BBBBB''''''''''''''''BBBBB'BBBBBBBBB
+ CXCCCXX CXXXXXXXXXXXXXXXCCCHHHHHXXXXXXXXXXXXXXXXHHHHHXHHHHHHHHH
+ C CC CCCCCCCCCCCCCCC XXXXXCCCCCCCCCCCCCCCCXXXXXCXXXXXXXXX
*- =ZX1A+=X=-==+--)1)))A==MXZXXZ=-1AA1- =- +ZA=+++'''''..''+==++=+'.-..'.-.'+'--''------.----.''--''''-----.-..-..---'------''''''''
+ CC CC CCCC+++++''++CCCCCCC+'.''+'.'+C+..CC......'....'++..CCCC.....'.''.''...C......CCCCCCCC
+ CCCCC++CC C+'++C+'+C C''BB''''''+''''+CC''BBBB'''''+'++'++'''B''''''BBBBBBBB
+ CC CXCC CXC XXHHXXXXXXCXXXXC XXHHHHXXXXXCXCCXCCXXXHXXXXXXHHHHHHHH
+ C C CCXXCCCCCC CCCC CCXXXXCCCCC C C CCCXCCCCCCXXXXXXXX
*==)AA1Z-=M1+=+1Z)+)1ZXMMMMXZZZ)1XMMX= -ZXZA=''''''++''''''.''++='......'...--------''''------.''-'''''-----------..-----------'''''
+ CC C++++++CC++++++'++CCC+''''''+'''........CCCC......'++.CCCCC...........''...........CCCCC
+ CCCCCC CCCCCC+CC C++++++C+++''''''''BBBB''''''+CC'BBBBB'''''''''''++'''''''''''BBBBB
+ C CCCCCC CCCXXXXXXXXHHHHXXXXXXC XHHHHHXXXXXXXXXXXCCXXXXXXXXXXXHHHHH
+ CCCCCCCCXXXXCCCCCC CXXXXXCCCCCCCCCCC CCCCCCCCCCCXXXXX
*+1X--AAM-MAAXXM=MMMM=++''''+=-M=''-A)=1A='''''+++++++''++''..'+++'.'''..''--''-----'''''''------..-'''''----------....----------''''
+ CC C C CCC++++CCC C++C C+++++CCCCCCC++CC++''+CCC+'+++''++..CC.....CCCCCCC......''.CCCCC..........''''..........CCCC
+ CCCC CC CCCCC CC CC++C C+CCC++CC''BB'''''BBBBBBB''''''++'BBBBB''''''''''++++''''''''''BBBB
+ CC C CC XXHHXXXXXHHHHHHHXXXXXXCCXHHHHHXXXXXXXXXXCCCCXXXXXXXXXXHHHH
+ CCXXCCCCCXXXXXXXCCCCCC CXXXXXCCCCCCCCCC CCCCCCCCCCXXXX
*--+'..''...-...------...--.'+=-==MXA-M++''+''''++''''''++'''.'==+'..'....--''----'''''''''-------.-'''''''---------...------------''
+CCC+''++'''.'''......'''..'+CCCCC C CC++C++++CC++++++CC+++'+CCC+''+''''..CC....CCCCCCCCC.......'.CCCCCCC.........'''............CC
+ C++CC+++'+++''''''+++''+C CC CCCC CCCCCC CCC+C C++C++++''BB''''BBBBBBBBB'''''''+'BBBBBBB'''''''''+++''''''''''''BB
+ CC CCCXCCCXXXXXXCCCXXC C CC CCCCXXHHXXXXHHHHHHHHHXXXXXXXCXHHHHHHHXXXXXXXXXCCCXXXXXXXXXXXXHH
+ C CCCCCC CC CCXXCCCCXXXXXXXXXCCCCCCC CXXXXXXXCCCCCCCCC CCCCCCCCCCCCXX
*--------------------+-M==-XZ)=+1Z+ Z-=+==++''''++'''..+=++''+==+'..''++'--------'''''''''---'.....-----'''---.-------.-..--...-..--
+....................CC CCC CCCCCCC++++CC+++''CCCC++CCCC+''++CC+........CCCCCCCCC...+'''''.....CCC...'.......'.''..'''.''..
+'''''''''''''''''''' CCCC CCC++ CC C++CC C''''''''BBBBBBBBB'''C+++++'''''BBB'''+'''''''+'++''+++'++''
+XXXXXXXXXXXXXXXXXXXX CC CC XXXXXXXXHHHHHHHHHXXX CCCCCXXXXXHHHXXXCXXXXXXXCXCCXXCCCXCCXX
+CCCCCCCCCCCCCCCCCCCC CCCCCCCCXXXXXXXXXCCC CCCCCXXXCCC CCCCCCC C CC C CC
*---------..--------.+MXZZ1)+=-1XAZ+-)-+==+''''''++''..'+++'''++++'''+'''---'----''''''''''''----.'..-----'''----------.-----...--..-
+.........''........'C CCCCC++++++CC++''+CCC+++CCCC+++C+++...C....CCCCCCCCCCCC....'+''.....CCC..........'.....'''..''.
+'''''''''++''''''''+ CCCCCC CC++C CCC CCC CCC'''B''''BBBBBBBBBBBB''''+C++'''''BBB''''''''''+'''''+++''++'
+XXXXXXXXXCCXXXXXXXXC CC XXXHXXXXHHHHHHHHHHHHXXXXC CCXXXXXHHHXXXXXXXXXXCXXXXXCCCXXCCX
+CCCCCCCCC CCCCCCCC CCCXCCCCXXXXXXXXXXXXCCCC CCCCCXXXCCCCCCCCCC CCCCC CC C
*---------------------'+=====--+'++-AA=+=++++'''''+++'..'''''+''++++=++.--------'''''''''''''''''-.'.'.----'''--------------------...
+.....................+CCCCCCCCC+CCC CCCCCCC+++++CCC+''+++++C++CCCCCCC'........CCCCCCCCCCCCCCCCC.'+'+'....CCC....................'''
+'''''''''''''''''''''C C CCCCC C++CCCCC CC +''''''''BBBBBBBBBBBBBBBBB'+C+C+''''BBB''''''''''''''''''''+++
+XXXXXXXXXXXXXXXXXXXXX CC CXXXXXXXXHHHHHHHHHHHHHHHHHXC C CXXXXHHHXXXXXXXXXXXXXXXXXXXXCCC
+CCCCCCCCCCCCCCCCCCCCC CCCCCCCCXXXXXXXXXXXXXXXXXC CCCCXXXCCCCCCCCCCCCCCCCCCCC
*.-----------------------------------+==++=++'''.'++++''.''''+++==++=+.---------'''''''''''''''''''-.''''.-''''------------------..'.
+'...................................CCCCCCCC+++'+CCCC++'++++CCCCCCCCC'.........CCCCCCCCCCCCCCCCCCC.'++++'.CCCC..................''+'
++''''''''''''''''''''''''''''''''''' CCC+C CC+CCCC +'''''''''BBBBBBBBBBBBBBBBBBB'+CCCC+'BBBB''''''''''''''''''++C+
+CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX C C CXXXXXXXXXHHHHHHHHHHHHHHHHHHHXC CXHHHHXXXXXXXXXXXXXXXXXXCC C
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCXXXXXXXXXXXXXXXXXXXC CXXXXCCCCCCCCCCCCCCCCCC
*X-..'....----.'+++=++'...---.-------==++====+''..++++==++''+=====+++.----------''''''''''''''''''''''-.'''.-''''----------------.'..
+ C''+''''....'+CCCCCC+'''...'.......CCCCCCCCC++''CCCCCCCC++CCCCCCCCC'..........CCCCCCCCCCCCCCCCCCCCCC.'+++'.CCCC................'+''
+ ++C++++''''+C C+++'''+''''''' CC++ CC +''''''''''BBBBBBBBBBBBBBBBBBBBBB'+CCC+'BBBB''''''''''''''''+C++
+ CC CCCCXXXXC CCCXXXCXXXXXXX CC CXXXXXXXXXXHHHHHHHHHHHHHHHHHHHHHHXC CXHHHHXXXXXXXXXXXXXXXXC CC
+ CCCC CCC CCCCCCC CCCCCCCCCCXXXXXXXXXXXXXXXXXXXXXXC CXXXXCCCCCCCCCCCCCCCC
*)-'+=MMAA+''-AZ1)+=)ZAMMMAAAAAAAMM-+==++++=++++''++=+==+==+++++++++.----------'''''''''''''''''''''''''--''--''''-----------..--...'
+ C+CC C++C CCCCCCCCCCCCC++CCCCCCCCCCCCCCCCCC'..........CCCCCCCCCCCCCCCCCCCCCCCCC..++..CCCC...........''..'''+
+ C CC CC +''''''''''BBBBBBBBBBBBBBBBBBBBBBBBB''CC''BBBB'''''''''''++''+++C
+ CXXXXXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHXX XXHHHHXXXXXXXXXXXCCXXCCC
+ CCCCCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXCC CCXXXXCCCCCCCCCCC CC
*)M+=M1+-=1-=MX1+- -=)1ZZ1+===- -+Z+''+++++++++++====+++++++'.''.+----..'...--''''''''''''''---'''''''''''--.---''----------.-...'''
+ CC CC C++CCCCCCCCCCCCCCCCCCCCCC+'++'CC...''+'''..CCCCCCCCCCCCCC...CCCCCCCCCCC..'...CC..........'.'''+++
+ CC C+CC+ '''++C+++''BBBBBBBBBBBBBB'''BBBBBBBBBBB''+'''BB''''''''''+'+++CCC
+ C C XXXCC CCCXXHHHHHHHHHHHHHHXXXHHHHHHHHHHHXXCXXXHHXXXXXXXXXXCXCCC
+ CCC CCXXXXXXXXXXXXXXCCCXXXXXXXXXXXCC CCCXXCCCCCCCCCC C
*)1XZ1+--=1ZAXZ1)- +ZXXXXZZ+= =+XM+'..++++++=====++++'''...+..'.-'-.-.'+-.-.--''''''''''''''-----'''''''''''--------------------.'''
+ C+''CCCCCCCCCCCCCCC+++'''C''+'.+C'.'+CC'.'..CCCCCCCCCCCCCC.....CCCCCCCCCCC....................'+++
+ C++ CCC+++ ++C+'C +'+C +'+''BBBBBBBBBBBBBB'''''BBBBBBBBBBB''''''''''''''''''''+CCC
+ CC CCC CC CX CXC CXCXXHHHHHHHHHHHHHHXXXXXHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXC
+ C C C CCXXXXXXXXXXXXXXCCCCCXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCC
*)+==+)++)Z1ZZ+=+- 1AAAXZZZ)=+A=+''..'+=++++=+++''.-.-----'M.-'..+=+'+=-M'-.--'''''''''''''''-----''''''''-'''--.---------------...+
+ CC++''+CCCCCCCCCC++'.'.....+ '.+''CCC+CCC +.'..CCCCCCCCCCCCCCC.....CCCCCCC+.CCC..'...............'''C
+ CC++C CC+'+'''''C +'C++ C C'+''BBBBBBBBBBBBBBB'''''BBBBBBBC'BBB''+'''''''''''''''+++
+ CC CXCXXXXX CX CC XCXXHHHHHHHHHHHHHHHXXXXXHHHHHHH XHHHXXCXXXXXXXXXXXXXXXCCC
+ C CCCCC C C CCXXXXXXXXXXXXXXXCCCCCXXXXXXX CXXXCC CCCCCCCCCCCCCCC
*++=+1ZXXZ1=+)+= =XAAZ11AM=+'.++'.'++'-.--.''-----------'=.-'+'-==++==-'-'.-'''''''''''''''''-----'''''''''''''-.--'''---------..'
+ CC+'CC+'+CC+.'..'++...........+C'.+C+CCCCCCCC+.+'.CCCCCCCCCCCCCCCCC.....CCCCCCCCCCCCC.'..CCC.........''+
+ C+ C+C C'+''+CC'''''''''''C +'C C C'C+'BBBBBBBBBBBBBBBBB'''''BBBBBBBBBBBBB'+''BBB'''''''''++C
+ C C XCXXC XXXXXXXXXXX CX X CXHHHHHHHHHHHHHHHHHXXXXXHHHHHHHHHHHHHXCXXHHHXXXXXXXXXCC
+ C CC CCCCCCCCCCC C C CXXXXXXXXXXXXXXXXXCCCCCXXXXXXXXXXXXXC CCXXXCCCCCCCCC
*)))+1ZXXAZ+=+== 1M-AXA+'''''++'.+=-'.-----.-----..---.+=.--'.+=++=+-M.-''-'''''''''''''''''''--..-''''''''''''---------------..'
+ C C+++++CC+'CCC+'.....'.....''...'CC'..+'CCCCCCC '.++.CCCCCCCCCCCCCCCCCCC..''.CCCCCCCCCCCC...............''+
+ CCCCC C+ C+'''''+'''''++'''+ +''C+ +'CC'BBBBBBBBBBBBBBBBBBB''++'BBBBBBBBBBBB'''''''''''''''++C
+ C CXXXXXCXXXXXCCXXXC CXX C CX XHHHHHHHHHHHHHHHHHHHXXCCXHHHHHHHHHHHHXXXXXXXXXXXXXXXCC
+ CCCCC CCCCC CCC CC C CXXXXXXXXXXXXXXXXXXXCC CXXXXXXXXXXXXCCCCCCCCCCCCCCC
*11Z))ZXXXAX1)+ =-'+++++++'+++''=-AX-+''.-.--.....---.'+.'-..'=++++=+.-''-''''''''''''''''''''------''''''''''''--.---'-------..
+ C+CCCCCCC+CCC++CC CC++'.'..'''''...'+C'C.''+CCCCCCC'.++.CCCCCCCCCCCCCCCCCCCC......CCCCCCCCCCCC..'...C.......''
+ C C CC CC+'+''+++++'''+C +B'++C +'CC'BBBBBBBBBBBBBBBBBBBB''''''BBBBBBBBBBBB''+'''B'''''''++
+ CXCXXCCCCCXXXC CHXCC CX XHHHHHHHHHHHHHHHHHHHHXXXXXXHHHHHHHHHHHHXXCXXXHXXXXXXXCC
+ C CC CCC XC C CXXXXXXXXXXXXXXXXXXXXCCCCCCXXXXXXXXXXXXCC CCCXCCCCCCC
*AAAXXXZZZZZZX+ A..'+++++++=+''=-=A1A-=+........-.-..''''--'..''...'''''''.----------'''-''''''---..--''''''''''''-..'.-------..
+ ''+CCCCCCCCC++CCC CCC''''''''.'.''++++..+''++'''+++++++'..........CCC.CCCCCC...''..CCCCCCCCCCCC.''+'.......''
+ ++C CC ++++++++'+'++CCCC''C++CC+++CCCCCCC+''''''''''BBB'BBBBBB'''++''BBBBBBBBBBBB'++C+'''''''++
+ CC CCCCCCCCXCXCC XX CC CCC CXXXXXXXXXXHHHXHHHHHHXXXCCXXHHHHHHHHHHHHXCC CXXXXXXXCC
+ C C CC CCCCCCCCCCXXXCXXXXXXCCC CCXXXXXXXXXXXXC CCCCCCC
*MM-==MZ1))++1)- +1-.'''++++++''''+=+=-XX=++''.....'.'...'.'=--.--'='..''''.......---------------''''---..--''''''''''''-''---''---'
+ CCC C'+++CCCCCC++++CCCCC CCC++'''''+'+'''+'+C..'..+C+''++++'''''''...............CCCC...''..CCCCCCCCCCCC.++...CC...+
+ +CCC CCCC CC+++++C+C+++C+C ''+''C C++CCCC+++++++'''''''''''''''BBBB'''++''BBBBBBBBBBBB'CC'''BB'''C
+ C CCCCC C CCC C XXCXX CC CCCCCCCXXXXXXXXXXXXXXXHHHHXXXCCXXHHHHHHHHHHHHX XXXHHXXX
+ CC CC CCCCCCCCCCCCCCCXXXXCCC CCXXXXXXXXXXXXC CCCXXCCC
*ZXA-==A1+)1)=++)Z-'''+++++++++..'+=='+=-M=+''..'''.'''.'.'..-.-.---.+'.'''....-..--.--------------''''---...---'''''''''''--..-'---.
+ CCC C+++CCCCCCCCC''+CCC+CCC CC++''+++'+++'+'+''C'.'...'C+'+++''''.''..'..............CCCC...'''...CCCCCCCCCCC..''.C...'
+ CCC ++C C CC++CCC+CCC+C+C++ +'+'''+ C+CCC++++'++''+''''''''''''''BBBB'''+++'''BBBBBBBBBBB''++'B'''+
+ CC CC C C C CC CXCXXXC C CCCCXCCXXCXXXXXXXXXXXXXXHHHHXXXCCCXXXHHHHHHHHHHHXXCCXHXXXC
+ C CCC C CC CCCCCCCCCCCCCCXXXXCCC CCCXXXXXXXXXXXCC CXCCC
*))1XM--AZ+)Z1+X+..''++==+'+''''.'=+'-.+=+'.....'...........-.-------.'..--------.-.--.------------''''''--...--''''''-''''''-..-----
+ CC C''++CCCCC+C++++'+CC+.'CCC+'''''+'''''''''''.'.......'+''........'.'..'............CCCCCC..'''..CCCCCC.CCCCCC.''.....
+ ++CC C CCCC+C C'+ C+++++C+++++++++++'+'''''''+C++''''''''+'+''+''''''''''''BBBBBB''+++''BBBBBB'BBBBBB'++'''''
+ CC C XC CCCCC CCCCCCCCCCCXCXXXXXXXC CCXXXXXXXXCXCXXCXXXXXXXXXXXXHHHHHHXXCCCXXHHHHHHXHHHHHHXCCXXXXX
+ C C CCCCCCC CCCCCCCC C CC CCCCCCCCCCCCXXXXXXCC CCXXXXXXCXXXXXXC CCCCC
*X1+)XAMAX)+)M=..++++++'+''=''++''+.--'=+'.-.--..................---'---------'---..--.--------..--'''''----...'---'----..--'''-.----
+ C''CCCCCC+C++C++CC++C'..+CC+'.'..''''''''''''''''''...C.........C...''..'........''..CCCCC....'''+...C....''..CCC.'....
+ ++ C CC CC CC +''C C+'+''++++++++++++++++++'''B'''''''''B'''++''+''''''''++''BBBBB''''+++C'''B''''++''BBB'+''''
+ CC CXX CXCXXCCCCCCCCCCCCCCCCCCXXXHXXXXXXXXXHXXXCCXXCXXXXXXXXCCXXHHHHHXXXXCCC XXXHXXXXCCXXHHHXCXXXX
+ CC C CC CCCXCCCCCCCCCXCCC CC CCCCCCCC CCXXXXXCCCC CCCXCCCC CCXXXC CCCC
*=MZ11ZXZ)))X'--++++++'.''++++++''.---'+++'...-----.............------------------.---------------''''--..''..---..-.----..'.-''-----
+C +..CCCCCC+'++CCCCCC++'...+CCC+'''.....'''''''''''''..................'...............CCCC..''++''...''.'....''+'.CC.....
+ C'' C+CC CC+'''C C+++'''''+++++++++++++''''''''''''''''''+'''''''''''''''BBBB''++CC++'''++'+''''++C+'BB'''''
+ XX C CXXX CCCXXXXXCCCCCCCCCCCCCXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXHHHHXXCC CCXXXCCXCXXXXCC CXHHXXXXX
+ CC CCC CCCCC CCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCXXXXCC CCC C CCCC CXXCCCCC
*==-AXXAX11A'--'=+'++++'++++''''+++....'+++'...--.-.......''.....--------------------------------'''''-XZ)+ZM'----'-MM+---....-'---.-
+CCC +..+CC+CCCC+CCCC++++CCC''''+CCC+'''..'.'''''''++'''''................................CCCCC. +....+C C...''''.C...'.
+ C''C C C CCCC ++++C C+++''+'+++++++CC+++++''''''''''''''''''''''''''''''''BBBBB' C''''C '''++++'B'''+'
+ XX CCCC CCCXXCXCCCCCCC CCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHHHHX XXXX XXXCCCCXHXXXCX
+ CC CC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXXXXC CCCC CCC CXCCC C
*MMAAXXXZX+--.+++'''''++++'....'++='...'++++'..--.-......''''.....-...--------------------------''''-+Z -=-+)1M'---====.-------'--.=-
+ C..'CCC+++++CCCC+''''+CCC+'''+CCCC+''..'.''''''++++'''''.'''..........................CCCC.C +..CCCCC'.......C..'C.
+ ''+ CCCCC C++++C C+++C C++''+'++++++CCCC+++++'+++''''''''''''''''''''''''''BBBB' C'' +'''''''B''+ '
+ XXC CCCC CCC CCXXCXCCCCCC CCCCCXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXHHHHX XX CXXXXXXXHXXC X
+ CC CC C C CCCCCCCCCCCCCCCCCCCCCCCCCCXXXXC CC CCCCCCCXCC C
*ZXZZ1))1--'-+=+++'...'+=+=.-...''++'.-.++==''.---......'''''''.'..---.....-------------....--'''''-X-=1M=++-AZZM.-'-.+.---'-'-'--.M.
+ C.C.CCCCC+'''+CCCC'.'''++CC+'.'CCCC++'...''''''+++++++'+''...'''''.............''''..CCCCC. CCCC '.C.'C'...C.C.C..' '
+ 'B' C+++C +'+++CC C+'+ CC+'''++++++CCCCCCC+C++'''+++++'''''''''''''++++''BBBBB' +'B'+ +'''B'B'B''+ +
+ XHX CCC CXCCC CXC CXXXCCCCCC C CCXXXCCCCCXXXXXXXXXXXXXCCCCXXHHHHHX CXHXC CXXXHXHXHXXC C
+ CXC C C CCC CCC CCCCCCCCCCCCC CCXXXXXC CXC CCCXCXCXCC
*++1Z111M-'-'+''''+..'+++++......''++'.'+=-=+'.--.....'''''+'.''.'...............-------.....-----.Z-X+.-'-----+XZ.'-+'---'''--'-.-=.
+ .C.+C++++C''+CCCCC''''''++CC+'+CCCCC+'..'''''+++++C+'++'+'''''''''''''''.......'''''.....' C'.C.....C 'C.C+...CCC..C.'.C'
+ 'B'C CCCC ++C ++++++CC C+C C+''+++++CCCCC C+CC+C+++++++++++++++'''''''+++++'''''+ +'B''''' +B' C'''BBB''B'+' +
+ XHX CC CCCCCC C CXXCCCCC C C CCCCCCCCCCCCCCCXXXXXXXCCCCCXXXXXC CXHXXXXX CHX XXXHHHXXHXCX C
+ CXC CC CCCCCCC CCCCC CXCCCCC XC CCCXXXCCXC C
*+--)1Z--'-'+'+'-.'+''+++=++''...'''++'+=A1Z=+.---....'+''+++''''''''...''.....----------..------.Z+A.-'''----'--1-.+-----'''----.-'+
+ C.C.+C+C+.'+C++CCCCCC++'''+++CC+CC CC'...''''+C++CCC++++++++'''++'''''..........''......' '.CCC....C.C C'CC....CCC....'.+C
+ 'B'C C C'+C CC CC+++CCC C +'''++++C CC CCCCCCCC+++CC+++++''''''''''++''''''+ +'BBB''''B' + ''''BBB''''+'C
+ XHX XC CCC CXXXCCCC CCC CCCCCXXXXXXXXXXCCXXXXXXC CXHHHXXXXHX C XXXXHHHXXXXCX
+ CXC C CCC CCCCCCCCCC CCCCCC CXXXCCCCXC CCCCXXXCCCC C
*Z)-=Z=-'''+'...-.'+'''''+++++'...'''''=--AZA''----...''''+'+'+'''''..........---------------------=-'''''------M)AZZA-''-''--------.
+ C.CC+C+'''.'+C+++++CCCCC+'''+++++CCC ++....'''++++C+C+C+++++''''''''''....................CC.CCCCC...... .CC.CC........'
+ 'BBC C+++'+C CCCCC C+++CCCCC CC''''+++CCCC C C CCCCC++++++++++'''''''''''''''''''' 'BBBBB'''''' 'BB'BB''''''''+
+ XHH CCCXC CCC XXXXCCC CCCCCCCCCCXXXXXXXXXXXXXXXXXXXX XHHHHHXXXXXX XHHXHHXXXXXXXXC
+ CXX C CCCC CCCCCCCCCCCCCCCCCCCC CXXXXXCCCCCC CXXCXXCCCCCCCC
*XZ)+X-'-.=+---.--.'++''+++==++'''''''=-====1+'.---..''''+=''+++'''..-...'...'..-----------------''''--'''-----'1)-=.-'''''-----.---'
+ .C.'CC...'..'+CC++CCCCCCC+++++++CCCCCC C+'...''++++CC++CCC+++''.'''+'''+''.................CCCC..CCC.....+ CC'.CCCCC.....'...C
+ 'B'+ '''+''+C CC CCCCCCC C+'''++CCCC CC CCC++'+++C+++C++'''''''''''''''''BBBB''BBB'''''C +'BBBBB'''''+'''B
+ XHXC XXXCXXC CXXXCC CCXCCC CCC CCXXXXXXXXXXXXXXXXXHHHHXXHHHXXXXX CXHHHHHXXXXXCXXXH
+ CXC CCC CC CCC C CCCCCCCCCCCCCCCCCXXXXCCXXXCCCCC CXXXXXCCCCC CCCX
*XZ11=''-+='---..-..'++++++==+++''''+=M-=-=M1-+.----.''+'+++++=''.......'.......-----.'...--'M'-'''-MZ=--.-..'+Z)M'------------------
+ CCC.CC+...''.''+CCCCCCCCCCC++++CC CCCC CC'....'++C+CCCCCC++'''''''+'''''''.....'+'''..+ +.CCC. C..'.''+C +..................
+ BB' C'''++'++C CCCC +''''+CC C CC+++++++C+++++++'''''+C+++''C C'BBB' ''+'++C C''''''''''''''''''
+ HHX XXXCCXCC CXXXXC CCCCCCC CCCCCCCXXXXXC CCCXX XHHHX XXCXCC XXXXXXXXXXXXXXXXXX
+ XXC CCC C CCCC CCCCC CC CXXXC CC C CCCCCCCCCCCCCCCCCC
*X11A-'-'++.---.-...''+=+''+=++''''''++++=MA--='.---.'++++'+=+''.---.........-----.=-AXX+.-=+=-.--'=AAX===++MX1Z--''-----...--------'
+ .C.+CC'...'.'''++CCC++CCCC++++++CCCCC CCC+'...'+CCCC+CCC++'...'''''''''.....'CC C'.C C'..+C CCCCC C.CC.....'''........C
+ 'B'C +'''+'+++CC CC CCCCCC C+'''+C C CC+'''+++++++++'''''+ +' +''C 'BB'''''+++''''''''B
+ XHX CXXXCXCCC CXXXC CXXXCCCCCCCCCXXXXXC CX CXX XHHXXXXXCCCXXXXXXXXH
+ CXC CCC C CCC CCC CCCCC C CC CXXCCCCC CCCCCCCCX
*Z1Z+--++++--------.'''++++++==+''''''+++-M++=-+.---.'++++''+'..---....'....------MZ11Z+X==Z+XAM-=+-+''..-.-)+Z+-''--------------''''
+ C..CCCC........'+++CCCCCCCCC++++++CCCC CCCCC'...'+CCCC++C+''...''''+''''...... CC CCCCC++''.'C C.CC..............CCCC
+ '' ''''''''+CCC CCCCCC +'''+C CC C++'''++++C++++'''''' CC++'+ 'BB''''''''''''''BBBB
+ XX XXXXXXXXC CXXXC CCXXXCCCC CCCCXXXXXX CCXC XHHXXXXXXXXXXXXXXHHHH
+ CC CCCCCCCC CCC CCC CCCCCC C CXXCCCCCCCCCCCCCCXXXX
*ZX-'-+=+++--------.''''++=+===+++''+'++++.'+==+.---'++==+++'...---.'.'''.--------.MZ+)+A=Z)X'.'-'''''''--M -X.''---..-------'----'--
+ C+.CCCCC........'++++CCCCCCCCCC++C+CCCC'+CCCC'...+CCCCCCC+'''...'+'+++'........' C +'+.CCCCCCC.. 'CC...''.......C....C..
+ C' ''''''''+CCCC CC C +C +'''C C+++'''+C+CCC+''''''''+ C+C'BBBBBBB'' +BB'''++'''''''B''''B''
+ X XXXXXXXXC C CXXX CCCXXXC C CXXXXXXXXC C XHHHHHHHXX CHHXXXCCXXXXXXXHXXXXHXX
+ C CCCCCCCC CCC CCC CCCCCCCC CXXXXXXXCC XXCCC CCCCCCCXCCCCXCC
*Z-'-'=++'---------.''''.++++=++++++'+++++++===+'--.'++=)=+..------.....------------.'=+-+ M-'''----'--'X +--'''--------------------
+ C+.+CCC+.........'++++'CCCCCCCCCCC+CCCCCCCCCCC+..'+CCC CC''......'''''............'+CC.C .CCC....C..+ C.CCC....................
+ C'C C'''''''''+CCCC+ C C''+C ++''''''+++++''''''''''''+C ' 'BBB''''B''C 'BBB''''''''''''''''''''
+ X XXXXXXXXXC C XXC CCXXXXXXCCCCCXXXXXXXXXXXXC X XHHHXXXXHXX XHHHXXXXXXXXXXXXXXXXXXXX
+ C CCCCCCCCC CC CCCCCC CCCCCCCCCCCC C CXXXCCCCXCC CXXXCCCCCCCCCCCCCCCCCCCC
*XX--.+''.-'------.''''+''++==++++'+++++'++++-==+.-.++++-'.-------.--------..'...--------A +.''-------.M==X.'''----------------------
+ C.'C++'.C......'++++C++CCCCCCCC+CCCCC+CCCCCCCC'.'CCCCC+'.......'........''+'''........ 'CC.......' 'CCC......................
+ '+ CC+'B''''''+CCCC CC C C +'+ C+'''''''+''''''''++C+++'''''''' +BB'''''''+ +BBB''''''''''''''''''''''
+ XC CXHXXXXXXC CXC CXXXXXXXCXXXXXXXXCC CCCXXXXXXXX CHHXXXXXXXC CHHHXXXXXXXXXXXXXXXXXXXXXX
+ C CXCCCCCC C CCCCCCC CCCCCCCC CCCCCCCC XXCCCCCCC XXXCCCCCCCCCCCCCCCCCCCCCC
*A-.-'''--''-----.'''.''''+===+++++++++++++++==++.-'++'''.-----------------........---.-.M-+''--'----+1-+--''---------------------'--
+ C'.+++..CC.....'+++'++++CCCCCCCCCCCCCCCCCCCCCCC'.+CC+++'.................''''''''...'.' +C..C....C C.CC.....................C..
+ +'CCC''BB'''''+CCC+CCCC +'C CCC+'''''''''''''''''++++++++'''+'+ CB''B'''' 'BB'''''''''''''''''''''B''
+ CX XXHHXXXXXC C CX CXXXXXXXXXXXXXXXXXCCCCCCCCXXXCXC HXXHXXXX XHHXXXXXXXXXXXXXXXXXXXXXHXX
+ C CCXXCCCCC C CCCCCCCCCCCCCCCCC CCC C XCCXCCCC CXXCCCCCCCCCCCCCCCCCCCCCXCC
*AM'-+'.--'---.AM'++'..'++'+=====+++++++++''''+=='-.''....------.--.--..'..-''.'.....-..-M=++------'A A+'''-------------------------
+ +.C+'..C...' +CC+''+CC+CCCCCCCCCCCCCCC++++CCC+.'++''''......'..'..''+''.++'+'''''.''. C......+ CCCC.........................
+ C' C+''B'''+ C C++C C CCCC C'+CC++++''''''+''+''++C++'CC+C+++++'++' ''''''C BBB'''''''''''''''''''''''''
+ X CXXHXXXC CC XC CCCCXXXXXXCXXCXXCC CCX C CCCCCXCCX XXXXXX HHHXXXXXXXXXXXXXXXXXXXXXXXXX
+ C CCXCCC C CCCCCC CC CC C C C CCCCCC XXXCCCCCCCCCCCCCCCCCCCCCCCCC
*XX--+'--'''--..'''++'.'''+''+===+=+++++'''''''+='--....--.-------...--......'.'.'..-----.)+A-----.A-=M-''----------------------''-''
+ C.C+..CCC..''+++CC+'+++C++CCCCCCCCCCC+++++++CC+..''''..'.......'''..''''''+'+'+''.....' .....' .CC......................CC.CC
+ ' C''BBB''++CCC C+CCC CC CCCCCCC C''++++''+'''''''+++''++++++C+C+C++'''''+ '''''+ 'BB''''''''''''''''''''''BB'BB
+ X XXHHHXXCC C XXCCCCXXCXXXXXXXCCCXXCCCCCC C C CCXXXXXC XXXXXC XHHXXXXXXXXXXXXXXXXXXXXXXHHXHH
+ C CCXXXCC CC CC CCCCCCC CC CCCCC CCCCC CXXCCCCCCCCCCCCCCCCCCCCCCXXCXX
*ZZ--+.-'''-...'''++''..''+''+==+==+++++++'+'''''.---....-------.-.......'''...'..----''-.-=1---.-)=+-.'-'-------------------''---'''
+ C.C'.CCC.'''+++CC++''++C++CCCCCCCCCCCCC+C+++++'...''''.......'.'''''''+++'''+''....CC.'C ...'C C'C.C...................CC...CCC
+ ' +'BBB'+++CCC CC++CC CC C CCCCC+'''++++'''''''+'+++++++CCC+++C++''''BB'+ '''+ +B'B'''''''''''''''''''BB'''BBB
+ X CXHHHXCCC CC CXXXCCCCXXXXXXXCXCCCCCCC CCC CCXXXXHHXC XXXC CHXHXXXXXXXXXXXXXXXXXXXHHXXXHHH
+ C CXXXC CCC CCCCCCC C CCCCXXC CCC XCXCCCCCCCCCCCCCCCCCCCXXCCCXXX
*MM=----'''-'...'''''...-''''+==+=++=++++++++''''''.'+''''...-----...'..-.''....'.-''''''--M+A'=Z Z=------------''''''''''''''''''''
+ C....CCC.+'''+++++'''.++++CCCCCCCCCCCCCCCC++++++'+C++++'''.....'''+''.'++''''+'.CCCCCC.. +C C............CCCCCCCCCCCCCCCCCCCC
+ ''''BBB'C+++CCCCC+++'CCCC CCCCCC+C CCCC+++'''''+++C++'+CC++++C+'BBBBBB'' C ''''''''''''BBBBBBBBBBBBBBBBBBBB
+ XXXXHHHX CCC CCCX C CCCXXXXXCCC CCXC CCCC CXHHHHHHXX XXXXXXXXXXXXHHHHHHHHHHHHHHHHHHHH
+ CCCCXXXC C CCCCC C CXXXXXXCC CCCCCCCCCCCCXXXXXXXXXXXXXXXXXXXX
*+=+----'''-'+''.''+'.....'+'++=++++++=+++++++'++''''''+++'+'..----''''....''''..-----'''---=)++ =A.---------'---''''''''''''''''''''
+CCC....CCC.+C++'++C+'''''+C+CCCCCCCCCCCCCCCCC+CC++++++CCC+C+''....++++''''++++''.....CCC...C '.........C...CCCCCCCCCCCCCCCCCCCC
+ ''''BBB'C CC+CC C+++++C C C CCCCCC C C++''''CCCC++++CCCC++'''''BBB''' +'''''''''B'''BBBBBBBBBBBBBBBBBBBB
+ XXXXHHHX C CCCCC CCXXXX CCCC CCXXXXXHHHXXX CXXXXXXXXXHXXXHHHHHHHHHHHHHHHHHHHH
+ CCCCXXXC CCCC CCCCCXXXCCC CCCCCCCCCXCCCXXXXXXXXXXXXXXXXXXXX
*=+-.'---''-.'++'''''..-.''+++'+++++==++++++=++''''''''''+'++'''.---.'''....''..--..'.''''---'=--+-''-------'''''''''''''''''''''''''
+CCC'C...CC.'+CC+++++''.'++CCC+CCCCCCCCCCCCCCCC++++++++++C+CC+++'...'+++''''++''..''+'CCCC...+CCCC.CC.......CCCCCCCCCCCCCCCCCCCCCCCCC
+ +B'''BB'+C CCCCC++'+CC C CCCCCCCCCC C CCC+'''+CCC++++CC++''++C+BBBB'''C 'BB'''''''BBBBBBBBBBBBBBBBBBBBBBBBB
+ CHXXXHHXC CCXC CXXXC CCCC CCXXCC CHHHHXXX XHHXXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHH
+ XCCCXXC C CCC CC XXXXCCC CXXCCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXX
*X==.'---'''-.++'+''.'...'''+++++=+++=+++=++=++++'+'..''+''''''++.--.'''''..''.-''++'.-''-----------------'''''''''''''''''''''''''''
+ CC'C...CCC.'CC+C++'+'''+++CCCCCCCCCCCCCCCCCCCCC+C+''++C++++++CC'..'+++++''++'.++CC+'.CC.................CCCCCCCCCCCCCCCCCCCCCCCCCCC
+ +B'''BBB'+ C CC+C+++CCC C C++CC CCCCCC +''+CCCCC++CC+'CC C+'BB'''''''''''''''''BBBBBBBBBBBBBBBBBBBBBBBBBBB
+ CHXXXHHHXC C CCC CC CXXC CC CX CXHHXXXXXXXXXXXXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ XCCCXXXC CC C CXXCCCCCCCCCCCCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXX
*1-+'-'--''--..++='..'...'.''++=+=+++=+++++++++++''''''.''''''+=+'.....'''''''+=MXX1-.-'------------------''''''''''''''''''''''-''''
+ CC+.C..CC..''CCC+''+'''+'++CCCCCCCCCCCCCCCCCCCC++++++'++++++CCC+'''''+++++++CC C'.C..................CCCCCCCCCCCCCCCCCCCCCC.CCCC
+ C'B''BB''++ C++C+++C+CC CCCCCC+CCCCCC C+++++CCCCCCC +'B''''''''''''''''''BBBBBBBBBBBBBBBBBBBBBB'BBBB
+ XHXXHHXXCC CC CCC C C CCCCC CXHXXXXXXXXXXXXXXXXXXHHHHHHHHHHHHHHHHHHHHHHXHHHH
+ CXCCXXCC CXCCCCCCCCCCCCCCCCCCXXXXXXXXXXXXXXXXXXXXXXCXXXX
*1ZXM-''--''--.'+++'....''..'++==+===++==++=='++'+++''''+.'..'++='.'...'.''''+=1+)Z-----------...------''-''''''''''''''''''------'''
+ .CC..CC..'+CCC+''''++''+CCCCCCCCCCCCCCCC+CC+CCC++++C'+''+CCC+'+'''+'++++CC C..........'''......CC.CCCCCCCCCCCCCCCCCC......CCC
+ 'BB''BB''+C C++++CC++C C C CCCC +C++C C+C+++C+CCCC ''''''''''+++''''''BB'BBBBBBBBBBBBBBBBBB''''''BBB
+ XHHXXHHXXC CCCC CC C CC C CCC C XXXXXXXXXXCCCXXXXXXHHXHHHHHHHHHHHHHHHHHHXXXXXXHHH
+ CXXCCXXCC CCCCCCCCCC CCCCCCXXCXXXXXXXXXXXXXXXXXXCCCCCCXXX
*1))--''--'''---'++'....'.'..'+==+=+=++=+++++=+++'''+++''..-..++='.''..'''+'.'....--------.-.--------'-''''''''''''''''---''''----'''
+ C.CC..CCC...+CC+''''+'+''+CCCCCCCCCCCCCCCCCCC+++CCC++''.''CCC+'++''+++C+'+''''........'.'........C.CCCCCCCCCCCCCCCC...CCCC....CCC
+ 'BB''BBB'''C C++++C+C++C CCC CC++'++ C+CC++CCC C+C++++''''''''+'+''''''''B'BBBBBBBBBBBBBBBB'''BBBB''''BBB
+ XHHXXHHHXXX CCCC C CC CCXCC C CC C CCCCXXXXXXXXCXCXXXXXXXXHXHHHHHHHHHHHHHHHHXXXHHHHXXXXHHH
+ CXXCCXXXCCC C CCCCCCCC C CCCCCCCCXCXXXXXXXXXXXXXXXXCCCXXXXCCCCXXX
*AZ1A--''-'''---.++'......'..'+==+=+=+=++++++++++++'+'''.'...'+'+'..'''++++'''..-----------------------'''''''''''''--.---'-''-----''
+ ..CC.CCC...'CC+''''''+''+CCCCCCCCCCCCCCCCCCCCC+C+++'+'''+C+C+''+++CCCC+++''.......................CCCCCCCCCCCCC..'...C.CC.....CC
+ ''BB'BBB'''+ C++++++C++C C CCC+C+++C C C++CCC CCC++'''''''''''''''''''''''BBBBBBBBBBBBB''+'''B'BB'''''BB
+ XXHHXHHHXXXC CCCCCC CC C CCC CC CCXXXXXXXXXXXXXXXXXXXXXXXHHHHHHHHHHHHHXXCXXXHXHHXXXXXHH
+ CCXXCXXXCCC CCCCCCCCCCCCCCCCCCCCCCCXXXXXXXXXXXXXCC CCCXCXXCCCCCXX
*+-AX.-----''----'='....'..'.'+====++====+++++'+++'''''''+'+''++'''.'+++'''..'..-------------------'-''''''''''''''.''-...---------''
+CC '.....CC....+C+''''+''+'+CCCCCCCCCCCCCCCC+CCC+++++++C+C++CC+++'+CCC+++''+''...................C.CCCCCCCCCCCCCC'++.'''.........CC
+ +'''''BB''''C C++++C++C+C C CCCCCCC C CC CCC+C CCC++C++'''''''''''''''''''B'BBBBBBBBBBBBBB+CC'+++'''''''''BB
+ CXXXXXHHXXXX CCCC CC C C CC CCXXXXXXXXXXXXXXXXXXXHXHHHHHHHHHHHHHHC XCCCXXXXXXXXXHH
+ CCCCCXXCCCC CCCCCCCCCCCCCCCCCCCXCXXXXXXXXXXXXXX C CCCCCCCCCXX
*.+-X+..'-'-------++...'+'.'''+=====+=====++++++++'++'.'++++++''''++=++.-.....------.--..-----'---'''''''''''''''-.+...'.--.-.----'''
+'CC C''+.C.......CC'''+C+'+++CCCCCCCCCCCCCCCCCCCC+CC+'+CCCCCC++++CCCCC'.'''''......'..''.....C...CCCCCCCCCCCCCCC.'C'''+'..'.'....CCC
++ ++C'B''''''' +++C C+CCC C C+C CCCC +'+++++''''''+''++'''''B'''BBBBBBBBBBBBBBB'+ +++C+''+'+''''BBB
+C CC XHXXXXXXX CCC C C CXCCCCCXXXXXXCXXCCXXXXXHXXXHHHHHHHHHHHHHHHXC CCC CXXCXCXXXXHHH
+ CXCCCCCCC C CCCCCC CC CCCCCXCCCXXXXXXXXXXXXXXXC CC C CCCCXXX
*-'-X-'++-'''''---.+...''....''+====+==+++'''+++++'''''''+''''''+=+++''...------------.--------''''''''''''''''''+++''.''.''..-'''''-
+.+C C+CC.CCCCC...'C'''++''''++CCCCCCCCCCC+++CCCCC+++++++C++++++CCCCC++'''............'........CCCCCCCCCCCCCCCCC+CCC++'++'++''.CCCCC.
+'C C 'BBBBB'''+ +++CC++++CC CCC CCCCCCC CCCCCC CC+++''''''''''''+''''''''BBBBBBBBBBBBBBBBBC CC+CC+CC++'BBBBB'
+X XHHHHHXXXC CCC CCCC CCCXXXXXXXXXXXXCXXXXXXXXHHHHHHHHHHHHHHHHH C C CCXHHHHHX
+C CXXXXXCCC CCCCCCCCCCCC CCCCCCCCXXXXXXXXXXXXXXXXX CXXXXXC
*'''A-+==-''''''--'+..'..-...''+========++++'''+++'.''.''.'''+++++'''.----------------.------'''''''''''''''''-+==''+'.'++'.-'-----..
++++ CCCC.CCCCCC..+C''+''.'''++CCCCCCCCCCCCC+++CCC+'++'++'+++CCCCC+++'................'......CCCCCCCCCCCCCCCCC.CCC++C+'+CC+'.C.....''
+CCC 'BBBBBB''C ++C++'+++CC CCC C+CC+CC+CCC CCC+''''''''''''''''+''''''BBBBBBBBBBBBBBBBB' CC C+C C+'B'''''++
+ XHHHHHHXX CC CCXCCC C C C CXXXXXXXXXXXXXXXXCXXXXXXHHHHHHHHHHHHHHHHHX C CXHXXXXXCC
+ CXXXXXXCC C CCCCCCCCCCCCCCCC CCCCCCXXXXXXXXXXXXXXXXXC CXCCCCC
*-AMAM+==-'-'''''''+''...-...'++++===+==++++'=-=+'''.'....''+++'''.----'-------.------------'''''''''''''''''-===+++'+++'--''-.-..'..
+C CCC.C.CCCCCC+C++'''.'''+CCCCCCCCCCCCCC+CCCC+++'+''''++CCC+++'....C.......'............CCCCCCCCCCCCCCCCC.CCCCCC+CCC+..CC.'.''+''
+ 'B'BBBBBBC CC+++'+++C C CCC+C++++CC CCC+''''B'''''''+''''''''''''BBBBBBBBBBBBBBBBB' C C''BB'+'++C++
+ XHXHHHHHH CCCXCCC C CCCC CXXXXHXXXXXXXCXXXXXXXXXXXXHHHHHHHHHHHHHHHHHX XXHHXCXCC CC
+ CXCXXXXXX C CCCCXCCCCCCC CCCCCCCCCCCCXXXXXXXXXXXXXXXXXC CCXXC C
*AZZXA=-=-'+'''''-++....'....++++=++==+==+'=A=-+M''.---..++++++'.------------.-...--------'''''''''''''''''-'M='-'++'-+-''''-.'.''''.
+ CCC.CCCCCCC.CC''''+''''CCCCCCCCCCCCC+C ++'...''CCCCCC+'............'.'''........CCCCCCCCCCCCCCCCC.+ C+.+CC+CC.CCCC.'+'++++'
+ 'B BBBBB' ++++C++++ C CC+'''++ C+''''''''''''+'+++''''''''BBBBBBBBBBBBBBBBB'C C'C C 'BBBB'+C+CCCC+
+ XH HHHHHX CCCC CCCC CXXXCC CXXXXXXXXXXXXCXCCCXXXXXXXXHHHHHHHHHHHHHHHHHX X XHHHHXC C C
+ CX XXXXXC CCC CCCCCCCCCCCC C CCCCCCCCXXXXXXXXXXXXXXXXXC C CXXXXC
*AAAX1---''.-''''''+'...-...''+++==+=++==++MXA--MM-.'''.+++++''------------------------''''''''''''''''''--'A==='==-+'-'''''-.'.+++'+
+ CCC+C'.CCCCC+C+'''.'''++CCCCCCCCCCCCC CC C'CCC'CCCCC++........................CCCCCCCCCCCCCCCCCC..+ CCC+CCCC+.CCCCC.'+'CCC+C
+ CB+'BBBBBC C+++'+++CC +BBB+ CC''''''''''''''''''''''''BBBBBBBBBBBBBBBBBB''C C C'BBBBB'+C+ C
+ HCXHHHHH CCCXCCC CHHHC XXXXXXXXXXXXXXXXXXXXXXXXHHHHHHHHHHHHHHHHHHXX XHHHHHXC C
+ X CXXXXX C XXX CCCCCCCCCCCCCCCCCCCCCCCCXXXXXXXXXXXXXXXXXXCC CXXXXXC
*==+=M--M+--+''''''+'......'+++++=++++===++A+.'+'+=.'''.''''..----------.-------------'''''''''''''''-----=M---==-='-''''''-..''+++'+
+CCCC CC C..CCCCCC+C+''''''+CCCCCCCCCCCCCCC C'+C+CC'CCC'++++''..........'.............CCCCCCCCCCCCCCC.....C CCCCCCC+.CCCCCC.''++CCC+C
+ '' BBBBBC C++++++C +C C +BBB+CCCC++''''''''''+'''''''''''''BBBBBBBBBBBBBBB''''' C'BBBBBB'++CC C
+ XX HHHHH CCCCCC C CHHHC CCXXXXXXXXXXCXXXXXXXXXXXXXHHHHHHHHHHHHHHHXXXXX XHHHHHHXCC
+ CC XXXXX XXX CCCCCCCCCC CCCCCCCCCCCCCXXXXXXXXXXXXXXXCCCCC CXXXXXXC
*----.-=-==-=-'''''+''...''''+=++++==+===+'='..++=+'''-....'.-----------..----------''''''''''''''--------MMMMAMM+-'''''''-.'..'''+++
+....'CCCCC.C.CCCC+C++'''++++CCCCCCCCCCCCC+C+''CCCCCCCC''''+'...........''..........CCCCCCCCCCCCCC.......C C.CCCCCCC.'+''+++CCC
+''''+ ' 'BBBBC CC+++CCCC C C++ BBB ++++C+'''''''''''++''''''''''BBBBBBBBBBBBBB''''''' 'BBBBBBB'+C++CCC
+XXXXC X XHHHH CCC CC HHH CCCC CXXXXXXXXXXXCCXXXXXXXXXXHHHHHHHHHHHHHHXXXXXXX XHHHHHHHXC CC
+CCCC C CXXXX XXX CCCCCCCCCCC CCCCCCCCCCXXXXXXXXXXXXXXCCCCCCC CXXXXXXXC
*----.+-MMA-+.'''-+++'...+++====+++===-=++'+=+'=+'-'''-.----.---------------------''''''''''''''-....---MMMAAAXA+'''''''--.''.''+'+'+
+....'CC .C'CCC.CCC+'''CCCCCCCCCCCCCCCCC+CCC+CC+.CCC.'....'.....................CCCCCCCCCCCCCC.''''... CCCCCCCC..'++'++C+C+C
+''''+ ' +BBB' C+++ C C C'BBB'+''''+'''''''''''''''''''''BBBBBBBBBBBBBB'++++''' BBBBBBB''+CC+CC C C
+XXXXC X CHHHX CCC XHHHXCXXXXCXXXXXXXXXXXXXXXXXXXXXHHHHHHHHHHHHHHXCCCCXXX HHHHHHHXXC C
+CCCC C XXXC CXXXC CCCC CCCCCCCCCCCCCCCCCCCCCXXXXXXXXXXXXXXC CCC XXXXXXXCC
*-'--.+==M--..'''-+++'...'++++=++==+=====.'.'=M=--''---------------.------------''''''''''''----.'.....=AAAMAAA''''''''--..''''++++++
+.+..'CCC C.''CCC.CCC+'''+CCCCCCCCCCCCCCC'+'+C C..CC...............'............CCCCCCCCCCCC....'+'''''C +CCCCCCC..''++++CCCCCC
+'C''+ '++BBB' C+++C +C+C ''BB'''''''''''''''+''''''''''''BBBBBBBBBBBB''''+C+++++ CBBBBBBB''++CCCC
+X XXC XCCHHHX CCC C C XXHHXXXXXXXXXXXXXXXCXXXXXXXXXXXXHHHHHHHHHHHHXXXXC CCCCC HHHHHHHXXCC
+C CC C XXXC CCXXCCCCCCCCCCCCCCC CCCCCCCCCCCCXXXXXXXXXXXXCCCC XXXXXXXCC
*'+''-A-=-A+-'-''-++'+...''+'+==+++=====+..'+===.--'-------------.---.--------''''''''''--....''.'...'+AAAAAXA+''''-----..''+'''+++++
++C++C CCC C.+.CC.CC+C'''++C+CCCCCCCCCCCC''+CCCC'..C.............'...'........CCCCCCCCCC..''''++'+'''+C CCCCC.....''++C+++CCCCC
+C CC 'C'BB' C +++CC C ++C +''B'''''''''''''+'''+''''''''BBBBBBBBBB''++++CC+C+++C BBBB'''''++CC CCC
+ X XHHX CCC CC CXXHXXXXXXXXXXXXXCXXXCXXXXXXXXHHHHHHHHHHXXCCCC C CCC HHHHXXXXXCC
+ C CXXC CCXCCCCCCCCCCCCC CCC CCCCCCCCXXXXXXXXXXCC XXXXCCCCC
*AMXZ+=A+=XM-'-''-'+''''.'+=+===+++==+'.''++==+''.----------.-....--.-.------''''''''--..''''''''''..+AAAAXXA=-''''.--.'.'''''''+'+++
+ CC .+.CC.+C++++'+CCCCCCCCCCCC+'++CCCCC++'..........'.''''..'.'......CCCCCCCC..''++++++++++''C C.CCCC'..'+'+++++++C+CCC
+ 'C'BB'C CCCC+C C+CC CC+''''''''''+'++++''+'+''''''BBBBBBBB''++CCCCCCCCCC++ 'BBBB+''+C+CCCCCCC C
+ X XHHX C C CXXXXXXXXXXCXCCCCXXCXCXXXXXXHHHHHHHHXXCC CC XHHHHCXXC C
+ C CXXC CCCCCCCCCC C CC C CCCCCCXXXXXXXXCC CXXXX CC
*Z1=- -A++-M---''-''''+='''+==+=++-=+..'===++'.-.-------..........--------''''''''-..++'.++++'.''''..AXAXXZZ--''''-'.'''+'+'+=+'''+++
+ CCC ...CC.++++CC+++CCCCCCCCCC''+CCCCC+'.'.......''''''''''........CCCCCCCC.''CC+'CCCC+'++++'' C.CCCC.+'+++C+C+CCC+++CCC
+ '''BB'CCCC CCC ++C C+'+'''''''++++++++++''''''''BBBBBBBB'++ C+ C+CCCC++ 'BBBB'C+CCC C C CCC
+ XXXHHX CC CXCXXXXXXXCCCCCCCCCCXXXXXXXXHHHHHHHHXCC C C CC XHHHHX C
+ CCCXXC C CCCCCCC CCCCCCCCXXXXXXXXC CXXXXC
*-Z)+ 1='+X=-.''-....'+'-+=+++++''..+=+==+'''.-------.......-...--.----'''''''''-.'..''''+++''..'.-.XXXXXXX+'''''-'+''+'+''+''''''++
+C C+C C.'CC.''''+C+CCCCCCCC++''CCCCCC+++'.......'''''''.'''..'....CCCCCCCCC.'+''++++CCC++''+'.' CCCCCC.+C++C+C++C++++++CC
+ C '+BB'++++C C CC++ CCC+'''''''+++++++'+++''+''''BBBBBBBBB'+C++CCCC CC++C+'+ BBBBB'C CC C CC CCCCCC
+ XCHHXCCCC CC CXXXXXXXCCCCCCCXCCCXXCXXXXHHHHHHHHHXC CC CC CXC HHHHHX
+ C XXC CCCCCCC C CC CCCCXXXXXXXXXC C XXXXXC
*A)-== =X+'-M-.-''---.''....---.++'.+==+=++.--..---......'.....-.-----'''''''''-..''''''+'++'.--''..=ZZXZXZ--'''''-++'''++''''''++'+'
+ C+C .'.CC...'++''''...'CC+'CCCCCCC'..''...''''''+'''''.'.....CCCCCCCCC.''++++++C+CC+'..++''C C.CCCCC.CC+++CC++++++CC+C+
+ C '+'BB'''+CC++++'''+ C+ +''++'''++++++C+++++'+'''''BBBBBBBBB'++CCCCCC C C+''CC++ 'BBBBB' CCC CCCCCC C C
+ XCXHHXXXC CCCCXXXC C CXXCCXXXCCCCCC CCCCCXCXXXXXHHHHHHHHHXCC CXX CC XHHHHHX
+ C CXXCCC CCC CC CCC C CCCCCXXXXXXXXXC CC CXXXXXC
*X= =X'+A'-''''''----'-'''--A+.'+++''.---------......'.-.------'-'''''''''-.''''''''++'+.---''.'AXZXZZZ.''''---++'++++''+'+'+=++'
+ +C +.+CCCCC....C.CCC.C C'+CCC++'.........''''''+'.'......C.CCCCCCCCC.'++++++++CC+C'...++'+ 'CCCC...CC+CCCC++C+C+CCCC+
+ C C'CBBBBB''''B'BBB' +C CC+'''''''''++++++C+'+''''''B'BBBBBBBBB'+CCCCCCCC C +'''CC+C +BBBB''' C CC C C C
+ X HHHHHXXXXHXHHHX C CXXXXXXXXXCCCCCC CXCXXXXXXHXHHHHHHHHHXC CXXX C CHHHHXXX
+ C XXXXXCCCCXCXXXC CCCCCCCCC C CCCCCCXCXXXXXXXXXC CCC XXXXCCC
*1 A'A''..''''''''''''.M-'--..+'-'''''--------..---.--'-''''''''''''---..'''+'''++'+'.---''.+XZZXZZM.'----.'=+'+''+'++'++'++'+
+ + +C''CCCCCCCCCCCC' C+..''C+.CCCCC........''...'..C.CCCCCCCCCCCC...''+++C+++CC+C+'...++'C 'C....'+CC+C++C+CC+CC+CC+C
+ C CB++BBBBBBBBBBBB+ C''++ C'BBBBB''''''''++'''+''B'BBBBBBBBBBBB'''++CCC CCC C C+'''CC+ +B''''+C C CC C C C C
+ HCCHHHHHHHHHHHHC XXCC XHHHHHXXXXXXXXCCXXXCXXHXHHHHHHHHHHHHXXXCC CXXX C CHXXXXC
+ X XXXXXXXXXXXX CC CXXXXXCCCCCCCC CCC CCXCXXXXXXXXXXXXCCC CCC XCCCC
*=)- -+='''.-''-'''''''++'-''--.-''''''''------------'''''''''''''''-.....'+++'''+'+''--.=+''AZZXZ11=''..--.'++'+'++++++''+++''
+ CCCCC+'.CC.CCCCCCCCC+.CC..'.CCCCCCCC............CCCCCCCCCCCCCCC.'''''+CCC+++C+C++..'CC++ CCC''..'+CC+C+CCCCCC++CCC++
+ BBC+'BB'BBBBBBB C'BB''+'BBBBBBBB''''''''''''BBBBBBBBBBBBBBB'+++++C CCC C CC''+ CC BB++''+C C C CC CC
+ HH CXHHXHHHHHHH XHHXXCXHHHHHHHHXXXXXXXXXXXXHHHHHHHHHHHHHHHXCCCCC XXC HHCCXXC
+ XX CXXCXXXXXXX CXXCC CXXXXXXXXCCCCCCCCCCCCXXXXXXXXXXXXXXXC CC XX CC
*-=)+ -+=-''.=+''-.--'M''--''''''''''''''--'----'''''''''''''''''''''-'.'..'++++'+'++'.--.'++'ZXXXXZZ''-''.-.'=+++'++''+''+++'''
+ CC.CC'CCCC.'..+ ++..CCCCCCCCCCCCCC..C....CCCCCCCCCCCCCCCCCCCCC.+'+''+CCCC+C+CC+'..'+CC+ +C.++'.'+CCCC+CC++C++CCC+++
+ 'BB+ BB'+''C CC''BBBBBBBBBBBBBB''B''''BBBBBBBBBBBBBBBBBBBBB'C+C++C C C C+''+C C CB'CC+'+C C CC CC CCC
+ XHHC HHXCXX XXHHHHHHHHHHHHHHXXHXXXXHHHHHHHHHHHHHHHHHHHHHX C CC CXXC HX CXC
+ CXX XXC CC CCXXXXXXXXXXXXXXCCXCCCCXXXXXXXXXXXXXXXXXXXXXC CC XC C
*++-- ==.-''.A-.+Z11-+.-'''''''''''''''''''''''''''''''''''''''-''--.'.'-.+'=''''+'+.---.++.=ZXZZZZX.'-+'--.'=+''''++'+''+++'''
+ C'.CC' C'C '.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC..'+'+.'C+C++++C+C'...'CC'C 'C.C+..'+CC++++CC+C++CCC+++
+ +'BB+ + +'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB''+C+C'+ C CCCC C +'''+ + +B' C''+C CCCC C CC CCC
+ CXHHC C CXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXXC C XC CXXXC C CHX XXC
+ CXX CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXCC C CCC XC CC
*1)==--- )..-''-A-+)=1A.+-'''''''''''''''''''''''''''''''''''''-.+----.''.-.+.'++''''+.--.'++-AZZXZXXZ.'.'+..''+=='''++++'++'''.'
+ ''.CC. CC 'C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.'C....'++'.'C'+CC++++C'..'+CC. 'C'+C''++CCC+++CCCC+CC+++'+
+ ++'BB' + 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'+ ''''+CC+'+ +C CCCC +''+C ' +B+C ++CC CCC C CCC+C
+ CCXHHX C XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXC XXXXC CXC C CXXC X CHC CC C
+ CXXC CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC CCCC C CC C X
*ZZZ)) 1'.-''----'''++1M-=++'--''''''''''''''''''''''''''''-'+=----.'''-.+.'++++'''.--''++.MAXAXXXX+-.++..'.+++'..'''+'+++.-.'
+ +'.CC....+++C CCCC+..CCCCCCCCCCCCCCCCCCCCCCCCCCCC.+CC....'+++.'C'+CCCC+++'..++CC' C.'CC''+'CCC+''+++C+CCC'.'+
+ C+'BB''''CCC C''BBBBBBBBBBBBBBBBBBBBBBBBBBBB'C ''''+CCC'+ +C CCC+''CC + '+ ++C+ C++CCC C +'+C
+ CXHHXXXX XXHHHHHHHHHHHHHHHHHHHHHHHHHHHHX XXXXC XC C CXX C XC CC C CC CXC
+ CXXCCCC CCXXXXXXXXXXXXXXXXXXXXXXXXXXXXC CCCC C CC C C
*XZX1Z)=-+11XM-+.'''+'++=--AAAZX--=-.'---'''''''''''''''''''''''''-+==.-...'''-.+.''++''''.--.'+'.MXXXXXAX+-'=+'''.'++'...'++''''...+
+ CC'+++C+CCCCC CCCC'+...CCCCCCCCCCCCCCCCCCCCCCCCC.CCC'.'''+++.'C'++CC++++'..'+C+' C.+CC+++'+CC+'''+CC++++'''C
+ +CCC C +C'''BBBBBBBBBBBBBBBBBBBBBBBBB' +'+++CCC'+ +CC CCCC+''+C C+ 'C CCC+C C+++C CCCC+++
+ C C XXXHHHHHHHHHHHHHHHHHHHHHHHHHX CXCCC XC C CXXC C X C CCC CCC
+ CCCXXXXXXXXXXXXXXXXXXXXXXXXXC C C CC C
*XXXXZ1ZM+----.'++=-=+==-MMAXXAM+-''---=AA-.---'''''''''''''''''''-+=-=.-..'''-.+...++'''.---.+++.MAXXXXAX=-.++'''.'+''...'+++'.-..++
+ C....'+CCCCCCCCC C.CC...C C'...CCCCCCCCCCCCCCCCCCC.CCCC'.''+++.'C'''CC+++'...'CCC' C.'CC+++'+C++'''+CCC+'.''CC
+ ''''+C 'BB''' +'''BBBBBBBBBBBBBBBBBBB' +'++CCC'+ +++ CCC+'''+ + '+ CCC+C CC+++C C+'++
+ XXXXC XHHXXX CXXXHHHHHHHHHHHHHHHHHHHX CXCC XC CCC CXXXC C XC C CCC CXCC
+ CCCC CXXCCC CCCXXXXXXXXXXXXXXXXXXXC C C CCC C C
*Z1)11M.-'---.'++'+++'=--MMMAXZZX=.'--.=X1ZXMMZZM'--''''''''''''''-+=--'.-.''+--'...+++'..---.''+.=AXXXXAX=-.++++''++'+'''''+++..-'='
+ '.C...'+CC+CCC+CCC C'C..'C +..CCCCCCCCCCCCCC.CCCC+'.'++C..+'''CCC+''...'++C'C C.'CCCC++CC+C+++++CCC''.+C+
+ +'B'''+C C C +B''+ C''BBBBBBBBBBBBBB' C+'+CC ''C+++ C++'''+CC + '+ CC C CCCCC ++'C C
+ CXHXXXC CHXXC XXHHHHHHHHHHHHHHX CXC XX CCC CCXXXC C XC CCX
+ CXCCC XCC CCXXXXXXXXXXXXXXC C CC CCC C C
*)))=Z-'''--+=M))1Z111111+)ZXAAM+'.---.+MMMM+=A11MAZA+'---'''''''''==--=.-.'.'--'...+'+''.---..++.+XXAXAAXM..+'+'+++'.'..''+++'.-'+='
+ .CCC..CC C+'...'C CC C+...CCCCCCCCCCCCCC'.'+'+..+'''C+C++'...''CC'C ''C+C+CCC+'+''++CCC+'.+CC+
+ 'BBB'' C+'''+ C'''BBBBBBBBB +'+C+C''C+++ C CC+'''++ + ++ C C C+C++CC C+'C C
+ XHHHXX CXXXC XXXHHHHHHHHH CXC C XX CCC CXXXCC C CC C CC CX
+ CXXXCC CCC CCCXXXXXXXXX C CC CCC C
*=)+==''--+X1Z+= - )M=+'.+'''--.'.'.'=AX=AZZXAAA==+'.--''''+=--+--...'-.'.-++'''.---.'+'-'MMAAMAA-'.+++++++.....'.++''--.=+'
+ CCC..C CC+'C+CC..'+'+'+C C CCC+'..CCC+CCCCC..'''+.'+'.CC+++'...'+C+.+ C+'CCCCCCC'''''+'CC++..'CC+
+ BB'' C+ CBB''+C+C+C C+''BBBC ''+++C'+C+' CCC+'''+C C'C C+ +++++C+ CC''+ C
+ HHXX C HHXXC C C CXXHHH XXCCC XC CX CXXXC X C CCCCC C XXC
+ XXCC XXCC CCXXX CC C C CCC C CC
*---=+'-+Z))1ZZ1++ -+)-= A-----'+''''''''''-.+.+-=--MAAAAAX-AM='''+=--.----.--.--''.''''---.++..-MAAMAAA'-'+++++''-..-.'++''-.++''
+ CC.C .....+CCCCCCCCCCC.'C'CCCCC C C+++CCCC'....'..'..++'++++...'CC''C +.+CCCCC++.''.'+CC++.'CC++
+ B' '''''C BBBBBBBBBB'+ + CCC +''''+''+''CC+CCCC'''+ ++ C'C CC'++'+C CC'+ CC
+ HX XXXXX HHHHHHHHHHXC C CXXXXCXXCXX C XXXC CC X XCCXC XC
+ XC CCCCC XXXXXXXXXXC CCCC CC CC CCC C C C C
*=- =-- =ZXZ1)11+==)1== =---'''''''''''''''''''''---'=-MA-A-X1ZX1XM++++----.'-..-.+'..''.--.+''--MAMXAAX+-'++=++''.....+''..'=++''
+ C.C ...CCCCCCCCCCCCCCCCCCCCC...+CC C C CCCC....'+.''.'C+''++'..'C++.C C.+CCCCC++'''''C++''+CCC++
+ ' '''BBBBBBBBBBBBBBBBBBBBB'''C ''''+C'++'+ C++CC+''+ CC' 'C CC+++++ CC++C CC
+ X XXXHHHHHHHHHHHHHHHHHHHHHXXX XXXXC XCCXC CC CXXC X X CCCCC CC
+ C CCCXXXXXXXXXXXXXXXXXXXXXCCC CCCC C C CC C C
*) -) =M-XXZ111+))))--'----'''''''''''''''''''''''''----.'=MMMAXAAMMM-=+..------.....'.---'+'-'MMMXAAAM..==''''+..--''''..++''''
+ C +....CCCCCCCCCCCCCCCCCCCCCCCCC....'+C CCC''......'''''+'...+C+.+ ''CC++++C''..++++''CC++++
+ C''''BBBBBBBBBBBBBBBBBBBBBBBBB''''+C ++''''''+++++C+'''C C'C ++ CCCC ++''CCCC++ CCCC
+ XXXXHHHHHHHHHHHHHHHHHHHHHHHHHXXXXC CCXXXXXXCCCCC CXXX X CC CCXX CC
+ CCCCXXXXXXXXXXXXXXXXXXXXXXXXXCCCC CCCCCC CCC C CC
*) +AXXZ111))))))M-----'''''''''''''''''''''''''''''''--.'=-MMMMMAXAAM==='--------...--+'.--MMMAMMA=.+=''-.''.-...'..'=''..'
+ .....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..'+CC CCC+........'''..C+'.C C'CC++.'++'.'''+''+C++''+
+ '''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''+C C''''''''+++'' C+' + CC'+CC+'+++C++C CC++C
+ XXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXC XXXXXXXXCCCXX CX C XC CXCCC CC CC
+ CCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC CCCCCCCC CC C C C
* -11Z1Z1ZZZ1ZX--.---''''''''''''''''''''''''''''''''''''--.+=-MMAMAMM-AM--++.--'-----.+..+-AMAMMAA''+''.-.''--....'=''...'
+ C.'...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..'CCC C CCCC'..C.....'C''CC ++C++'.'++..''''+C++'''+
+ '+'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''+ +''B'''''+ ++ CC CC+'+CC''++++C CC+++C
+ XCXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXC CXXHXXXXXC CC CXC XXCCCC CCC
+ C CCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC CCXCCCCC C CC
*- -)ZZZXAXXMXX1'''.---'-'-''''''-''''-'-''''''''''''''''''''.+-M--=M-++-MAMMAM-++.---''------M-MMMM-.''+'.--+.'+'.'==+.----
+ +C+'...C.C.CCCCCC.CCCC.C.CCCCCCCCCCCCCCCCCCCC'CC CCC CCCC CCC'...CC....CC C C'++C+'..C'+C+'+CCC'....
+ CBC+'''B'B'BBBBBB'BBBB'B'BBBBBBBBBBBBBBBBBBBB+ +'''BB'''' +CC C+'' +C C+C +''''
+ H CXXXHXHXHHHHHHXHHHHXHXHHHHHHHHHHHHHHHHHHHHC CXXXHHXXXX C CXX C C CXXXX
+ X CCCXCXCXXXXXXCXXXXCXCXXXXXXXXXXXXXXXXXXXX CCCXXCCCC CC CCCC
*+= +1MMAXZ11)Z1.-.---------'''-''-'-'-'''''''''''''''''''''''.+---='..--'+==----M==--=''---.''+=--=M''-''..-++'.'''++...---
+ '.'.........CCC.CC.C.C.CCCCCCCCCCCCCCCCCCCCCCC'CCCCC+''..+CCCCCCC CCCCC++...'++CCCCC +C.++''.CC+'+++CC'''...
+ +'+'''''''''BBB'BB'B'B'BBBBBBBBBBBBBBBBBBBBBBB+ C++''C CC'''+CC CB'CC++' C+CCC +++'''
+ CXCXXXXXXXXXHHHXHHXHXHXHHHHHHHHHHHHHHHHHHHHHHHC CCXX XXXC HX CCX C CCCXXX
+ C CCCCCCCCCXXXCXXCXCXCXXXXXXXXXXXXXXXXXXXXXXX CC CCC XC C CCC
*))= - )AMMZ11+==+-'..----'---''-'---'-''''''''''''-'''''''''-''-+=----'.--.--+...'=+-MMMMM=++-+'+=+'''.--''..--''''+=++''.--'
+ C+''....C...CC.C...C.CCCCCCCCCCCC.CCCCCCCCC.CC.CCCCCC+'..'..C'''+CCC CCCCC+CCC+++'..++''..++++CCCC++'..C
+ C++''''B'''BB'B'''B'BBBBBBBBBBBB'BBBBBBBBB'BB' C+''+'' +++C C CCC+''CC++''CCCC CC+''B
+ CCXXXXHXXXHHXHXXXHXHHHHHHHHHHHHXHHHHHHHHHXHHX CXXCXX CCC CXX CCXX CXXH
+ CCCCXCCCXXCXCCCXCXXXXXXXXXXXXCXXXXXXXXXCXXC CC CC CC CC CCX
*11++- ---)ZZ1=+)Z+ AM-'--.------''------'''''''''''--'''''''''''''-=----=+'..--'+.----'''===+'+=--MMMMM-='.'.--''-.'===++'..--'
+ C+..'......CC......CCCCCCCCCCC..CCCCCCCCCCCCC.CCCCCCC+''..+C'....+++CCCC+CCCC CC+'+'..CC.'+CCCCC+''..C
+ C''+''''''BB''''''BBBBBBBBBBB''BBBBBBBBBBBBB' C++''C +''''CCC C C+C+''BB'+C C++''B
+ XXCXXXXXXHHXXXXXXHHHHHHHHHHHXXHHHHHHHHHHHHHX CCXX CXXXX C CXXHHXC CCXXH
+ CC CCCCCCXXCCCCCCXXXXXXXXXXXCCXXXXXXXXXXXXXC CC CCCC CCXXC CCX
*AZ1)+)= -=1+=- +1AMZ-A+=)=--------''-'---'''''''''----'''''''''''''''.==-=-=+'.---++'--.+--''...-.'=-MXAAZZXZZ1A-+.--+=+'+'++'-''
+ C........CC.C...CCCCCCCCC....CCCCCCCCCCCCCCC'CCCCCCC+'...CC+..'C..++'''.'+CC CC'..CCC+C+CC+.CC
+ ''''''''BB'B'''BBBBBBBBB''''BBBBBBBBBBBBBBB+ C+''' C''+ ''CC+++'+C +'' C C C'BB
+ XXXXXXXXHHXHXXXHHHHHHHHHXXXXHHHHHHHHHHHHHHHC CXXX XXC XX CCCXC CXX XHH
+ CCCCCCCCXXCXCCCXXXXXXXXXCCCCXXXXXXXXXXXXXXX CCC CC CC C CC CXX
*A11Z1)+==-- -+- --)AM-AZ)++))X-.----''''---''''''''''-'---''''''''''''''-+--====+'.-.'='---'--.+'+.--++--MM-AXAAX1ZXM=.--=M===+''---
+ C C'....CCCC...CCCCCCCCCC.C...CCCCCCCCCCCCCC.CCCCCCCC+'.'+C+...+..'C+C'..CCCC C C'..C CCCC++...
+ +''''BBBB'''BBBBBBBBBB'B'''BBBBBBBBBBBBBB' C+'+C C'''C''+ C +'' +'' CC'''
+ CXXXXHHHHXXXHHHHHHHHHHXHXXXHHHHHHHHHHHHHHX CXC XXX XXC CXX CXX XXX
+ CCCCXXXXCCCXXXXXXXXXXCXCCCXXXXXXXXXXXXXXC C CCC CC CC CC CCC
*X11)111+)== =-- =)Z)1-)))))1X-'---------'''''''-''''''''''''''''''''''-MM---==''.-.+'---''--'++'-'--M------M-++=-=.'--.X+=-X='..'
+ C+.........CCCCCCC.CCCCCCCCCCCCCCCCCCCCCC. CCCCC++'.'C+...++..+CC+.C.C CCCCCC CCCCCC'+..' CCC C+''+
+ C'''''''''BBBBBBB'BBBBBBBBBBBBBBBBBBBBBB' CC+'+ C'''CC''C C'B' +C''+ C++C
+ XXXXXXXXXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHX CXC XXX XX XHX C XXC CC
+ CCCCCCCCCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXC C CCC CC CXC CC
*)1Z11111)++=+--- =)+=+1)11ZXZZM+----''''''''''''''''''''''''''''''''''MM-M-==++...''---.'-'-++'----M--MMM-MA....----.'+-''==+'++
+ C....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+ C CCCCC'''++...'+.C.CC+...C CC C ''''....'+C.++CCC+CC
+ ''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC +++CC'''+C'B' C''' ++++''''+C 'CC C
+ XXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH CCC XXXC XHX XXX CCCCXXXXC X
+ CCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CCC CXC CCC CCCC C
*))11Z1)111)==+--- - -Z+))1)ZZZ1Z11)Z=--'''''''''''''''''=.'''''''''''''.XM--M----=+''+'.--..-'-+'''--=-M--MAMMX+.'-''.'.----'''--.=
+ C..CCCCCCCCCCCCCCCCCC'CCCCCCCCCCCCC' CC CCCCCC++C+'..''.C.C+++..CC CC C'+.CC'+'....CCC..'C
+ ''BBBBBBBBBBBBBBBBB +BBBBBBBBBBBBB+ CC C+''++'B' CCC'' +C'BB+C+''''BBB''+
+ XXHHHHHHHHHHHHHHHHH CHHHHHHHHHHHHHC CXXCCXHX XX C XHHC CXXXXHHHXXC
+ CCXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX CC CXC CC CXX CCCCXXXCC
*))+)Z1111)+++)--=+1+1X)1)111ZZZXZZX111X=-''''''--'''''''''-'''''''''''''-M-MM----M-+''+'---'..'-..-..-+---MM-A-A=..-''..'.----''''.=
+ C.CCCCCC..CCCCCCCCC.+CCCCCCCCCCCCC C CCCC CC++C+...+''C.''.''.CCCC C C C''.CC''+'....CCCC'C
+ 'BBBBBB''BBBBBBBBB'CBBBBBBBBBBBB CC C'''C++B'++'++' ++'BB++C+''''BBBB+
+ XHHHHHHXXHHHHHHHHHX HHHHHHHHHHHH XXX CCHXCCXCCX CCXHHCC CXXXXHHHHC
+ CXXXXXXCCXXXXXXXXXC XXXXXXXXXXXX CCC XC C C CXX CCCCXXXX
*)+++)1))1)1))+=-Z=.+=A)1)1)ZZZZXZXZZZZ11Z-.'''---''-'''''''''''''''''''+MM-MM-----M--.+..---'.---.---.-=----MM-M-+.-'''.''..----'-+=
+ C'CC C'CCC...CC.CCCCCCCCCCCCCCCCCCCC C CCCCC C.'C''...+'...'...'.CCCCC C CC'.CC+'++''....C.CC
+ + +BBB'''BB'BBBBBBBBBBBBBBBBBBB '+ ++'''C+'''+'''+' +'BBC+CC++''''B'
+ C CHHHXXXHHXHHHHHHHHHHHHHHHHHHH XC CCXXX CXXXCXXXCX CXHH C CCXXXXHX
+ XXXCCCXXCXXXXXXXXXXXXXXXXXXX C CCC CCC CCC C CXX CCCCXC
*))+)++))))))))++=----+XZ111ZZXXXXXXXZZXXZZXA+--'''''''''''''''''''''''------M-M--MM''-''.---.'--'-.-'--'=------MM='-'-..''..--.---=+
+ C....C C..CCCCCCCCCCCCCCCCCCCCCCC.CCCCC C CC +C.++'...'+..C.'.C..+CCCCCCC C+.C.''++''..'...CC
+ '''' ''BBBBBBBBBBBBBBBBBBBBBBB' CB'CC+'''+C''B'+'B''C C'B'++CC++''+'''
+ XXXX XXHHHHHHHHHHHHHHHHHHHHHHHX HX CXXXC XXHXCXHXX XHXCC CCXXCXXX
+ CCCC CCXXXXXXXXXXXXXXXXXXXXXXXC XC CCC CCXC CXCC CXC CC CCC
*))))))+-=++)++)X-.----=AZZZZXZXXXAXXXAAXZZ1)1X'-''''''''''''''''''''''=M----=------.-'.+...--.'--'-'-''.M==---MMM-'.'.'-+.+'-.-.-'++
+ .'....C +.CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC'.C'C'''..'+..C.+.CC' CCCCC C+'C'+.C'C+.'.'.+CC
+ '+'''' C'BBBBBBBBBBBBBBBBBBBBBB +'B+ +++''+C''B'C'BB+ C+B+C' + C'+'+'C
+ XCXXXX XHHHHHHHHHHHHHHHHHHHHHH CXHC CCCXXC XXHX XHHC CHC X C XCXCX
+ C CCCC CXXXXXXXXXXXXXXXXXXXXXX CX CC CCXC CXX X C C C C
*))))1))+-=--+ZM'-.---'-'AXZZXXXAAAAAXXXAXXXZZZ1X=.-''''''''''''''''''+M=======-----='''.'+.---''-''--'+-ZZ++-MMMMM='-''.'.'..-...'++
+ +.'...C.+ C'.CCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC+CC'+C'...++.CC..CCC CCC C+.++'+'+''.'''+CC
+ C'+'''B'C +'BBBBBBBBBBBBBBBBBB CBB+C +'''CC'BB''B C'CC+C+C++'+++C
+ XCXXXHX CXHHHHHHHHHHHHHHHHHH HHC CXXX XHHXXH X C C CCXCCC
+ C CCCXC CXXXXXXXXXXXXXXXXXX XX CCC CXXCCX C C
*)=+=)))+++=-1+.----------+AXXXXAAXXAXAAAXXXXZZZZ1A-+--'''''''''''''''---=+++++++==++'''-'+'.--''-''-'-'M=M-==----M-+.'.-.''....''+=+
+ C'..........C CC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC.+C+'..++.CC.+.+ C CCCCCCC CC'+'.'++''''++CCC
+ +'''''''''' ''BBBBBBBBBBBBBBB CBB'C C+''CC'BB'C'C +C+'+CC++++CC
+ CXXXXXXXXXX XXHHHHHHHHHHHHHHH HHX CXX XHHX X C CXC CCCC
+ CCCCCCCCCC CCXXXXXXXXXXXXXXX XXC CC CXXC C C
*))+++++++==++--.-----------=MAXAAAAAAXMAAAAXXXXXZ1ZZM-.---''''''''''.-==+''''.-.'--'''''-''..--''-'-'.---=---=M--M-=+'---.'''.'''==+
+ C..'...........C C'...CCCCCCCCCC'CCCC++++'.'+..CCCCC.++''..++.C.+'.CCCCCCC CC CCC+...'+++'+++CCC
+ ''+''''''''''' +'''BBBBBBBBBB+ CCCC+'+C''BBBBB'CC++''CC'B'C+' C'''+CCC+CCC
+ XXCXXXXXXXXXXX CXXXHHHHHHHHHHC CXC XXHHHHHX CCXX XHX CX XXXC C
+ CC CCCCCCCCCCC CCCXXXXXXXXXX C CCXXXXXC CC CXC C CCC
*11)1++)== )=..-------'---''''.MMAAAXXXXXAZAAAAXXXXXXXXX-=+'.----'-'''-+'...-'''''''''''''-''.---'.--'-'.=+'+ZMAMMAMMM+'.--'+''.--='+
+ C''.C.....+...CCCC' CCC+'....C.CC+CC+'''.CCCCCCCCCCCCC.++'...+'..+.C'CC+C C+'..+C++'..C+C
+ ++' '''''C'''BBBB+ C+''''B'BBC C+++'BBBBBBBBBBBBB'CC+'''C+''C'B+ C C+''C CC+'' C
+ CCX XXXXX XXXHHHHC CXXXXHXHH CCCXHHHHHHHHHHHHHX CXXX CXX XHC CXX CXX
+ C CCCCC CCCXXXX CCCCXCXX CXXXXXXXXXXXXXC CCC CC CX CC CC
*1ZZZ1++++Z=....-------------''-'-M-AMAAAAXAAXAXXXMMAMMAAMMAM--===++'==''..-''''''''''''''''...---.'.....--'-MMMMMAM---'..--.'..''+++
+ C''''.............CC.+C C CCCCCCC+CC++''.CCCCCCCCCCCCCCCC'''...'+'''''..+. CCC+''..'+''++CCC
+ ++++'''''''''''''BB'C C CC++'BBBBBBBBBBBBBBBB+++'''+C+++++''C' C++''+C++CC
+ CCCCXXXXXXXXXXXXXHHX CCXHHHHHHHHHHHHHHHHCCCXXXC CCCCCXX X CCXXC CC
+ CCCCCCCCCCCCCXXC CXXXXXXXXXXXXXXXX CCC CC C CC
*=)))Z1)+A'..--.----------.-''''''.'--AMAMAMAAXXXAAAM-=----M----M==-=M+..--'''''''''''''''''-''..----....-'='+M-MMAM-===--.-.'==A-++=
+ +''..'..........'.CCCCCC'+CC CCCCCC CCCC CCCC C''..CCCCCCCCCCCCCCCCC.++''....''''.+CCC C CCCC..'.'+CC CCCC
+ C++''+''''''''''+'BBBBBB+C ++''BBBBBBBBBBBBBBBBB'CC++''''++++'C B ''+'+C
+ CCXXCXXXXXXXXXXCXHHHHHHC CCXXHHHHHHHHHHHHHHHHHX CCXXXXCCCCX H XXCXC
+ CC CCCCCCCCCC CXXXXXX CCXXXXXXXXXXXXXXXXXC CCCC C X CC C
*+---+11M'..---.------''----'''''''''.+=-MAMMAMAXAAAA---M-=-==M=-+==--=----'-'-----------'--'+'..----''-'XZM.=M-M-M-M=+-'.'+MAA--++++
+ +''...'......CC....CCCCCCCCC'CCC CCC CCCCC CCCCCCCC....C.C...........C..+C+''....CC.+ 'C C C C CCC+'+C CCCCCC
+ C++'''+''''''BB''''BBBBBBBBB+ ''''B'B'''''''''''B''C C++''''BB'C + C+C
+ CCXXXCXXXXXXHHXXXXHHHHHHHHHC XXXXHXHXXXXXXXXXXXHXX CCXXXXHHX C C
+ CCC CCCCCCXXCCCCXXXXXXXXX CCCCXCXCCCCCCCCCCCXCC CCCCXXC
*+++- )='.-.-......----''''''''''''''''-.+-=MMMAMMMAAMAM--=-+------MM--'--''-.--.--..'''''++-+''+..----.+=-----MMXM-AA-=+'=M=-='-'+++
+ C+'.'.''''''....CCCCCCCCCCCCCCCC.'CCC CCCCCCCCCCC CC+..CC.'..'..''+++++CCCC++C''....' C..CCC C CCC+C CCC+.+CCC
+ C+'+'++++++''''BBBBBBBBBBBBBBBB'+ C''BB'+''+''++CCCCC CC ++''''+ '' C C'C
+ CXCXCCCCCCXXXXHHHHHHHHHHHHHHHHXC XXHHXCXXCXXCC CCXXXXC XX X
+ C C CCCCXXXXXXXXXXXXXXXXC CCXXC CC CC CCCC CC C
*--=-)=....------.'.--''''''''''-----'''''--.+-====+-=MM--M--M----MMMMA-'----+++''+=-MMMMMAA=...--.....XZ-'''A-=+M-MMMMMM+-'.----''++
+ C''''......'+'..CCCCCCCCCC.....CCCCC..'CCCCCCCCC CC CC CCCC C+....CCC++CCC C'''..''''' .CC+ CCC C C.+'....++CC
+ ++++''''''+C+''BBBBBBBBBB'''''BBBBB''+ C'''' CC +++''+++++ 'BBC 'C+''''CC
+ CCCCXXXXXXC CXXHHHHHHHHHHXXXXXHHHHHXXC XXXX CCCXXCCCCC XHH X CXXXX
+ CCCCCC CCXXXXXXXXXXCCCCCXXXXXCC CCCC CC CXX C CCCC
*= -1=..--.-----.---'''''''''''-----''''''''''-.'+'+======-=-M--MMM-MMMMM=+++-AMMAAAMAAAAXA=++'''..--.-+1XM=MM'---'=+=--M=--''''-'+++
+ C''..'.....'...CCCCCCCCCCC.....CCCCCCCCCC.'+C+CCCCCCCCCC CC C CCCCC CCC+++''..'.C C +...+CCCCC C..CCCC.+CCC
+ ++''+'''''+'''BBBBBBBBBBB'''''BBBBBBBBBB'+C C CCC++''+' C'''C ''BBBB'C
+ CCXXCXXXXXCXXXHHHHHHHHHHHXXXXXHHHHHHHHHHXC CCXXCX XXX XXHHHHX
+ CC CCCCC CCCXXXXXXXXXXXCCCCCXXXXXXXXXXC CC C CCC CCXXXXC
*+=X'.--..--------'''''''''''-..-'--''''''''''''''---'.'++===---=--=---------M-AAAMMAAMAA-==-==++++..---.+==-=.''+X=M------'''--.A+++
+ +'..''........CCCCCCCCCCC.''.C..CCCCCCCCCCCCCC...+'+CCCCCCCCCCCCCCCCCCCCC C CCCCCCCCCC''...'CCCCC'++C ......+++..' CCC
+ C+''++''''''''BBBBBBBBBBB'++'B''BBBBBBBBBBBBBB'''C+C ++'''+ +CC ''''''CCC''+
+ CXXCCXXXXXXXXHHHHHHHHHHHXCCXHXXHHHHHHHHHHHHHHXXX C CCXXXC C XXXXXX XXC
+ CC CCCCCCCCXXXXXXXXXXXC CXCCXXXXXXXXXXXXXXCCC CCC CCCCCC CC
*)X.-'-----------'''''''''--...-'-'-'-'-'''-'''''''''''''-.-'+=+===--MM=---M=+==++==-=-===---=+=+=+'='+..'=''--- -=--M--'''-+-A))+++'
+ '.+...........CCCCCCCCC..'''.C.C.C.C.CCC.CCCCCCCCCCCCC.'.+CCCCCCCC CCCC CCCCCCCCCCCCCCCCCCCCCCC+C+C''+C++..C ..CCC.CC CC+
+ +'C'''''''''''BBBBBBBBB''+++'B'B'B'B'BBB'BBBBBBBBBBBBB'+'C C C ++C CC'' ''BBB' C
+ CX XXXXXXXXXXXHHHHHHHHHXXCCCXHXHXHXHXHHHXHHHHHHHHHHHHHXCX CC XX XXHHHX
+ C CCCCCCCCCCCXXXXXXXXXCC CXCXCXCXCXXXCXXXXXXXXXXXXXC C CC CCXXXC
*M..-----------'''''''''-----'--'''-''--''''''''''''''''''''''''-----.'''++=+++=+++++===----==+++==++'+.''++'+'=1ZAAAA.---'''----A''+
+ ''...........CCCCCCCCC.....C..CCC.CC..CCCCCCCCCCCCCCCCCCCCCCCC.....'+++CCCCCCCCCCCCCCCCCCCCCCCCCCCC+C'++CC+C+C '...CCC...C ++C
+ ++'''''''''''BBBBBBBBB'''''B''BBB'BB''BBBBBBBBBBBBBBBBBBBBBBBB'''''+CCC C +CC C C +'''BBB''' CC
+ CCXXXXXXXXXXXHHHHHHHHHXXXXXHXXHHHXHHXXHHHHHHHHHHHHHHHHHHHHHHHHXXXXXC C CXXXHHHXXX
+ CCCCCCCCCCCXXXXXXXXXCCCCCXCCXXXCXXCCXXXXXXXXXXXXXXXXXXXXXXXXCCCCC CCCXXXCCC
*'.-----------'''''''''..--------'--'''-'-'''''''''''''''''''''''''''''''----------..''.'''+''''''+-A=''+MXZ)-+1ZZZXXMM-=+--''''''++'
++'...........CCCCCCCCC''........C..CCC.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..........''++'+++C++++++CC C++C CCC..CCCCC+CC+
+C+'''''''''''BBBBBBBBB++''''''''B''BBB'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''''''''''++CC+CCC CCCCCC CC ''BBBBBC C
+ CXXXXXXXXXXXHHHHHHHHHCCXXXXXXXXHXXHHHXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXXXXXXXCC C XXHHHHH
+ CCCCCCCCCCCXXXXXXXXX CCCCCCCCXCCXXXCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCCCCCCC CCXXXXX
*..---------''''''''''-..--------''--''''-'''''''''''''''''''''''''''''''''''''''''''-'''''''''''--.'---.+MAAXAXX11)1+++1X+'.-''-'+++
+''.........CCCCCCCCCC.''........CC..CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCC..'+...'C C+'.CC.+CCC
+++'''''''''BBBBBBBBBB'++''''''''BB''BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBB''+C'''+ C+'BB'C
+CCXXXXXXXXXHHHHHHHHHHXCCXXXXXXXXHHXXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHXXC XXXC CXHHX
+ CCCCCCCCCXXXXXXXXXXC CCCCCCCCXXCCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXCC CCC CXXC
*..--------''''''''''--------------------'''''-'-'''-'-'''''''-''''''''''''''''''''''-''''''''''''-'''''''----.++++=+=-==++=-=.-.'+++
+''........CCCCCCCCCC....................CCCCC.C.CCC.C.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCC.CCCCCCC....'CCCCCCCCCCCCCCC'.'+CCC
+++''''''''BBBBBBBBBB''''''''''''''''''''BBBBB'B'BBB'B'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBB'BBBBBBB''''+ +'+C
+CCXXXXXXXXHHHHHHHHHHXXXXXXXXXXXXXXXXXXXXHHHHHXHXHHHXHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHXHHHHHHHXXXXC CXC
+ CCCCCCCCXXXXXXXXXXCCCCCCCCCCCCCCCCCCCCXXXXXCXCXXXCXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXCXXXXXXXCCCC C
*-.-------''''''-''------'------------'-'-''''''''''''''--''''''''''''''''''''''''''''''''''''''''''------.''''+++=+======++.'+--'+'+
+.'.......CCCCCC.CC......C............C.C.CCCCCCCCCCCCCC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC......'++++CCCCCCCCCCCCC'+C..+C+C
+'+'''''''BBBBBB'BB''''''B''''''''''''B'B'BBBBBBBBBBBBBB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''''''+CCCC +C ''C C
+XCXXXXXXXHHHHHHXHHXXXXXXHXXXXXXXXXXXXHXHXHHHHHHHHHHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXXXC C XX
+C CCCCCCCXXXXXXCXXCCCCCCXCCCCCCCCCCCCXCXCXXXXXXXXXXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCCC CC
*--------''''''''--------------.------'--'''''''''-'''''''''''''''''''''-'''''''''''''''''''''---.-'+MZXXMM---============+'''-''.'++
+........CCCCCCCC..............'......C..CCCCCCCCC.CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCC...'.+C CCCCCCCCCCCCCCCC+CC.CC'+CC
+''''''''BBBBBBBB''''''''''''''+''''''B''BBBBBBBBB'BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBB'''+'C CBB'BB+C
+XXXXXXXXHHHHHHHHXXXXXXXXXXXXXXCXXXXXXHXXHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHXXXCX HHXHHC
+CCCCCCCCXXXXXXXXCCCCCCCCCCCCCC CCCCCCXCCXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXCCC C XXCXX
*..----'''''''''------.--------------''--'''''''''''-''''''''''''''''''''''''-'''-''''''''''-.=+''.+-Z ---+=-+++1ZZXXXAAAA+------+++
+''....CCCCCCCCC......'..............CC..CCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCC.CCC.CCCCCCCCCC.'CC++'CC C......CCC
+++''''BBBBBBBBB''''''+''''''''''''''BB''BBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB'BBB'BBBBBBBBBB'+ CC+ ''''''
+CCXXXXHHHHHHHHHXXXXXXCXXXXXXXXXXXXXXHHXXHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHXHHHXHHHHHHHHHHXC C XXXXXX
+ CCCCXXXXXXXXXCCCCCC CCCCCCCCCCCCCCXXCCXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXCXXXCXXXXXXXXXXC CCCCCC
*..---''''''''--''------'---------------'''''''''''-'-''''''--'--''--'--''-'-''-'-''''''---.=+---..-AZ==- -- -- -- 1MA+'+
+''...CCCCCCCC..CC......C...............CCCCCCCCCCC.C.CCCCCC..C..CC..C..CC.C.CC.C.CCCCCC...'CC...''C C+C
+++'''BBBBBBBB''BB''''''B'''''''''''''''BBBBBBBBBBB'B'BBBBBB''B''BB''B''BB'B'BB'B'BBBBBB'''+ '''++ C
+CCXXXHHHHHHHHXXHHXXXXXXHXXXXXXXXXXXXXXXHHHHHHHHHHHXHXHHHHHHXXHXXHHXXHXXHHXHXHHXHXHHHHHHXXXC XXXCC
+ CCCXXXXXXXXCCXXCCCCCCXCCCCCCCCCCCCCCCXXXXXXXXXXXCXCXXXXXXCCXCCXXCCXCCXXCXCXXCXCXXXXXXCCC CCC
*----''''''''---------.--'---------------'-'-'-''''-'''''''''''''''-''''''''---..''--.''++'.'.-.'=-=AA1=- -------=---= +1='+
+....CCCCCCCC.........'..C...............C.C.C.CCCC.CCCCCCCCCCCCCCC.CCCCCCCC...''CC..'++CC+'+'.'+CCC C+C
+''''BBBBBBBB'''''''''+''B'''''''''''''''B'B'B'BBBB'BBBBBBBBBBBBBBB'BBBBBBBB'''++BB''+CC C+C+'+C C
+XXXXHHHHHHHHXXXXXXXXXCXXHXXXXXXXXXXXXXXXHXHXHXHHHHXHHHHHHHHHHHHHHHXHHHHHHHHXXXCCHHXXC C CXC
+CCCCXXXXXXXXCCCCCCCCC CCXCCCCCCCCCCCCCCCXCXCXCXXXXCXXXXXXXXXXXXXXXCXXXXXXXXCCC XXCC C
*----'''''''----------.-----------'---------''''-''''''''''''---'''--''-----''+-=.'+++-='--''.'+===+=MX==-+-- =--===-=- M'+
+....CCCCCCC..........'...........C.........CCCC.CCCCCCCCCCCC...CCC..CC.....++CCC'+CCCCC+..++'+CCCCCC +C
+''''BBBBBBB''''''''''+'''''''''''B'''''''''BBBB'BBBBBBBBBBBB'''BBB''BB'''''CC +C C''CC+C C
+XXXXHHHHHHHXXXXXXXXXXCXXXXXXXXXXXHXXXXXXXXXHHHHXHHHHHHHHHHHHXXXHHHXXHHXXXXX C XX C
+CCCCXXXXXXXCCCCCCCCCC CCCCCCCCCCCXCCCCCCCCCXXXXCXXXXXXXXXXXXCCCXXXCCXXCCCCC CC
*---''''''----------------------'-'---------''''''''''-''''''''--''------..'=-AAM=..------+..-.-++=+=-A+=-==---==- -+-= - - - M''
+...CCCCCC......................C.C.........CCCCCCCCCC.CCCCCCCC..CC......''+CC C''......C''.'CCCCCCC ++
+'''BBBBBB''''''''''''''''''''''B'B'''''''''BBBBBBBBBB'BBBBBBBB''BB''''''++C ++'''''' ++'+ CC
+XXXHHHHHHXXXXXXXXXXXXXXXXXXXXXXHXHXXXXXXXXXHHHHHHHHHHXHHHHHHHHXXHHXXXXXXCC CCXXXXXX CCXC
+CCCXXXXXXCCCCCCCCCCCCCCCCCCCCCCXCXCCCCCCCCCXXXXXXXXXXCXXXXXXXXCCXXCCCCCC CCCCCC C
*--''''''----------------.-----------------------'-'--''---''-'''--'--.'.==-AMA+----'--'--..-.+-'-===MX+=-=+-)=+==---=+ - - M''
+..CCCCCC................'.......................C.C..CC...CC.CCC..C..'+'CCC C....C..C..''.'CC+CCCC ++
+''BBBBBB''''''''''''''''+'''''''''''''''''''''''B'B''BB'''BB'BBB''B''+C+ ''''B''B''++'+ C CC
+XXHHHHHHXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXHXHXXHHXXXHHXHHHXXHXXC C XXXXHXXHXXCCXC
+CCXXXXXXCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCXCXCCXXCCCXXCXXXCCXCC CCCCXCCXCC C
*-''''''------------------------'----------------'-----''-'''--'----.-'-==M='--'''''-----''-'.+'+-====A)-=======--= === ==-- -''
+.CCCCCC........................C................C.....CC.CCC..C....'.+CCC C+..CCCCC.....CC.+'C+CCCCCC C++
+'BBBBBB''''''''''''''''''''''''B''''''''''''''''B'''''BB'BBB''B''''+'C C''BBBBB'''''BB'C+ C CC
+XHHHHHHXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXHXXXXXHHXHHHXXHXXXXCX XXHHHHHXXXXXHHX C
+CXXXXXXCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCXCCCCCXXCXXXCCXCCCC C CCXXXXXCCCCCXXC
*''''''-------------------------------'--------.--------'------'--..=+--''.-'''''''''-''---'-..+++==---1=+=++==- --=-= -=- -- -''
+CCCCCC...............................C........'........C......C..''CCCC++'.CCCCCCCCC.CC...C.''CCCCCCCC C++
+BBBBBB'''''''''''''''''''''''''''''''B''''''''+''''''''B''''''B''++ CC+'BBBBBBBBB'BB'''B'++ CC
+HHHHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXCXXXXXXXXHXXXXXXHXXCC CXHHHHHHHHHXHHXXXHXCC
+XXXXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCC CCCCCCCCXCCCCCCXCC CXXXXXXXXXCXXCCCXC
*'''''-----.--------------.--------'--'''-'''-----------''------+'=M-'--''--'''''-'''''''-'''--..===MMMX===)=-= -+==-==--=--= 1''
+CCCCC.....'..............'........C..CCC.CCC...........CC......C+C C+..CC..CCCCC.CCCCCCC.CCC..''CCC ++
+BBBBB'''''+''''''''''''''+''''''''B''BBB'BBB'''''''''''BB'''''' C C''BB''BBBBB'BBBBBBB'BBB''++ CC
+HHHHHXXXXXCXXXXXXXXXXXXXXCXXXXXXXXHXXHHHXHHHXXXXXXXXXXXHHXXXXXX XXHHXXHHHHHXHHHHHHHXHHHXXCC
+XXXXXCCCCC CCCCCCCCCCCCCC CCCCCCCCXCCXXXCXXXCCCCCCCCCCCXXCCCCCC CCXXCCXXXXXCXXXXXXXCXXXCC
*'''''----------------.----------'--------''''''-----------'-.+MX-.--''''''--''''''--''''-'-'-----.+MA-A)- =+==-=---=------ -''
+CCCCC................'..........C........CCCCCC...........C.'C C'..CCCCCC..CCCCCC..CCCC.C.C.....'C C ++
+BBBBB''''''''''''''''+''''''''''B''''''''BBBBBB'''''''''''B'+ +''BBBBBB''BBBBBB''BBBB'B'B'''''+ CC
+HHHHHXXXXXXXXXXXXXXXXCXXXXXXXXXXHXXXXXXXXHHHHHHXXXXXXXXXXXHXC CXXHHHHHHXXHHHHHHXXHHHHXHXHXXXXXC
+XXXXXCCCCCCCCCCCCCCCC CCCCCCCCCCXCCCCCCCCXXXXXXCCCCCCCCCCCXC CCXXXXXXCCXXXXXXCCXXXXCXCXCCCCC
*'''--'.---..--.--------------------'--'--''-'-'---------..'+MA=''''''''''''--'-''''-''''''''-''---''A-X) +)==-=-+===---= Z''
+CCC..+'...''..'....................C..C..CC.C.C.........''+C C+CCCCCCCCCCC..C.CCCC.CCCCCCCC.CC...++ C ++
+BBB''C+'''++''+''''''''''''''''''''B''B''BB'B'B'''''''''++C CBBBBBBBBBBB''B'BBBB'BBBBBBBB'BB'''CC CC
+HHHXX CXXXCCXXCXXXXXXXXXXXXXXXXXXXXHXXHXXHHXHXHXXXXXXXXXCC HHHHHHHHHHHXXHXHHHHXHHHHHHHHXHHXXX
+XXXCC CCC CC CCCCCCCCCCCCCCCCCCCCXCCXCCXXCXCXCCCCCCCCC XXXXXXXXXXXCCXCXXXXCXXXXXXXXCXXCCC
*''-.-.----.------------------------'----'''-'-'''-------=MM-+-'''''-''''''''---'''''''''''''''''-----=A1 -+===----=-=---- =''
+CC.'.'....'........................C....CCC.C.CCC.......C CC.CCCCC.CCCCCCCC...CCCCCCCCCCCCCCCCC....CC ++
+BB'+'+''''+''''''''''''''''''''''''B''''BBB'B'BBB''''''' 'BBBBB'BBBBBBBB'''BBBBBBBBBBBBBBBBB'''' CC
+HHXCXCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXHXXXXHHHXHXHHHXXXXXXX XHHHHHXHHHHHHHHXXXHHHHHHHHHHHHHHHHHXXXX
+XXC C CCCC CCCCCCCCCCCCCCCCCCCCCCCCXCCCCXXXCXCXXXCCCCCCC CXXXXXCXXXXXXXXCCCXXXXXXXXXXXXXXXXXCCCC
*'--'-.-..-------.---.--------------------''-----'--'+=-Z+-'---'''''-'''''''''--''''''''''''''''''''-=+MZ--======--=-==--==- --+'
+C..+.'.''.......'...'....................CC.....C..+CCC C+...CCCCC.CCCCCCCCC..CCCCCCCCCCCCCCCCCCCC.CC C+
+B''C'+'++'''''''+'''+''''''''''''''''''''BB'''''B''C C'''BBBBB'BBBBBBBBB''BBBBBBBBBBBBBBBBBBBB' C
+HXX XCXCCXXXXXXXCXXXCXXXXXXXXXXXXXXXXXXXXHHXXXXXHXX XXXHHHHHXHHHHHHHHHXXHHHHHHHHHHHHHHHHHHHHX
+XCC C C CCCCCCC CCC CCCCCCCCCCCCCCCCCCCCXXCCCCCXCC CCCXXXXXCXXXXXXXXXCCXXXXXXXXXXXXXXXXXXXXC
*-.-.------'-------------------------..-....'-1=-A=A =-''-'''''---'''''''----'-''-'''''''''''''-++AZ -==--= -= -= =--- --+
+.'.'......+.........................''.''''+C C C.CC.CCCCC...CCCCCCC....C.CC.CCCCCCCCCCCCC.CC CC
+'+'+''''''C'''''''''''''''''''''''''++'++++C 'BB'BBBBB'''BBBBBBB''''B'BB'BBBBBBBBBBBBB'
+XCXCXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXCCXCCCC XHHXHHHHHXXXHHHHHHHXXXXHXHHXHHHHHHHHHHHHHX
+C C CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC C CXXCXXXXXCCCXXXXXXXCCCCXCXXCXXXXXXXXXXXXXC
*.-.-------.----------.--.--..'++'+'.+=+-..+Z +=-= 1--'-'-'''-'-''''''''-'-''''''''''''''''''.--MA=++==----==- - += =--M'
+'.'.......'..........'..'..''+CC+C+'CCCC''C CC ..C.C.CCC.C.CCCCCCCC.C.CCCCCCCCCCCCCCCCCC'.C +
++'+'''''''+''''''''''+''+''++C C C+ ++ ''B'B'BBB'B'BBBBBBBB'B'BBBBBBBBBBBBBBBBBB+' C
+CXCXXXXXXXCXXXXXXXXXXCXXCXXCC C CC XXHXHXHHHXHXHHHHHHHHXHXHHHHHHHHHHHHHHHHHHCX
+ C CCCCCCC CCCCCCCCCC CC CC CCXCXCXXXCXCXXXXXXXXCXCXXXXXXXXXXXXXXXXXX C
*--.--.------.---------..-.+=+===''.-.'--.M+ -Z-A= +''''''''''-''''''''-'''-''''''''''''''''--'-A+=++ -=-==- ==- =- 1'
+..'..'......'.........''.'CCCCCC++'.'+..' C CCCCCCCCCCC.CCCCCCCC.CCC.CCCCCCCCCCCCCCCC..+C +
+''+''+''''''+'''''''''++'+ CC+'+C''+ BBBBBBBBBB'BBBBBBBB'BBB'BBBBBBBBBBBBBBBB''C C
+XXCXXCXXXXXXCXXXXXXXXXCCXC CXC XXC HHHHHHHHHHXHHHHHHHHXHHHXHHHHHHHHHHHHHHHHXX
+CC CC CCCCCC CCCCCCCCC C C CC XXXXXXXXXXCXXXXXXXXCXXXCXXXXXXXXXXXXXXXXCC
*-..-----.---.----------..'++'..---'----') -A+X 1''''-'''''''-''''''''-'-'''''''''''''''-...+A+-=+ -==--- -=-- --- =+
+.''.....'...'..........''+CC+''...C....+ C CCCC.CCCCCCC.CCCCCCCC.C.CCCCCCCCCCCCCCC.'''C C
+'++'''''+'''+''''''''''++C C++'''B''''C BBBB'BBBBBBB'BBBBBBBB'B'BBBBBBBBBBBBBBB'+++
+XCCXXXXXCXXXCXXXXXXXXXXCC CCXXXHXXXX HHHHXHHHHHHHXHHHHHHHHXHXHHHHHHHHHHHHHHHXCCC
+C CCCCC CCC CCCCCCCCCC CCCXCCCC XXXXCXXXXXXXCXXXXXXXXCXCXXXXXXXXXXXXXXXC
*-.--------..---------.-...-----------+Z- ++=- .''-''-'--'---''''''''''''-''''''''''-+-..'-M=-=+=-==+-= - =- - +
+.'........''.........'.'''...........C CC 'CC.CC.C..C...CCCCCCCCCCCC.CCCCCCCCCC.C.''+C C
+'+''''''''++'''''''''+'+++''''''''''' +BB'BB'B''B'''BBBBBBBBBBBB'BBBBBBBBBB' '++C
+XCXXXXXXXXCCXXXXXXXXXCXCCCXXXXXXXXXXX CHHXHHXHXXHXXXHHHHHHHHHHHHXHHHHHHHHHHX XCC
+C CCCCCCCC CCCCCCCCC C CCCCCCCCCCC XXCXXCXCCXCCCXXXXXXXXXXXXCXXXXXXXXXXC C
*-.---.-----.---.----------------'--'X+ )MM--'-''''-'-''''''''''-''-'-'''''''''''-'--'-M1====-====+++ -- -
+.'...'.....'...'................C..+ C.C.CCCC.C.CCCCCCCCCC.CC.C.CCCCCCCCCCC.+..+C C
+'+'''+'''''+'''+''''''''''''''''B''C 'B'BBBB'B'BBBBBBBBBB'BB'B'BBBBBBBBBBB'C''C
+XCXXXCXXXXXCXXXCXXXXXXXXXXXXXXXXHXX XHXHHHHXHXHHHHHHHHHHXHHXHXHHHHHHHHHHHX XX
+C CCC CCCCC CCC CCCCCCCCCCCCCCCCXCC CXCXXXXCXCXXXXXXXXXXCXXCXCXXXXXXXXXXXC CC
*---------------------------------'X1 = +Z+-''''--''-''''''''''-'-''''''''''''''--.+=-1-=--==-+=-+== -- Z
+.................................+ C.CCCC..CC.CCCCCCCCCC.C.CCCCCCCCCCCCCC..'CCC
+'''''''''''''''''''''''''''''''''C 'BBBB''BB'BBBBBBBBBB'B'BBBBBBBBBBBBBB''+
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XHHHHXXHHXHHHHHHHHHHXHXHHHHHHHHHHHHHHXXC
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CXXXXCCXXCXXXXXXXXXXCXCXXXXXXXXXXXXXXCC
*----.---------------------------+1 --- - - =-'''''--''''''''''''-'''''''''''''''.'.-+=M)-+=====+-====- === +
+....'...........................C .CCCCC..CCCCCCCCCCCC.CCCCCCCCCCCCCCC'C'.CC
+''''+''''''''''''''''''''''''''' 'BBBBB''BBBBBBBBBBBB'BBBBBBBBBBBBBBB+B+'
+XXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXX XHHHHHXXHHHHHHHHHHHHXHHHHHHHHHHHHHHHCHCX
+CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC CXXXXXCCXXXXXXXXXXXXCXXXXXXXXXXXXXXX X C
*----.---------------------------= - -- -- -- Z-'''-----'''''''''''''''-''-''--'''''.'=-A+-+=== == ++== =+=--- =--
+....'..........................C .CCC.....CCCCCCCCCCCCCCC.CC.CC..CCCCC'+CC
+''''+'''''''''''''''''''''''''' 'BBB'''''BBBBBBBBBBBBBBB'BB'BB''BBBBB+C
+XXXXCXXXXXXXXXXXXXXXXXXXXXXXXXX XHHHXXXXXHHHHHHHHHHHHHHHXHHXHHXXHHHHHC
+CCCC CCCCCCCCCCCCCCCCCCCCCCCCCC CXXXCCCCCXXXXXXXXXXXXXXXCXXCXXCCXXXXX
*----------------------------.+A- ----=---- = --'''''-'''--''''''''''''-''-'''''''-'-'=-M1 =++==+==+=-=-=+==-= -
+............................'C .CCCCC.CCC..CCCCCCCCCCCC.CC.CCCCCCC.C.+CC
+''''''''''''''''''''''''''''+ 'BBBBB'BBB''BBBBBBBBBBBB'BB'BBBBBBB'B'C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXC XHHHHHXHHHXXHHHHHHHHHHHHXHHXHHHHHHHXHX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCC CXXXXXCXXXCCXXXXXXXXXXXXCXXCXXXXXXXCXC
*---------------------------.A+- --- ------- +-.--'''''-'''''--''''''-''''--'''''''.--=--A1 =+==-+=++===++=---- --
+...........................' C'..CCCCC.CCCCC..CCCCCC.CCCC..CCCCCCC'..CCC
+'''''''''''''''''''''''''''+ +''BBBBB'BBBBB''BBBBBB'BBBB''BBBBBBB+''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXC CXXHHHHHXHHHHHXXHHHHHHXHHHHXXHHHHHHHCXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCC CCXXXXXCXXXXXCCXXXXXXCXXXXCCXXXXXXX CC
*--------------------'------Z= -=--- - - =)X=-'''-'''''''''--'''''''''''''''''''--'-.-'--Z= -==+=+-+=-==)=+=-+=- -
+....................C...... C.CCC.CCCCCCCCC..CCCCCCCCCCCCCCCCCCC..C.'.+CC
+''''''''''''''''''''B'''''' 'BBB'BBBBBBBBB''BBBBBBBBBBBBBBBBBBB''B'+'C
+XXXXXXXXXXXXXXXXXXXXHXXXXXX XHHHXHHHHHHHHHXXHHHHHHHHHHHHHHHHHHHXXHXCX
+CCCCCCCCCCCCCCCCCCCCXCCCCCC CXXXCXXXXXXXXXCCXXXXXXXXXXXXXXXXXXXCCXC C
*--.-.----------------''-.++-XZZ11Z+ -- -Z'-'''''''--''''''--'-'''''''''-'''''''''''-.-..=-X= -====+)=---==++----
+..'.'................CC.'CCC +.CCCCCCC..CCCCCC..C.CCCCCCCCC.CCCCCCCCCCC.'.''CC
+''+'+''''''''''''''''BB'+ C'BBBBBBB''BBBBBB''B'BBBBBBBBB'BBBBBBBBBBB'+'++
+XXCXCXXXXXXXXXXXXXXXXHHXC XHHHHHHHXXHHHHHHXXHXHHHHHHHHHXHHHHHHHHHHHXCXCC
+CC C CCCCCCCCCCCCCCCCXXC CXXXXXXXCCXXXXXXCCXCXXXXXXXXXCXXXXXXXXXXXC C
*---------.------'------'==''AZXXXAMM+ =M----------'''-'''''''''''''''''''''''''''''''---.=-M1- - ====)+-=====-==- - -
+.........'......C......+CC++ ..........CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...'CC
+'''''''''+''''''B''''''C CC ''''''''''BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''+
+XXXXXXXXXCXXXXXXHXXXXXX XXXXXXXXXXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXC
+CCCCCCCCC CCCCCCXCCCCCC CCCCCCCCCCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCC
*--------------''''----.'+..+AZZXXM'''M- --+ZXX=----'---'--'''--'''''''''-'''''''''--''''-''''''''=-A1 ---=-=+=+=+=-======---==-
+..............CCCC....'+C''C +++ C....+...C..CCC..CCCCCCCCC.CCCCCCCCC..CCCC.CCCCCC++CC
+''''''''''''''BBBB''''+C ++ CCC ''''C'''B''BBB''BBBBBBBBB'BBBBBBBBB''BBBB'BBBBBBCC
+XXXXXXXXXXXXXXHHHHXXXXC CC XXXX XXXHXXHHHXXHHHHHHHHHXHHHHHHHHHXXHHHHXHHHHHH
+CCCCCCCCCCCCCCXXXXCCCC CCCC CCCXCCXXXCCXXXXXXXXXCXXXXXXXXXCCXXXXCXXXXXX
*-----------'-'''''--...--.--'-MMXM'--.M1ZZZAM+'.-.---.=-'----.--'--''''''''''''''''''''''''''''''--+'--M= --=======++=-=+=+++++++--
+...........C.CCCCC..'''..'..+C +..' C+'.'...'CC+....'..C..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..C+CC
+'''''''''''B'BBBBB''+++''+''C C''+ C+'+'''+ C''''+''B''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'' C
+XXXXXXXXXXXHXHHHHHXXCCCXXCXX XXC CXCXXXC XXXXCXXHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXX
+CCCCCCCCCCCXCXXXXXCC CC CC CC C CCC CCCC CCXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC
*--------'-''-''----''.+..'-'---'-..-..+=++++.-.--..----'-----..-''--''''''''''--''''''-.''''''''''.-.=MA1 --+-= -==-+)++-=+++++)=-
+........C.CC.CC....++'C''+.C...C.''.''CCCCCC'.'..''....+.....''.CC..CCCCCCCCCC..CCCCCC.'CCCCCCCCCC'.'C
+''''''''B'BB'BB''''CC+ ++C'B'''B'++'++ +'+''++''''C'''''++'BB''BBBBBBBBBB''BBBBBB'+BBBBBBBBBB+'+
+XXXXXXXXHXHHXHHXXXX C CC XHXXXHXCCXCC CXCXXCCXXXX XXXXXCCXHHXXHHHHHHHHHHXXHHHHHHXCHHHHHHHHHHCXC
+CCCCCCCCXCXXCXXCCCC CXCCCXC C C CC CCCC CCCCC CXXCCXXXXXXXXXXCCXXXXXXC XXXXXXXXXX C
*----''''''''''---.'++'..++----''----.''='++'''.-.+'----.------.-''---''''''''''-'''''''''''''''''''.M.=A1-===+===++-==+=++=+++)+=+
+....CCCCCCCCCC...'+CC+''CC....CC....'++C+CC+++'.'C+....'......'.CC...CCCCCCCCCC.CCCCCCCCCCCCCCCCCCC' 'C
+''''BBBBBBBBBB'''+C C++ ''''BB''''+CC C CCC+'+ C''''+''''''+'BB'''BBBBBBBBBB'BBBBBBBBBBBBBBBBBBB+ +
+XXXXHHHHHHHHHHXXXC CC XXXXHHXXXXC CXC XXXXCXXXXXXCXHHXXXHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHC C
+CCCCXXXXXXXXXXCCC CCCCXXCCCC C CCCC CCCCCC CXXCCCXXXXXXXXXXCXXXXXXXXXXXXXXXXXXX
*---''''''''''---.'+''..''+.--'''''---..+++.....-''------...------''-'''''''''''''''''''-''''''''-'.+==MM) =+=-======-===-=+++=+==+
+...CCCCCCCCCC...'+C++''++C'..CCCCC...''CCC'''''.++......'''......CC.CCCCCCCCCCCCCCCCCCC.CCCCCCCC.C'CCC
+'''BBBBBBBBBB'''+C CC++CC +''BBBBB'''++ +++++'CC''''''+++''''''BB'BBBBBBBBBBBBBBBBBBB'BBBBBBBB'B+
+XXXHHHHHHHHHHXXXC CC CXXHHHHHXXXCC CCCCCX XXXXXXCCCXXXXXXHHXHHHHHHHHHHHHHHHHHHHXHHHHHHHHXHC
+CCCXXXXXXXXXXCCC CCXXXXXCCC C CCCCCC CCCCCCXXCXXXXXXXXXXXXXXXXXXXCXXXXXXXXCX
*''''''''''----.--..'---.''.--'''------'=+.-..'....------.....--.-'''-'''''''''''''''''''''-'''''.-.''+-A1 -+==-=====--==-=++===-=+-
+CCCCCCCCCC....'..''+...'++'..CCC......+CC'.''+''''......'''''..'.CCC.CCCCCCCCCCCCCCCCCCCCC.CCCCC'.'++CC
+BBBBBBBBBB''''+''++C'''+CC+''BBB''''''C +'++C++++''''''+++++''+'BBB'BBBBBBBBBBBBBBBBBBBBB'BBBBB+'+CC
+HHHHHHHHHHXXXXCXXCC XXXC CXXHHHXXXXXX CXCC CCCCXXXXXXCCCCCXXCXHHHXHHHHHHHHHHHHHHHHHHHHHXHHHHHCXC
+XXXXXXXXXXCCCC CC CCC CCXXXCCCCCC C CCCCCC CC CXXXCXXXXXXXXXXXXXXXXXXXXXCXXXXX C
*'''''''''----------.---....--''--..-.'++---.-''.--------........--'--'''''''''''''''''''''''''''--'--+MA)=--= -==+-=--====-+=--===-
+CCCCCCCCC..........'...''''..CC..''.'+CC...'.++'........''''''''..C..CCCCCCCCCCCCCCCCCCCCCCCCCCC..C..C
+BBBBBBBBB''''''''''+'''++++''BB''++'+C '''+'CC+''''''''++++++++''B''BBBBBBBBBBBBBBBBBBBBBBBBBBB''B''
+HHHHHHHHHXXXXXXXXXXCXXXCCCCXXHHXXCCXC XXXCX CXXXXXXXXCCCCCCCCXXHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHXX
+XXXXXXXXXCCCCCCCCCC CCC CCXXCC C CCC C CCCCCCCC CCXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXCC
*'''''''----.----------'------'''---.-'+.----''...--------...-...---''''''''''''''''''''''''''''''''..'1 1-------+===---==+= =----
+CCCCCCC....'..........C......CCC...'.+C'....++'''........'''.'''...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC''+
+BBBBBBB''''+''''''''''B''''''BBB'''+'C +''''CC+++''''''''+++'+++'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB++C
+HHHHHHHXXXXCXXXXXXXXXXHXXXXXXHHHXXXCX CXXXX CCCXXXXXXXXCCCXCCCXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHCC
+XXXXXXXCCCC CCCCCCCCCCXCCCCCCXXXCCC C CCCC CCCCCCCC C CCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*-'''-''-.--'''--------------.-''---..''-----..'''---------..-...-----'''''''''''''''''''''''''''''--.+-MZ- -= -====---=+==---=- -
+.CCC.CC.'..CCC..............'.CC...''++.....''+++.........''.'''.....CCCCCCCCCCCCCCCCCCCCCCCCCCCCC..'CC
+'BBB'BB'+''BBB''''''''''''''+'BB'''++CC'''''++CCC'''''''''++'+++'''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBB''+
+XHHHXHHXCXXHHHXXXXXXXXXXXXXXCXHHXXXCC XXXXXCC XXXXXXXXXCCXCCCXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXC
+CXXXCXXC CCXXXCCCCCCCCCCCCCC CXXCCC CCCCC CCCCCCCCC C CCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC
*--'----.---''''----------'--'-''-'-'.------..''..---------...----.-----'''''''''''''''''''''''''''''.-=MX- ===+======+==--== ==
+..C....'...CCCC..........C..+.CC.C.+'......''++''.........'''....'.....CCCCCCCCCCCCCCCCCCCCCCCCCCCCC'.C
+''B''''+'''BBBB''''''''''B''C'BB'B'C+''''''++CC++'''''''''+++''''+'''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBB+'
+XXHXXXXCXXXHHHHXXXXXXXXXXHXX XHHXHX CXXXXXXCC CCXXXXXXXXXCCCXXXXCXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHCX
+CCXCCCC CCCXXXXCCCCCCCCCCXCC CXXCXC CCCCCC CCCCCCCCC CCCC CCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXX C
*-'--''=+----'''----------'-'..--''-..------.''..--.--------...--.-.-----'''''''''''''''''''''''''''--.-MZ= -+=====--===-=+ ==--
+.+..++CC....CCC..........C.C''..CC.''......'++''..'........'''..'.'.....CCCCCCCCCCCCCCCCCCCCCCCCCCC..'C
+'C''CC ''''BBB''''''''''B'B++''BB'++''''''+CC++''+''''''''+++''+'+'''''BBBBBBBBBBBBBBBBBBBBBBBBBBB''+
+X XX XXXXHHHXXXXXXXXXXHXHCCXXHHXCCXXXXXXC CCXXCXXXXXXXXCCCXXCXCXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHXXC
+C CC CCCCXXXCCCCCCCCCCXCX CCXXC CCCCCC CC CCCCCCCC CC C CCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXCC
*----M-------'''''-''----'-'--..----..-.---.'....------.----.-.----------'''''''''''''''''''''''''''--='M1= -- -+=- -== ====++)Z1)1
+...C C......CCCCC.CC....C.C..''....''.'...'+''''......'....'.'..........CCCCCCCCCCC+CCCCCCCCCCCCCCC..C+
+''' ''''''BBBBB'BB''''B'B''++''''++'+'''+C++++''''''+''''+'+''''''''''BBBBBBBBBBBCBBBBBBBBBBBBBBB'' C
+XXX XXXXXXHHHHHXHHXXXXHXHXXCCXXXXCCXCXXXC CCCCXXXXXXCXXXXCXCXXXXXXXXXXHHHHHHHHHHH HHHHHHHHHHHHHHHXX
+CCC CCCCCCXXXXXCXXCCCCXCXCC CCCC C CCC CCCCCC CCCC C CCCCCCCCCCXXXXXXXXXXX XXXXXXXXXXXXXXXCC
*+'-M'-------'-''''-'-------''-.----.------....-...---------...-----------'''''''''-A'''''''''''''''--.+M1= - +- -==+ZZX1))XM--'
+C+C +.......C.CCCC.C.......CC.'....'......''''.'''.........'''...........CCCCCCCCCC CCCCCCCCCCCCCCC..'C CC+
+ C C'''''''B'BBBB'B'''''''BB'+''''+''''''++++'+++'''''''''+++'''''''''''BBBBBBBBB BBBBBBBBBBBBBBB''+ C
+ XXXXXXXHXHHHHXHXXXXXXXHHXCXXXXCXXXXXXCCCCXCCCXXXXXXXXXCCCXXXXXXXXXXXHHHHHHHHH HHHHHHHHHHHHHHHXXC
+ CCCCCCCXCXXXXCXCCCCCCCXXC CCCC CCCCCC C CCCCCCCCC CCCCCCCCCCCXXXXXXXXX XXXXXXXXXXXXXXXCC
*-='-----------''''-'-------''-.---..----..-..--.-.---------....----------'''''''''--''''''''''''''''-.=A) - +====+X-+.'+=-+'-.''
+CC+...........CCCC.C.......CC.'...''....''.''..'.'.........''''..........CCCCCCCCC..CCCCCCCCCCCCCCCC.'C CC'+CCCC+.'++
+ C'''''''''''BBBB'B'''''''BB'+'''++''''++'++''+'+'''''''''++++''''''''''BBBBBBBBB''BBBBBBBBBBBBBBBB'+ +C C'+CC
+ XXXXXXXXXXXHHHHXHXXXXXXXHHXCXXXCCXXXXCCXCCXXCXCXXXXXXXXXCCCCXXXXXXXXXXHHHHHHHHHXXHHHHHHHHHHHHHHHHXC C XC
+ CCCCCCCCCCCXXXXCXCCCCCCCXXC CCC CCCC C CC C CCCCCCCCC CCCCCCCCCCXXXXXXXXXCCXXXXXXXXXXXXXXXXC C
*-''------------''''''-------''-.--.....-..-..........-.+......-------'''-'''''''''''''''''''''''''''-.MXZ--=11XX+'..--'''------++=A-
+.CC............CCCCCC.......CC.'..'''''.''.''''''''''.'C''''''.......CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCC.' C+''..CCC.....CCCC C
+'BB''''''''''''BBBBBB'''''''BB'+''+++++'++'++++++++++'+ ++++++'''''''BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB'+ C++''BBB'''''
+XHHXXXXXXXXXXXXHHHHHHXXXXXXXHHXCXXCCCCCXCCXCCCCCCCCCCXC CCCCCCXXXXXXXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHXC CCXXHHHXXXXX
+CXXCCCCCCCCCCCCXXXXXXCCCCCCCXXC CC C C C CCCCCCCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXC CCXXXCCCCC
*-''-----.--------''''----------.---..---....'.''..'..'''...---------'''''''''''''''''''''''''''''----'''+.--''''''''''--.-.'=+MX=.--
+.CC.....'........CCCC..........'...''...''''+'++''+''+++'''.........CCCCCCCCCCCCCCCCCCCCCCCCCCCCC....+++C'..CCCCCCCCCC..'.'+CC C'..
+'BB'''''+''''''''BBBB''''''''''+'''++'''++++C+CC++C++CCC+++'''''''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBB''''CCC +''BBBBBBBBBB''+'+C +''
+XHHXXXXXCXXXXXXXXHHHHXXXXXXXXXXCXXXCCXXXCCCC C CC CC CCCXXXXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXX CXXHHHHHHHHHHXXCXC CXX
+CXXCCCCC CCCCCCCCXXXXCCCCCCCCCC CCC CCC CCCCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCC CCXXXXXXXXXXCC C CC
*--''---------..----'''--------'-.'............--..-......-.-----'''''''''''''''''''''''''''-'''------'''''''''--------.'MA==+.....'=
+..CC.........''....CCC........C.'+''''''''''''..''.''''''.'.....CCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC......CCCCCCCCC........'+ CCC'''''+C
+''BB'''''''''++''''BBB''''''''B'+C++++++++++++''++'++++++'+'''''BBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB''''''BBBBBBBBB''''''''+C +++++C
+XXHHXXXXXXXXXCCXXXXHHHXXXXXXXXHXC CCCCCCCCCCCCXXCCXCCCCCCXCXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHXXXXXXHHHHHHHHHXXXXXXXXC CCCCC
+CCXXCCCCCCCCC CCCCXXXCCCCCCCCXC CC C C CCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXCCCCCCXXXXXXXXXCCCCCCCC
*--------------------''---------'-++''''''--------------.---.--'''''''''''''''''''''''''''''''''--'''''''''-------'-AMAAXZ1Z111)))+==
+....................CC.........C.CC++++++..............'...'..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..CCCCCCCCC.......+C
+''''''''''''''''''''BB'''''''''B' CCCCCC''''''''''''''+'''+''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''BBBBBBBBB'''''''C
+XXXXXXXXXXXXXXXXXXXXHHXXXXXXXXXHX XXXXXXXXXXXXXXCXXXCXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHHHHHHHXXXXXXX
+CCCCCCCCCCCCCCCCCCCCXXCCCCCCCCCXC CCCCCCCCCCCCCC CCC CCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXXXXXXXCCCCCCC
*'-.-------------------'-----------''.''.-'''--------'--''----''''''''''''''''''''''''''----''''--''-------.+'..'=X+ -------=--=++=-
+C.'...................C...........++'++'.CCC........C..CC....CCCCCCCCCCCCCCCCCCCCCCCCCC....CCCC..CC.......'C+''+C
+B'+'''''''''''''''''''B'''''''''''CC+CC+'BBB''''''''B''BB''''BBBBBBBBBBBBBBBBBBBBBBBBBB''''BBBB''BB'''''''+ C++C
+HXCXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXX C CXHHHXXXXXXXXHXXHHXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXHHHHXXHHXXXXXXXC CC
+XC CCCCCCCCCCCCCCCCCCCXCCCCCCCCCCC CXXXCCCCCCCCXCCXXCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCXXXXCCXXCCCCCCC
*''-------------------.------.-----.'..----''''''''''''''''''''''''''''''''''''-'-''''''--''''''--..+--='..++X1Z1- -++--=-=--=+1++
+CC...................'......'.....'+''....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.CCCCCC..CCCCCC..''CCCC+''CC
+BB'''''''''''''''''''+''''''+'''''+C++''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B'BBBBBB''BBBBBB''++ C++
+HHXXXXXXXXXXXXXXXXXXXCXXXXXXCXXXXXC CCXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXHHHHHHXXHHHHHHXXCC CC
+XXCCCCCCCCCCCCCCCCCCC CCCCCC CCCCC CCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCXXXXXXCCXXXXXXCC
*------..---------------...--........'--.-'''''''''''''''''''''''''''''--...--+A'-''''''-'''''''--..++=MM+=+'A- )+==----===+)+
+......''...............'''..''''''''+..'.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC..'''..C +.CCCCCC.CCCCCCC..''CCC CCC+
+''''''++'''''''''''''''+++''++++++++C''+'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB''+++'' C'BBBBBB'BBBBBBB''++ C
+XXXXXXCCXXXXXXXXXXXXXXXCCCXXCCCCCCCC XXCXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXCCCXX XHHHHHHXHHHHHHHXXCC
+CCCCCC CCCCCCCCCCCCCCC CC CC CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC CC CXXXXXXCXXXXXXXCC
*'----------.-.---''----------.-------''-''''''''''''''''''''''-'-.+-MA))ZAX1+'++--'''''-''''--.'''+=--A---'=-- - =)+==+=+==-=))
+C..........'.'...CC..........'.......CC.CCCCCCCCCCCCCCCCCCCCCC.C.'CC C+ C.CCCCC.CCCC..'+++CCCC C..CC
+B''''''''''+'+'''BB''''''''''+'''''''BB'BBBBBBBBBBBBBBBBBBBBBB'B'+ C 'BBBBB'BBBB''+CCC ''B
+HXXXXXXXXXXCXCXXXHHXXXXXXXXXXCXXXXXXXHHXHHHHHHHHHHHHHHHHHHHHHHXHXC XHHHHHXHHHHXXC XXH
+XCCCCCCCCCC C CCCXXCCCCCCCCCC CCCCCCCXXCXXXXXXXXXXXXXXXXXXXXXXCXC CXXXXXCXXXXCC CCX
*''''-------'----''--'--'-''''''''''''''''''''''''''''''''--.+MZ+-- == = Z.''--'''--.+M+===''''''.- -= = +===-=== =++)
+CCCC.......C....CC..C..C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..'C 'CC..CCC..'C +CCCCC'
+BBBB'''''''B''''BB''B''B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''+ +BB''BBB''+ CBBBBB+
+HHHHXXXXXXXHXXXXHHXXHXXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXC CHHXXHHHXXC HHHHHC
+XXXXCCCCCCCXCCCCXXCCXCCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC XXCCXXXCC XXXXX
*----'-'---'-------''----'''''''''''''''-------..'+=-AXZ1)= -- )- M--.'+===MZ= -=''''''-= -- -= )++===+++)==+
+....C.C...C.......CC....CCCCCCCCCCCCCCC.......''+CCC ..'+CCCC CCCCCCC.
+''''B'B'''B'''''''BB''''BBBBBBBBBBBBBBB'''''''++C ''+C BBBBBB'
+XXXXHXHXXXHXXXXXXXHHXXXXHHHHHHHHHHHHHHHXXXXXXXCC XXC HHHHHHX
+CCCCXCXCCCXCCCCCCCXXCCCCXXXXXXXXXXXXXXXCCCCCCC CC XXXXXXC
*----.--.-.++.'.-.-'----------'.'+=-MAX1)++1)=++)++== -=--- ----=+---- ---- ++ZZM'--+-X)=1)=- -A''''''-- - - +++++++=+))++
+....'..'.'CC'+'.'.C..........+'+CCC +..CC CCCCCC.C
+''''+''+'+ +C+'+'B''''''''''C+C C'' BBBBBB'
+XXXXCXXCXC C CXCXHXXXXXXXXXX C XX HHHHHHX
+CCCC CC C C CXCCCCCCCCCC CC XXXXXXC
*''-.+--..-AM+='.''..'AA1X11==- - =-====-++=+==----=++==- -+1A=+.+=MMM1- +===)=''''''-M---- - -- +)=++==+)))))
+CC.'C..''C CC+'++''+ CC'CC CCCCCCC.
+BB'+ ''++ C+CC++C + BBBBBB'
+HHXC XXCC C CC C HHHHHHX
+XXC CC XXXXXXC
*''------.+=MAXZXZ))X-Z --=-===---==-+-==--+1M+.-.'=M1)MAZ= -+A'-''''''-X-=--- -- -=+==-+-)++))
+CC......'CC C C'.'+C +.CCCCCC.
+BB''''''+ +'+C C'BBBBBB'
+HHXXXXXXC CXC XHHHHHHX
+XXCCCCCC C CXXXXXXC
*''---------.''.'-=''M -==+ZM+.-.=AXX1- Z-'''-..-''''''''-M= =-=-===- - =+)+===++=++
+CC.........'++'+CC++ C'.'C .CCC.''.CCCCCCCC.
+BB'''''''''+CC+C CC +'+ 'BBB'++'BBBBBBBB'
+HHXXXXXXXXXC C CXC XHHHXCCXHHHHHHHHX
+XXCCCCCCCCC C CXXXC CXXXXXXXXC
*''----------''--.'=MZ +ZM-++.+-A1=-- M-''''''''''''-=1---=-++==-=-- = )1)+=+=++))
+CC..........++..'+C CCC'CC .CCCCCCCCCCCC.C
+BB''''''''''CC''+C + 'BBBBBBBBBBBB'
+HHXXXXXXXXXX XXC C XHHHHHHHHHHHHX
+XXCCCCCCCCCC CC CXXXXXXXXXXXXC
*''''---------.++-MXX1 =1-'..+-ZZ+- - -- -1+-'''''--'M1===--===))++=-=-- - =)1=+=+=))+
+CCCC.........'CCC C+''CC C.CCCCC..+
+BBBB'''''''''+ C++ 'BBBBB''C
+HHHHXXXXXXXXXC CC XHHHHHXX
+XXXXCCCCCCCCC CXXXXXCC
*--''---------.+XZAXX - - =X-+.-.=MZ) -- - +)ZZ)=- -===+++)))+-=-= - +))+++)+==)
+..CC.........'C CC'.'C
+''BB'''''''''+ +'+
+XXHHXXXXXXXXXC CXC
+CCXXCCCCCCCCC C
*AA.''--------.+-M-M1 -1M+..+-Z1) -=------ =+==++))1)+=-- )))++)++)+)
+ 'CC........'CC C C''CC
+ +BB''''''''+ ++
+ CHHXXXXXXXXC CC
+ XXCCCCCCCC
*'+----------.+'+=-X +1AM=..'=A+ -)+++=++)+)+== )1+++)+++)+
++C..........'C+CCC C''+C
+C ''''''''''+ C ++C
+ XXXXXXXXXXC CC
+ CCCCCCCCCC
*-----------.'+++--) )X-'''-XXX)=- =)1+ - -===- -=++==+== +)+)111)))+
+...........'+CCCCC C+++C
+'''''''''''+C CCC
+XXXXXXXXXXXC
+CCCCCCCCCCC
*----------.'=-=MAZ -)ZM+.-'=MX= --=-=)= -- - - - -- -- --- )1++)))1++)
+..........'+CCC C'.+C
+''''''''''+C +'C
+XXXXXXXXXXC CX
+CCCCCCCCCC C
*------.----'-AXZ1X +A+''=MAXZ)- -=++++==-- -- - -- - -- - -==+++)+))
+......'....+C C++C
+''''''+''''C CC
+XXXXXXCXXXX
+CCCCCC CCCC
*'----------.=AXA-A =)X-+..'=A+ -==+11+=-=-- ---- - -- --- -- -- - -=
+C..........'C C CC''+C
+B''''''''''+ ++C
+HXXXXXXXXXXC CC
+XCCCCCCCCCC
*'--'---.---'-M-++Z =1M=++MM-A1= -- -- -+++)1+==- --- ---- -- --- -- --- - - - - -
+C..C...'...+C CCC CCC C
+B''B'''+'''C
+HXXHXXXCXXX
+XCCXCCC CCC
*-----'-----'==.'M- +X+.-.+-X- = --+==-- -- -- - - - - - - -- ---- -
+.....C.....+CC'+ C'.'CC
+'''''B'''''C +C +'+
+XXXXXHXXXXX C CXC
+CCCCCXCCCCC C
*..---------.''-Z -=1X-==---X)- -===--- -----=-= --=- ------ - - -- ----- -
+''.........'++C CCCCCC
+++'''''''''+CC
+CCXXXXXXXXXC
+ CCCCCCCCC
*..---------.+A= --1X-+'+=A+== -- ----- - - -- - - --- -- - --
+''.........'C CC+CC
+++'''''''''+ C
+CCXXXXXXXXXC
+ CCCCCCCCC
*-.----''--+X= -=1AMMM-=-X)- - -- =--- --- - - --- --- - - --
+.'....CC..C CCC
+'+''''BB''
+XCXXXXHHXX
+C CCCCXXCC
*=MM'..-.=Z =ZM+..+A1)+ - - -- - - - - - - - --- - -
+C +''.'C C''C
+ C++'+ ++
+ CCXC CC
+ C
*Z+1MZ))= +1M='+=MZ)- -- ----- -- - - - - - - - -- ------ -- - - --
+ C+CC
+ C
*+ -- -)X-+=MZZ1+ -- -- - - -- - - -- --- ---- --- - -
+ CCC
*-- +1M=+''+M1- - -- -=- -- ---- --=-= - =- - - -- ==--==-=---- --
+ CC++C
+ CC
*-- -+XM++MM--X+ - -= -- ---- - =--- ---- - - - --=-==---=--- - -
+ CC CC
* +Z=..'+=X+=- - - --=== - ------- --- ---=- -------------===------
+ C''+CC
+ ++C
+ CC
* -+ZM=+''=MZ)= - - - ---- - - -- -=- ---====----- -- ----=- ----- --
+ CC++C
+ CC
*1A=+'+-XZ)- --- - -- - -=-===== -- ------ ---- ----=
+ CC+CC
+ C
*'...+-A= - - -- - -- ---- -- - -=--===- - - - - - = -
++'''CC
+C+++
+ CCC
*-MMX+- --- --- - - -- -- -- -- - - -- -= -- - -- -- - - - - -
+C
*Z= - -- -- - - - -- - - - - - -
* - -=- -- --= ---- - -
* -- - - -- - --- - - -
* - - --- -- - - --- - -
* - - -- -- -=--- --
*- - - -- - --- - - ---- -- ----------- - -
*)+=-- -- - -- - -- -====- - -=- -- - -
*))))))+)+= - -- -- =++= --- ----
*)11)1)11)))))+==--- ---- -- +11= - --
*111))))1))11)+++--==+===- -+==-- - - +1- - --- -
*)+++++)))+))))++- -++)))++=++=- - - - - -- -- - --=- --
*)))))))))+))++))++))11)1)))1)+++- -=-- --- - - -- - - -== --
*)1)1))))))))+)))+))+)))111)1))))+===- +))+==- -)= - -- -- -- - -=
*11))1)11)11)+)))))))1))1)1))))1)))1)+ =11))1+++==- -- ++ - -- - - --
*))))))))111)+))))111111Z11)11)++1Z111+- -ZZ111111)))=- - - - - - -
*)))1))1Z111)))1)111111111111111))1)111+= +)1ZZZZZZ11)++- -== -=----- --- - - ----
*)))11111111111111)11111ZZZZZ1ZZ1))))11)+++ +)1ZZZ1)ZZXZ111)= -- - --- -----
*11)11111111111111)1111ZZZZXZZXXX1))11111111--1ZZZ1Z)=11ZZ111))= -- --- -=- - - - ---
*11)1111Z1)111111)11111Z1111ZZZZ1==1111ZXXZZ111ZZZZZ11XZ)))11))11+= -- ---- - -= - -- - -
*ZZ1ZXXZZ1)111111)1Z11ZZ111ZZZXZ1= )ZZXXXXXXZZZZZZZZZXAXZ1)1ZZZXZZ1+=- -+ -=------++- - - -- -
*XZZXMAZZZ11Z111ZZ11ZZZZXZ111ZZZ1+=+ZXXXZXXXXXZXXXXZXXXAXZ1)=)1ZZZ1Z1)= -- -- - --- --==- --- -
*XZXZXXZZZ11Z1Z1XZ111ZZZZ111ZZZZZ)))ZXXXZZZXXXZXXXXZXAXAXZ1+=+)=+)+ZXZ1+ - -1+ =)= --- --- - -=- --- -
*XXXZZZXZZZZZZ1ZXZZZ11)ZZ11ZZZZZ1)))1XXXZ11ZZZX-AXXZZZZXXZ)++11= - +XZZ1)+=-==+) ))+=-- -- -=- - ------
+ C
*AXX111ZZZZZZZZXXXZ1111XXZZZXZXZX1+==+=1XXXXXZZZXXXZ1)ZXZZ11)1Z) 1XX1)ZX111)1= +1+--- - -- - -=--- - -
*AAXXZ11ZZXZZXZZ1ZZ11ZZXXXXXAAXXZZ)==- =ZXXXXXZXZZZ)-)XZZZZ111)=-=+ZXZ11XAXXXZZ1)+ ZZ)+=+++ - ------
*XXZXXZZXXXXXXXXZ1ZZ1ZXXXXXXAAXXXZ1+=- -)XXXAAXZZ1+-=ZAXZZ1ZZ111ZXXXXZZXXXXXZXXZ1+= )1+- )1- - - - --
*11)1ZZXXXXXXXAZ1ZZXZZXXXXXXAAAAAX11)- =XXXAXXX1)--+XMXZ111ZXZXXXXXAXZZZXAAXXXXXZ1)+1)+ 1Z)- - - ---
*)))1XXAAAXAAAAXZZXXXXAAAXXAAXXXXZZXX)- +)XAXXXAXZ)= +ZAAXZ11ZZ111)++XXXXXXMMMAXXAAXZ111+- =1Z1+== --- --- - -----
*11ZAAAMAAAAAAAXXXXXAAAAAXAAXXXXXXXXXZ)--=+1Z1ZAAXX1)==ZAXXXZZZZ1)+-- -)ZXXXXAMMXXAAAXZ1))+- --==))= - --- - - ----
*ZAM---MMAAXXXXZXAAAAXXAXAAAXXAAAAAAXX1))+===+1XAAXXX11XXXZXXXXXZ11)+- -1AZ1)XAAMXXAMAZ111+===---++--- - -- -------- --=---
+ CCC
*MM--=-MMMXZXXXXXAAAXXXXXAAXXXAAAAMAAXZ1ZZ)+- -+1XAXZ))ZZZZZZXAZZ11))= 1X1)+))111ZXXZZZ1++=+11)Z1+- - - -- - - -
+ CCCC
*AMA-=-AAAXXAAAAAAAAAXXXAAAAXXZZXXAAAAAXAAXZ)+- --+)+===+===+1ZZZ1)+- )11Z)=-- ==-=)+=))))1ZXX1+- - - -=-- - - -=
+ CCC
*ZXXAMAXXXAAMAAAAMMAAAAAAAAXXZZZZXXXAAAAAMAZ)+=-- +11)+==---+111Z1))+= -1Z+=- -- -- -- =1XX1)+=+- =)+= ------ --
*11ZZZ1)++1XMAXXXXAXAAAAAAAXZ1)1ZXXXAMMAXAAZ)==- -11)==)))))1)1Z11111)+= =Z)+=- - --= +))--=+++1Z1) -=- ---
*1)1Z11+= =)ZXZZXXXXAAAAAAXXXZ1ZZXZXAMAXXXXZZ)+=== =1)= )Z))11))1ZZZ1))))= )11)+== =)= - +1ZZZ+ -- - - -
1I ++)11111111))111))))))))))))))+)))))111))1)1)1111111111111111111++==++)))+))))))))))))++++=== '- '- -'- ='' +'' ='' +'' +''
*++)11111111))111))))))))))))))+)))))111))1)1)1111111111111111111++==++)))+))))))))))))++++=== '- '- -'- ='' +'' ='' +'' +'' +''
+ C. C. C. CC CC CC CC CC CC
+ B' B' B' BB BB BB BB BB BB
+ HX HX HX HH HH HH HH HH HH
+ XC XC XC XX XX XX XX XX XX
*ZA-===++===--==----MMMMMMMMAAAXXAAM-==-M---=-===========+=++==++A1+=+)ZXXZXAAMMMMMM--X1))+=- =+1)1Z11ZXZXXMAAA-=++-M-=+==---=--=--==
+ CCCCCCCCCCCCCCCCC CCCC CCCCCCCCCCCCCCCCCCCCCCCC CC CCCCC CCCCCCCCCCCCCCCC
*=''+'++'++''++===+=++'+++++++====++++++====+==+++++++++===+++'.-.'-MMM-+===++''''''''=MAXXZ1))1ZAMAMMMMMAAAXXZXXXXZXXAMMMMM-MMMMMMMM
+C++C+CC+CC++CCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+'.'+C CCCCCCC++++++++C C
+ CC C C CC C C+'+C CCCCCCCC
+ CXC
+ C
*-+++++++++'+========++++'+'+++=-==++++++===+===+=====-----=''.-.....'''..'==='++'...+MAAXXX1))ZXMMMAMMMAXXAAXAAAZAAMMMMAMM-M----=---
+CCCCCCCCCC+CCCCCCCCCCCCC+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++'.'''''+++''+CCC+CC+'''C C CCCCCCCC
+ C C C CC+'+++++CCC++C C C+++
+ CXCCCCC CC CCC
+ C
*X=++++'+'+++======++==+++'+'++===+++++++==========-===-----+...+''''+=+-'+=-='''.'..+MAXX111))1XZXAAMAXXXAXAXXXZXXMMMM-MMMMM-MMM--MM
+ CCCCC+C+CCCCCCCCCCCCCCCC+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'''C++++CCCC+CCCC+++'+''C C C CC
+ C C C C +++ CCCC C CCC+C++
+ CCC C CC
*1X=+++''++++========+===+++'++=+=+=+++++==+=---===---=-----=....'''''''++''++''''''''=MAXXZZZXXXXXXAAMAAXAAAAAXAAAMM---AMMMMMMM---MM
+ CCCC++CCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC''''+++++++CC++CC++++++++C CCC CCC
+ CC C ++++CCCCCCC CC CCCCCCCC
+ CCCC
*ZZ-+++++++++=+=========-+++++++===++++++====-=---==--==-----+....'..''''++''+++''''=++=MAAAAMAAAAAXAAAAAAAMAXAAAXXAMM-MMMMAMMAMM--MM
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC''''+''++++CC++CCC++++CCCC C CC
+ ++++C++CCCC CC CCCC
+ CCCC CC
*AZX=++++++++==--====+=--+=++=++==++'++++=+==-===-==-------MM-+''....'+'''+=++++++'++-==MXXAAAXAXXAXAXXAAXXXXAXAXXXXAAAMMA-AMAMMMM-M-
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCC CC++''''+C+++CCCCCCCC+CCCCC C C C
+ C CC++++C CCC C
+ CCCC
*XXX-=++++++++=---========+====+=+=++++=++-===-=====-===----MM-='...''''''+++++==+.''++=-MAAAXXXXXZXXXAAXXZZAXAXAXXXXAXAAAAXAMMMMMMMM
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC+'''++++++CCCCCCCC'++CCCC
+ C+++CCCCCC +CC
+ CCC C
*XXZX-+++++++=-----==-=========++++=+++=+=====-----=-=------MMM-+.....'''=+'+''+++''+==++=-MAAAAXXXAXAAMAAXAXAAXAXXAAXXAAAXXAAMMMM-MM
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC'''''+++CC+C++CCC++CCCCCCC C
+ +++++CCC C CC CC
+ CCCCC
*)111Z-++++++=----======--==-+++=++=====+++==---M------==-----MM-'-...'++==+'''''++======+=-AAMMAXAAAAXAAAAAAAAXXXAAAAXAAAAAAMMMMMMMM
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC C+.'''+CCCCC+++++CCCCCCCCCCC
+ C'+++C CCCCC
+ XCCC
+ C
*=)++1A=+=+====--==-=++====-=====+=======++===MM-------=-==+==-M=+'.''+=M++''''''=---M-====MMAAMAAXXAXXAAAAAXAAAXXAAAAAXXAXAXAAAAAMAA
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC CC+'++CC CC++++++CCCC CCCCC
+ C+CC CCCCCC
+ C
*)))11ZX-===++==--=--=+-======M-===+=--=+======-=--A---=-==++--==+++++=--+'''.'''+=----+===-AAAMAMMAAXXXXXAAAXXAXXXXAAXXZXZ11ZXAAAAXA
+ CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC+++'+++CCCCCCCCCCC
+ CCC+CCC
+ C
*XM-==MAMMMM-==-----=++-----=---=====--=======-----M-----M---MM-==+'+'=--=+++++''+==--++-++=MAMAXAXXXAXXAXAXAAXXAXXXXXXXZXZ11)1XAAXXA
+ CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC CCC CCCC+C+CCCCCCCCC++CCCCCCCCCCC
+ C C CC
*1A'-'--'=AXAAM----+---+---M----==---M-=--==+==-----------MM-M---=+''++M-===--=+''+==++++++=MAAAAXXZXAAAAAXXZAXZXXZXZXXXZZZZ1)+1ZZXXA
+ +.C..+C CCCCC...CCCC CCCCCCCCC CCCCCCCCCCCCCCCCCCCC C CCCCC++CC CCCCCCCC++CCCCCCCCCC
+ C'B''C ''' CC CC
+ XHXX XXX
+ CXCC CCC
*'-'''-..-.-MXXM=+'-'''-MXAAMMMMM--XM---=----===--M-MMM-MMM--M-=====+=---=-MAAM-++=-+++=+'=MMAXXXXZXZZAAAMAXXXXXZ1)))111)))))++++1XXX
++.CCC.''.'C CC+.CCC. CC CCCCCCCCCCCCC C C CC CCCCCCCCCCCCC CCCCCCCCCC+C
+C'BBB'++'+ C'BBB' C
+ XHHHXCCXC XHHHX
+ CXXXC C CXXXC
*''''''-'-'---.'.--'''''MMMMMMMMMM-M-MM-=--===+=-=-MMM-MM-=++=++'++++=++=MMMAAAAM=MM-=++'+-MMMAXXZZXXXAAAMAAZZZ11))+11))))++)+++=+1Z1
+CCCCCC.+.C...'+'..CCCC+ C C CCCCCCCCCCCC C CCCCCCC+CCCCCCCC C CCCC+CC
+BBBBBB'C'B'''+C+''BBBBC C C
+HHHHHHX XHXXXC CXXHHHH
+XXXXXXC CXCCC CCXXXX
*'''''''--'''--.---'''----.'++=---AMMMAM-M--=====---MMM--=====+'+'+++=+'+=MMMAAMAMMMA-++==--==MXZZXZZXXAAM-AZ111))1)1))1)+++++++-=+))
+CCCCCCC..CCC..'...CCC....'+CCCCCC C CCCCCCCCCC CCCCCCCC+C+CCCCC+CC CCCCCCCCC C
+BBBBBBB''BBB''+'''BBB''''+C C C C
+HHHHHHHXXHHHXXCXXXHHHXXXXC
+XXXXXXXCCXXXCC CCCXXXCCCC
*'---'''''''------'-''''''''---.'+-MMMAAMMAM=====--MMMM---MMA='''+=++=++++-MMM-MAAAMAM=+----==-MXXXZZXXAM--MAXZ1))1))))))=+)+=+=-==++
+C...CCCCCCC......C.CCCCCCCC...'+CC CCCCCCC CCC C+++CCCCCCCCCC C CCCCCCCCC CC
+B'''BBBBBBB''''''B'BBBBBBBB'''+C CCC
+HXXXHHHHHHHXXXXXXHXHHHHHHHHXXXC
+XCCCXXXXXXXCCCCCCXCXXXXXXXXCCC
*''---'''''''''''''''''-''''''-'--.=MAAMM-MM=-===-MM-MMMMMMMM=++=+++''''++=M--=-MAMMAXM==-MMM--==-XZXXAAMMMMM-MXZ11))1))++++==-=--=))
+CC...CCCCCCCCCCCCCCCCC.CCCCCC.C..'C C CCCCCC C CCCCCCC++++CCC CCCC CCC CCCCC C
+BB'''BBBBBBBBBBBBBBBBB'BBBBBB'B''+ CCCC
+HHXXXHHHHHHHHHHHHHHHHHXHHHHHHXHXXC
+XXCCCXXXXXXXXXXXXXXXXXCXXXXXXCXCC
*''----'''---'--''''''''''-''''-----'+--MAA---M-----MMMMAMAAMMM-----+'++==++===+==MAAA-==--AMMM-''+MAAAMMAAAAXAAAX1))11))))==-=-- =++
+CC....CCC...C..CCCCCCCCCC.CCCC.....+CCC CCC CCCCC CCCCCC+CCCCCCCCCCCC CCCCC C++C
+BB''''BBB'''B''BBBBBBBBBB'BBBB'''''C C CC
+HHXXXXHHHXXXHXXHHHHHHHHHHXHHHHXXXXX
+XXCCCCXXXCCCXCCXXXXXXXXXXCXXXXCCCCC
*'---.---'MX-+'--''''''''-.'-'''-.+==.-.''=++'++''++----MMM-=-MMAMAM----MM=+++++++-MMM-AAMMMMM-=+'++=AAAMAAXAXAAAAX11)))))1====- =++
+C...'...+ CC+..CCCCCCCC.'C.CCC.'CCC'.'++CCC+CC++CCCCCC CCC CCCC CCCCCCCCC C CCC+CCC
+B'''+'''C C''BBBBBBBB'+B'BBB'+ +'+CC C CC C
+HXXXCXXX XXHHHHHHHHXCHXHHHXC CXC
+XCCC CCC CCXXXXXXXXC XCXXXC C
*-.----'--=1+)+)1XAM+.-'''------'--=+'-'-''-'''''''------------.'+=-=MAAAAM=+++++=+--==MAAMMMA-=+====AAXAAXAAXAAAXXZZ11+)))+==-- ==)
+.'....C..C C'.CCC......+CCCC+.C.CC.CCCCCCC............'+CCCC CCCCCCCCCCCC CCCCCCC
+'+''''B'' +'BBB''''''C C'B'BB'BBBBBBB''''''''''''+C
+XCXXXXHXX CXHHHXXXXXX XHXHHXHHHHHHHXXXXXXXXXXXXC
+C CCCCXCC CXXXCCCCCC CXCXXCXXXXXXXCCCCCCCCCCCC
*'--.----'-'+-AX)++))XA='----.'=XA+-.'-'-''-''''''''''''''''''''-'----.'++++'''++==+==++--MMAAM-=---MZZZXXZXAAXAAXZXZZ1)+))+=---- -+
+C..'....C.+CC C+....'+C C.'+.C.CC.CCCCCCCCCCCCCCCCCCCC.C....'+CCCC+++CCCCCCCCCCC CCCCC
+B''+''''B'C C''''+C '+C'B'BB'BBBBBBBBBBBBBBBBBBBB'B''''+C CCC
+HXXCXXXXHX XXXXC XC XHXHHXHHHHHHHHHHHHHHHHHHHHXHXXXXC
+XCC CCCCXC CCCC C CXCXXCXXXXXXXXXXXXXXXXXXXXCXCCCC
*'''--------''---------...'''==-MM+'+-'---.'.'.....----------'''''''''''''--------.-------''=MM=-==+-ZZZXXAXAAXXXXXXAX1+)+)=--= -
+CCC........CC.........'''+++CCC C+C.C...'+'+'''''..........CCCCCCCCCCCCC........'.......++C CCCCCC
+BBB''''''''BB'''''''''+++CCC C 'B'''+C+C+++++''''''''''BBBBBBBBBBBBB''''''''+'''''''CC
+HHHXXXXXXXXHHXXXXXXXXXCCC XHXXXC C CCCCCXXXXXXXXXXHHHHHHHHHHHHHXXXXXXXXCXXXXXXX
+XXXCCCCCCCCXXCCCCCCCCC CXCCC CCCCCCCCCCXXXXXXXXXXXXXCCCCCCCC CCCCCCC
*''''''-----''----'-----.'+=+='=+.---''----.-...'''++....'+=.--------------...-------.---'''-+M-M-=MXXZXXXAXXXXZZXXAAAX))+)+---
+CCCCCC.....CC....C.....'+CCCC+CC'...CC....'.'''+++CC''''+CC'..............'''.......'...CCC.C C CC
+BBBBBB'''''BB''''B'''''+C C +'''BB''''+'+++CCC ++++C +''''''''''''''+++'''''''+'''BBB'
+HHHHHHXXXXXHHXXXXHXXXXXC CXXXHHXXXXCXCCC CCCC CXXXXXXXXXXXXXXCCCXXXXXXXCXXXHHHX
+XXXXXXCCCCCXXCCCCXCCCCC CCCXXCCCC C CCCCCCCCCCCCCC CCCCCCC CCCXXXC
*''''''''------'+'..+'..-..---..--''''----------..........'''-----------...+.------.+='--''''-=MM-M1)11ZZXXZZZXXZZZXXAAZ1++++-- --
+CCCCCCCC......+C+''C+''.''...''..CCCC..........''''''''''+++...........'''C'......'CC+..CCCC.C C
+BBBBBBBB''''''C C++ C++'++'''++''BBBB''''''''''++++++++++CCC'''''''''''+++ +''''''+ C''BBBB'
+HHHHHHHHXXXXXX CC CCXCCXXXCCXXHHHHXXXXXXXXXXCCCCCCCCCC XXXXXXXXXXXCCC CXXXXXXC XXHHHHX
+XXXXXXXXCCCCCC C CCC CCXXXXCCCCCCCCCC CCCCCCCCCCC CCCCCC CCXXXXC
*''''--'-.=-='+=--+'..-------...--'''--...'.---'--..-......'.-----------...--'-.+====+'..-....=='M1++Z1)ZZ111111Z)XXXAZ1==+--
+CCCC..C.'CCC+CCCCC+''.......'''..CCC..'''+'...C..''.''''''+'...........'''..C.'CCCCCC+''.''''CC+
+BBBB''B'+ C C++'''''''+++''BBB''+++C+'''B''++'++++++C+'''''''''''+++''B'+ C++'++++ C
+HHHHXXHXC CCXXXXXXXCCCXXHHHXXCCC CXXXHXXCCXCCCCCC CXXXXXXXXXXXCCCXXHXC CCXCCCC
+XXXXCCXC CCCCCCC CCXXXCC CCCXCC C CCCCCCCCCCC CCXC C
*-''-'.--.++.-.---'---''---'=+'---'''---.''+'.----------'..------'-'''-'---'--'++====++..+-.+.'-'-M1)ZZZZZZZ11ZZ11ZAAAAX1)))+- -
+.CC.+'..'CC'.'...C...CC...+CC+...CCC...'++C+'..........+''......C.CCC.C...C..+CCCCCCCC''CC'C'+.C.
+'BB'C+''+ +'+'''B'''BB'''C C'''BBB'''+CC C+''''''''''C++''''''B'BBB'B'''B''C ++ + +C'B'
+XHHX CXXC CXCXXXHXXXHHXXX XXXHHHXXXC CXXXXXXXXXX CCXXXXXXHXHHHXHXXXHXX CC C C XHX
+CXXC CC C CCCXCCCXXCCC CCCXXXCCC CCCCCCCCCC CCCCCCXCXXXCXCCCXCC CXC
*.----'--'---'''''''''''''''-''''+'''''---.''''''.'.--''--..-.--''---''-----.'.'--MXZXX=.-A.'+=-'-'-11XZ1Z1Z111111ZAAAAAXZ11+= --
+'....C..C...CCCCCCCCCCCCCCC.CCC+CCCCCC...'++++++'+'..CC..''.'..CC...CC.....'+'+CC C'C '+CC.C.+C
++''''B''B'''BBBBBBBBBBBBBBB'BBBC BBBBB'''+CCCCCC+C+''BB''++'+''BB'''BB'''''+C+C + +C 'B'C
+CXXXXHXXHXXXHHHHHHHHHHHHHHHXHHH HHHHHXXXC C CXXHHXXCCXCXXHHXXXHHXXXXXC C C C XHX
+ CCCCXCCXCCCXXXXXXXXXXXXXXXCXXX XXXXXCCC CCXXCC C CCXXCCCXXCCCCC CXC
*...--'''''-'''''''''''''''''''-=--''''''-.....''.'+''---..------------.-.'.---=+++=-==X=..---ZM+.--1))111)1)11111ZXAXXZXAXZ++---
+'''..CCCCC.CCCCCCCCCCCCCCCCCCC.CC.CCCCCC.'''''++'+C++...''............'.'+'...C C''..C C'..
++++''BBBBB'BBBBBBBBBBBBBBBBBBB' 'BBBBBB'+++++CC+C CC'''++''''''''''''+'+C+''' ++'' +''
+CCCXXHHHHHXHHHHHHHHHHHHHHHHHHHX XHHHHHHXCCCCC C XXXCCXXXXXXXXXXXXCXC CXXX CCXX CXX
+ CCXXXXXCXXXXXXXXXXXXXXXXXXXC CXXXXXXC CCC CCCCCCCCCCCC C CCC CC CC
*....-''''''''''''''''''''''''''+=-''--'''----''''+.''+'==='--'''''''--'----'''=+===++-=+M-'-'-A=.'-)+))1)11ZZ111XZZX1ZZAXXAZ)+----
+''''.CCCCCCCCCCCCCCCCCCCCCCCCC+CC.CC..CCC....++++C'++C+CCC+..CCCCCCC..C....CCCC .C.+C C'C.
+++++'BBBBBBBBBBBBBBBBBBBBBBBBBC 'BB''BBB''''CCCC +CC C C''BBBBBBB''B''''BBB 'B'C +B'
+CCCCXHHHHHHHHHHHHHHHHHHHHHHHHH XHHXXHHHXXXX C XXHHHHHHHXXHXXXXHHH XHX CHX
+ CXXXXXXXXXXXXXXXXXXXXXXXXX CXXCCXXXCCCC CCXXXXXXXCCXCCCCXXX CXC XC
*....--'''''''''''''''''''''''-=++'-''''''''----.++'''''+=+...+=='-'''''''------M)==+)++1A+.-''------1)1111111111111)ZZAAAAAX1)++
+''''..CCCCCCCCCCCCCCCCCCCCCCC.CCC+.CCCCCCCC....'CC+++++CCC'''CCC+.CCCCCCC...... C'.CC.....C
+++++''BBBBBBBBBBBBBBBBBBBBBBB' C'BBBBBBBB''''+ CCCCC +++ C'BBBBBBB'''''' +'BB'''''
+CCCCXXHHHHHHHHHHHHHHHHHHHHHHHX XHHHHHHHHXXXXC CCC XHHHHHHHXXXXXX CXHHXXXXX
+ CCXXXXXXXXXXXXXXXXXXXXXXXC CXXXXXXXXCCCC CXXXXXXXCCCCCC CXXCCCCC
*..''..-''''''''''''''''--'----=-MM.'''-'--'''--.''+'+++++++.-+=-=+---------------)==+)ZX)XX.'''--'-=1)111111)1)))11ZZZXAAXAAZ1)=
+''++''.CCCCCCCCCCCCCCCC..C....CC 'CCC.C..CCC..'++C+CCCCCCC'.CCCCC..............C 'CCC..C.C
+++CC++'BBBBBBBBBBBBBBBB''B'''' +BBB'B''BBB''+CC C +' '''''''''''''' +BBB''B'
+CC CCXHHHHHHHHHHHHHHHHXXHXXXX CHHHXHXXHHHXXC CX XXXXXXXXXXXXXX CHHHXXHX
+ CXXXXXXXXXXXXXXXXCCXCCCC XXXCXCCXXXCC C CCCCCCCCCCCCCC XXXCCXC
*..'''.-'''''''''''''''''-'----=MXM''''''----'-'---''+++=++-+.'+++++.....''.+...-.X111)-M11-'''''-'-=1+)11111)1111Z1111ZAAAMAZ1)=
+''+++'.CCCCCCCCCCCCCCCCC.C....C +CCCCC....C.C...++CCCCCCCC'+CCCCC'''''++'C'''.' C CCCCC+.C.C
+++CCC+'BBBBBBBBBBBBBBBBB'B'''' CBBBBB''''B'B'''CC +C +++++CC+ +++'+ BBBBC'B'
+CC CXHHHHHHHHHHHHHHHHHXHXXXX HHHHHXXXXHXHXXX C CCCCC C CCCXC HHHH XHX
+ CXXXXXXXXXXXXXXXXXCXCCCC XXXXXCCCCXCXCCC C XXXX CXC
*'...'.-''''''''''''''''''----.-AXX=----''-----------'++==+==+..+=+=+''''++'++=='-'=-MZA=MM-''''M.'.-A)))111Z111)11)1)1ZZXAAXX1+=- -
++'''+'.CCCCCCCCCCCCCCCCCC....'C C....CC...........+CCCCCCCC''CCCCC++++CC+CCCC+.+CC C .CCCC 'C'.
+C+++C+'BBBBBBBBBBBBBBBBBB''''+ ''''BB'''''''''''C ++ CCCC C C'C 'BBBB +B+'
+ CCC CXHHHHHHHHHHHHHHHHHHXXXXC XXXXHHXXXXXXXXXXX CC X XHHHH CHCX
+ CXXXXXXXXXXXXXXXXXXCCCC CCCCXXCCCCCCCCCCC C CXXXX X C
*'..'.-'''''''''''''''''''''--.-AXZ=-''--'''------''---..''+='.'+====+++.'''++++.'--.-=-+=''''-+-''-.AZ))11ZZ1Z1ZZ1)11Z1ZZXAXXZ)= - -
++''+'.CCCCCCCCCCCCCCCCCCCCC..'C C.CC..CCC......CC...''++CC+'+CCCCCCCC'+++CCCC'+..'.CCCCCCCC.CCC+C'
+C++C+'BBBBBBBBBBBBBBBBBBBBB''+ 'BB''BBB''''''BB'''++CC C+C +CCC +C''+' BBBB' BC +
+ CC CXHHHHHHHHHHHHHHHHHHHHHXXC XHHXXHHHXXXXXXHHXXXCC C C C XXCX HHHHX H C
+ CXXXXXXXXXXXXXXXXXXXXXCC CXXCCXXXCCCCCCXXCCC CC C XXXXC X
*.'''-'--''''''''''''''''''''--=AAX--'---''''---..-''''----...--'''+++=+''+''.''.--''-----''''-X+''X-X-X+)1))111Z1111111)ZXXXXZ)-
+'+++.C..CCCCCCCCCCCCCCCCCCCC..C C.C...CCCC...''.CCCC....'''..+++CCCCC++C++'++'..++.....CCCC. CC+ C C
++CCC'B''BBBBBBBBBBBBBBBBBBBB'' 'B'''BBBB'''++'BBBB''''+++''CCC CC CC+CC+''CC'''''BBBB' BC
+C XHXXHHHHHHHHHHHHHHHHHHHHXX XHXXXHHHHXXXCCXHHHHXXXXCCCXX C CXX XXXXXHHHHX H
+ CXCCXXXXXXXXXXXXXXXXXXXXCC CXCCCXXXXCCC CXXXXCCCC CC CC CCCCCXXXXC X
*..'.---''''''''''''''''''''''-+M-M=-------'''''-----'''------.-..-..'..-''.-...--'''--''''''--1M+'MM---+)11)1)1111111Z11ZXXXXZ)=
+''+'...CCCCCCCCCCCCCCCCCCCCCC.C C C.......CCCCC.....CCC......'.''.''+''.++'.'''..+++..CCCCCC.C C+ C.C
+++C+'''BBBBBBBBBBBBBBBBBBBBBB' '''''''BBBBB'''''BBB''''''+'++'++C++'CC+'+++''CCC''BBBBBB' C '
+CC CXXXHHHHHHHHHHHHHHHHHHHHHHX XXXXXXXHHHHHXXXXXHHHXXXXXXCXCCXCC CCX CXCCCXX XXHHHHHHX X
+ CCCXXXXXXXXXXXXXXXXXXXXXXC CCCCCCCXXXXXCCCCCXXXCCCCCC C C C C CC CCXXXXXXC C
*..'.-.-'''''''''''''''''''''''--=--..--------'''-------'-'---...-...-.-....--.---+'--'-''''.XX+-Z-=A.---)111)1)))1)ZZZZXAXZZX1+-
+''+'.'.CCCCCCCCCCCCCCCCCCCCCCC.CCCC''........CCC.......C.C...'''.'''.'.''''..'...C+..C.CCCC' CC CC '.C
+++C+'+'BBBBBBBBBBBBBBBBBBBBBBB' ++''''''''BBB'''''''B'B'''+++'+++'+'++++''+''' C''B'BBBB+ +'
+CC CXCXHHHHHHHHHHHHHHHHHHHHHHHX CCXXXXXXXXHHHXXXXXXXHXHXXXCCCXCCCXCXCCCCXXCXXX XXHXHHHHC CX
+ C CXXXXXXXXXXXXXXXXXXXXXXXC CCCCCCCCXXXCCCCCCCXCXCCC C C C CC CCC CCXCXXXX C
*...+..--''''''''''''''''''''''-==-=----------''-''------''-----.----------..--..'+.-'''-'''=Z='-Z'==--'=+)+)11+))11ZZZXZ1111Z1)= -
+'''C''..CCCCCCCCCCCCCCCCCCCCCC.CCCC..........CC.CC......CC.....'..........''..''+C'.CCC.CCCC CC. +CC..+
++++ ++''BBBBBBBBBBBBBBBBBBBBBB' ''''''''''BB'BB''''''BB'''''+''''''''''++''++C +'BBB'BBB B' C ''C
+CCC CCXXHHHHHHHHHHHHHHHHHHHHHHX XXXXXXXXXXHHXHHXXXXXXHHXXXXXCXXXXXXXXXXCCXXCC CXHHHXHHH HX XX
+ CCXXXXXXXXXXXXXXXXXXXXXXC CCCCCCCCCCXXCXXCCCCCCXXCCCCC CCCCCCCCCC CC CXXXCXXX XC CC
*'.--..-''''''''''''''''''''''''-'++-'--'--''-'--'''---..---------------------...'.-'''--''''.''+X'--'-M==)))11))))ZXZXX111)11Z)=-
++'..''.CCCCCCCCCCCCCCCCCCCCCCCC.+CC.C..C..CC.C..CCC...''.....................'''+'.CCC..CCC+'CCC C..C.
+C+''++'BBBBBBBBBBBBBBBBBBBBBBBB'C 'B''B''BB'B''BBB'''++'''''''''''''''''''''+++C+'BBB''BBBC+BB B''B'
+ CXXCCXHHHHHHHHHHHHHHHHHHHHHHHHX XHXXHXXHHXHXXHHHXXXCCXXXXXXXXXXXXXXXXXXXXXCCC CXHHHXXHHH CHH HXXHX
+ CC CXXXXXXXXXXXXXXXXXXXXXXXXC CXCCXCCXXCXCCXXXCCC CCCCCCCCCCCCCCCCCCCCC CXXXCCXXX XX XCCXC
*''--.-'''-''''--''''''''''''''''--'-'''''--'-'-'''-'''---..-----------'''-''-----''''''''''''''A=''''-X=+))11)))))1ZZZZ)1Z11111=-
+++..'.CCC.CCCC..CCCCCCCCCCCCCCCC..+.CCCCC..C.C.CCC.CCC...''...........CCC.CC.....CCCCCCCCCCCCCC CCCCC.
+CC''+'BBB'BBBB''BBBBBBBBBBBBBBBB''C'BBBBB''B'B'BBB'BBB'''++'''''''''''BBB'BB'''''BBBBBBBBBBBBBB BBBB'
+ XXCXHHHXHHHHXXHHHHHHHHHHHHHHHHXX XHHHHHXXHXHXHHHXHHHXXXCCXXXXXXXXXXXHHHXHHXXXXXHHHHHHHHHHHHHH HHHHX
+ CC CXXXCXXXXCCXXXXXXXXXXXXXXXXCC CXXXXXCCXCXCXXXCXXXCCC CCCCCCCCCCCXXXCXXCCCCCXXXXXXXXXXXXXX XXXXC
*.''..-----''''-+-''''''''''''''''--''''''--''''''----'----.'..-''--''''''''''''''''''''''''''''A''''''.1=)1))1)++))1XZZ)1)1ZZZ11-
+'++''.....CCCC.C.CCCCCCCCCCCCCCCC..CCCCCC..CCCCCC....C....'+''.CC..CCCCCCCCCCCCCCCCCCCCCCCCCCCC +CCCCC'
++CC++'''''BBBB' 'BBBBBBBBBBBBBBBB''BBBBBB''BBBBBB''''B''''+C++'BB''BBBBBBBBBBBBBBBBBBBBBBBBBBBB CBBBBB+
+C CCXXXXXHHHHX XHHHHHHHHHHHHHHHHXXHHHHHHXXHHHHHHXXXXHXXXXC CCXHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHC
+ CCCCCXXXXC CXXXXXXXXXXXXXXXXCCXXXXXXCCXXXXXXCCCCXCCCC CXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX
*--..----''''''''M+--'''''''''''''-'+='--''''''''-'''--'''-----''''''''''''''''''''''''''''''''+X''''''-A-+)1 11)))))1+Z11ZZZZZZ)-=--
+..''....++CCCCC+ C..CCCCCCCCCCCCC.+CC+..CCCCCCCC.CCC..CCC.....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC.
+''++''''CCBBBBBC ''BBBBBBBBBBBBB'C C''BBBBBBBB'BBB''BBB'''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB BBBBBB'
+XXCCXXXX HHHHH XXHHHHHHHHHHHHHX XXHHHHHHHHXHHHXXHHHXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHX
+CC CCCC XXXXX CCXXXXXXXXXXXXXC CCXXXXXXXXCXXXCCXXXCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXC
*-------.X-''''''=A-=-'''-''''---'.MZ-)X-.-''''''''''''''''''''''''''''''''''''''''''''''''''''--'.--'''+ +)1+)11))=+11ZZZZZZZZ11=++=
+.......' CCCCCCCC CC.CCC.CCCC...C' C'.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'C.CCCC
+'''''''+ BBBBBB 'BBB'BBBB'''B+ +'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB B+ 'BBB
+XXXXXXXC HHHHHH XHHHXHHHHXXXHC CXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HC XHHH
+CCCCCCC XXXXXX CXXXCXXXXCCCX CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X CXXX
*---'---+)M'''''''+M-=-'''''''.-'-''1 +))1A'-''''''''''''''''''''''''''''''''''''''''''''''''''A++Z1.'''+=++)11))1))+)1ZZXZZZZX11+++=
+...C...C CCCCCCCC CC.CCCCCCC'.+.C+ +.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC 'CCCC
+'''B''' BBBBBBB 'BBBBBBB+'C'BC C'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +BBB
+XXXHXXX HHHHHHH XHHHHHHHCX XH XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH CHHH
+CCCXCCC XXXXXXX CXXXXXXX C CX CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX
*').'---')Z''''''''=M=M.''''''-..'---==)))++Z.''''''--'''''''''''''''''''''''-'''''''''''''''''AM)=)+'''+-==1))ZZ)Z111ZZ1XZZZ1Z1+1)+
++ 'C...+ CCCCCCCCC C 'CCCCCC.''+..C 'CCCCCC..CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCC CCCCC
+C +B'''C BBBBBBBB +BBBBBB'++C'' +BBBBBB''BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB BBB
+ CHXXX HHHHHHHH CHHHHHHXCC XX CHHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHH HHH
+ XCCC XXXXXXXX XXXXXXC CC XXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXX XXX
*'==----.11''''''''-+--M+-'''''-.---.-)))11)+)A+.--'''''''''''''''''''''''''''''''''''''''''--''A=)+--''=+++)1+)Z11Z1Z1111ZZZ11111Z=
+CCC....' CCCCCCCC.CCC C.CCCCC.'...'C C'..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..C+ C..CCC
+B ''''+ BBBBBBBB' 'BBBBB'+'''+ +''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''BC ''BB
+H XXXXC HHHHHHHHX XHHHHHXCXXXC CXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXH XXHH
+X CCCC XXXXXXXXC CXXXXXC CCC CCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCX CCXX
*--+--''-X1-'''''''''+A--+-'''-'-.-''-=1)1111))ZX-=.--'''''''''''''''''''''''''''''''''''''-----+1---1+-=+)))+)1))111))))+)Z11))))X1
+..C..CC. .CCCCCCCCCC CCC.CCC.C.'.CC.C CC'..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC..C C.C C.C
+'' ''BB' 'BBBBBBBBB 'BBB'B'+'BB' +''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB' '' ' '
+XX XXHHX XHHHHHHHHH XHHHXHXCXHHX CXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX XX X X
+CC CCXXC CXXXXXXXXX CXXXCXC CXXC CCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC CC C C
*---..''--M''''''''''--A===-''-'''..'''=X1))11)+1ZXAM=+--''''''''''''''''''''''''''''''''''+AX.'-+'.Z+Z==++++++))+))11))++))1Z1ZZ1Z1-
+...''CC.C CCCCCCCCCC.C CCC.CC.CCC''CCCC CC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 'C.C+' CC
+'''++BB' BBBBBBBBBB' 'BB'BBB++BBB ''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +B' C+
+XXXCCHHX HHHHHHHHHHX XHHXHHHCCHHH XXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH CHX C
+CCC XXC XXXXXXXXXXC CXXCXXX XXX CCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XC
*'----'--'-'-'''''''''-AX===-''''''+'''..M))Z1Z1)ZAZAXZXAA'--.-'''''''''''''''''''''''''''-+.-''-=--M1=)A=++-++)=)=)++)=+++)11XX1ZZ)-
+C....+..+.C.CCCCCCCCC. CCC.CCCCCCC+CC'' +..'.CCCCCCCCCCCCCCCCCCCCCCCCCCC.C'.CC.CCC
+B''''C''C'B'BBBBBBBBB' 'BBBBBB CBB++ C''+'BBBBBBBBBBBBBBBBBBBBBBBBBBB' +'BB'
+HXXXX XX XHXHHHHHHHHHX XHHHHHH HHCC XXCXHHHHHHHHHHHHHHHHHHHHHHHHHHHX CXHHX
+XCCCC CC CXCXXXXXXXXXC CXXXXXX XX CC CXXXXXXXXXXXXXXXXXXXXXXXXXXXC CXXC
*-'''--.-'.==='.-.-''''-ZX-==-'''''''=.''=X))1Z1))11ZXAMA1)XXAZAMXXXX.-''''''''''''''''''''-''''-.-'+-1++))+++))++=+++++)+=+1)1111ZZ+
+.CCC..'.+'CCC+'.'.CCCC. CCC.CCCCCC+C'++C '.CCCCCCCCCCCC+CCCCCCC.CCCC.'.+CC
+'BBB''+'C+ C+'+'BBBB' 'BBBBBBC +CC +'BBBBBBBBBBBBCBBBBBBB'BBBB'+'C
+XHHHXXCX C CXCXHHHHX XHHHHHH C CXHHHHHHHHHHHH HHHHHHHXHHHHXCX
+CXXXCC C C CXXXXC CXXXXXX CXXXXXXXXXXXX XXXXXXXCXXXXC C
*''''-..'==M+XA-=''---'--ZA=-+.'''-'''MM-MXAZZ111)1+11XAAX))XX111)++M.-''''''''''''.--'.+'--''''''-=1ZZ1Z1ZZ++++++==++++++=+)111ZZZZ)
+CCCC.''+CC C CC++...C.C CCC'CCC.CC+ . '.CCCCCCCCCCCC'..C'C+..CCCCCC.C
+BBBB'++C CC'''B' +BBB'BBC ' +'BBBBBBBBBBBB+''B+ C''BBBBBB'
+HHHHXCC XXXHX CHHHXHH X CXHHHHHHHHHHHHCXXHC XXHHHHHHX
+XXXXC CCCXC XXXCXX C CXXXXXXXXXXXX CCX CCXXXXXXC
*'''''-.+=-M-M-AA+--'-..=XZMM-=-+.-.-'.+'.X-))Z1Z))))+1ZXXZ11ZZ11ZZXM=.---''''-'''''--'A)='''''''''-'==++--A1))+===+==+=)==+)1ZZZZXZ+
+CCCCC.'CCC C C C..+C''C CC.C'C'.C'CC' C C'...CCCC.CCCCC..C CCCCCCCCCC.+CCCCCC
+BBBBB'+ ''C ++ ' + +'B+ B+ +'''BBBB'BBBBB''B BBBBBBBBB'C
+HHHHHXC XX CC X C CXHC HC CXXXHHHHXHHHHHXXH HHHHHHHHHX
+XXXXXC CC C CX X CCCXXXXCXXXXXCCX XXXXXXXXXC
*---''''-.'-MZM-M'=--XAA=MZMAA-+M----''-''=M=+)Z1Z1)+==)Z1X11111MAXXM=--''''''''''-''''.-''''''''''''''''..'=X+--+=====+=+=+=+11Z1Z1-
+...CCCC.'+C C +C.. C CC ....CC.CCC C..CCCCCCCCCC.CCCC'.CCCCCCCCCCCCCCCC''+C
+'''BBBB'+C C '' ''''BB'BB ''BBBBBBBBBB'BBBB+'BBBBBBBBBBBBBBBB++C
+XXXHHHHXC XX XXXXHHXHH XXHHHHHHHHHHXHHHHCXHHHHHHHHHHHHHHHHCC
+CCCXXXXC CC CCCCXXCXX CCXXXXXXXXXXCXXXX CXXXXXXXXXXXXXXXX
*----''''--'=MAAM'.-==+A--AMAAA=-A''-.-''''+= =+)11))))1))ZZ11)X-AA-'-+'----''''''''''''''''''''''''''''''''-+)1+==+++))+)+=))))11))=
+....CCCC..+C +'.C CC CC CC.'.CCCCC C C+.C+....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C
+''''BBBB''C C+' BB'+'BBBB C' C''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'
+XXXXHHHHXX CX HHXCXHHHH X XXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX
+CCCCXXXXCC C XXC CXXXX C CCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*-----'''''--'-AX=---+M==-AMMAMM-Z'''.'-'''-X =)1+11ZZ1++1))+1---+=MMZ='-'''''''''''''''''''''''''''''''''''-'A)=)+)+))+))++)))))))-
+.....CCCCC..+C C..C CCC C +CC'+.CCC. CCCCC C+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.+
+'''''BBBBB''C '' CBB+C'BBB' C CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'C
+XXXXXHHHHHXX XX HHC XHHHX HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX
+CCCCCXXXXXCC CC XX CXXXC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*---'''''''''-.'+'-'-=--.+'+=MMAAAA=''-'-'-'-) -+)1ZZ11)))++=X=.--XZM-.--''''''''''''''''''''''''''''''''''''-M)+=+=+=+=+=++))1))))-
+...CCCCCCCCC.'+C+.CCC..'C+CC CCC.+.C.C. C'.C C'..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.
+'''BBBBBBBBB'+C C'B ''+ C BB'C'B'B' +' +''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'
+XXXHHHHHHHHHXC XH XXC HHX XHXHX CX CXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX
+CCCXXXXXXXXXC CX CC XXC CXCXC C CCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*'-'''''''''''''''''-''-+Z-'-.+=--X1=''-+..''X--- )ZZ11))))+ ZM-'A=.-''''''''''''''''''''''''''''''''''''''''''.MZ-=----= ==-++))))++
+C.CCCCCCCCCCCCCCCCC.CC.C .C.'CCCC CCC.C''CC .+ C'.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
+B'BBBBBBBBBBBBBBBBB'BB' 'B'+ BB' ++BB 'C +'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB+
+HXHHHHHHHHHHHHHHHHHXHHX XHXC HHX CCHH X CXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHC
+XCXXXXXXXXXXXXXXXXXCXXC CXC XXC XX C CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*'-''''''''''''''''''''-M1+'=+-.'+MMM.--.=---Z+- =1Z11)+)++1'-..'''''''''''''''''''''''''''''''''''''''''''''''-.-Z+= -----==+==+=+
+C.CCCCCCCCCCCCCCCCCCCC. C+CC.'+C '..'C... +.''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.'C
+B'BBBBBBBBBBBBBBBBBBBB' C '+C +''+ ''' C'++BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'+
+HXHHHHHHHHHHHHHHHHHHHHX XC CXXC XXX XCCHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXC
+XCXXXXXXXXXXXXXXXXXXXXC C CC CCC C XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*''''''''''''''''''''''--'--M +X-..+MMMM=-.'-+Z---=1ZZ1)+++1M'--''''''''''''''''''''''''''''''''''''''''''''''''''--1+- -----===+=++=
+CCCCCCCCCCCCCCCCCCCCCC.C+.. C''C CC'C.C C..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C
+BBBBBBBBBBBBBBBBBBBBBB' C'' ++ +B' B''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'
+HHHHHHHHHHHHHHHHHHHHHHX XX CC CHX HXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX
+XXXXXXXXXXXXXXXXXXXXXXC CC XC XCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*''''''''''''''''''''''-MA.--X X'-=A'===-.-)-=-+111)++1X'-''''''''''''''''''''''''''''''''''''''''''''''''''''''-.1+---= =-=====+=
+CCCCCCCCCCCCCCCCCCCCCC. '.. C.C +C C.'. +.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.'
+BBBBBBBBBBBBBBBBBBBBBB' +'' B' C '+' C'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'+
+HHHHHHHHHHHHHHHHHHHHHHX CXX HX XCX XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXC
+XXXXXXXXXXXXXXXXXXXXXXC CC XC C C CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*''''''''''''''''''''''++=X--'-MZ ''---'=)AZ-+--- =+)+=)M-'''''''''''''''''''''''''''''''''''''''''''''''''''-'''''''Z=-= -=---=+===
+CCCCCCCCCCCCCCCCCCCCCCC ..+C CC...+ C .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC+
+BBBBBBBBBBBBBBBBBBBBBB ''C BB'''C 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBC
+HHHHHHHHHHHHHHHHHHHHHH XX HHXXX XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHH
+XXXXXXXXXXXXXXXXXXXXXX CC XXCCC CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXX
*'''''''''''''''''''''''.MX-.-=----'''''--1Z)MX-+ -=)==M'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''-M+-=---=-=-=-+
+CCCCCCCCCCCCCCCCCCCCCCC' .'.CC...CCCCC. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.
+BBBBBBBBBBBBBBBBBBBBBBB+ '+' '''BBBBB' BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'
+HHHHHHHHHHHHHHHHHHHHHHHC XCX XXXHHHHHX HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX
+XXXXXXXXXXXXXXXXXXXXXXX C C CCCXXXXXC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*''''''''''''''''''''''''''-+'-=-'''''''--.+X11-=- =+-1-'''''''''''''''''''''''''''''''''''''''''''''''''''''''''.-''''A=----=--=+==
+CCCCCCCCCCCCCCCCCCCCCCCCCC.C+.C.CCCCCCC.C'C .C .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'.CCCC
+BBBBBBBBBBBBBBBBBBBBBBBBBB' C' 'BBBBBBB' + ' 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB+'BBBB
+HHHHHHHHHHHHHHHHHHHHHHHHHHX X XHHHHHHHX C X XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHCXHHHH
+XXXXXXXXXXXXXXXXXXXXXXXXXXC C CXXXXXXXC C CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CXXXX
*'''''''''''''''''''''''''''+----''''''''''''==M-- -=+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=-'--'.Z))==--==+==
+CCCCCCCCCCCCCCCCCCCCCCCCCCCC....CCCCCCCCCCC+ C +CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C..C'
+BBBBBBBBBBBBBBBBBBBBBBBBBBB ''''BBBBBBBBBBBC CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 'B''B+
+HHHHHHHHHHHHHHHHHHHHHHHHHHH XXXXHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH XHXXHC
+XXXXXXXXXXXXXXXXXXXXXXXXXXX CCCCXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CXCCX
*'-+--'''''''''''''''''''----'---+-'''''''''-Z -- - )X='''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.M-'.=-+===-==+++
+C.C..CCCCCCCCCCCCCCCCCCC...C+...C.CCCCCCCCC. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC' .C'C.
+B' ''BBBBBBBBBBBBBBBBBBB''' C''' 'BBBBBBBBB' BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB+ 'B+ '
+HX XXHHHHHHHHHHHHHHHHHHHXXX XXX XHHHHHHHHHX HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHC XHC X
+XC CCXXXXXXXXXXXXXXXXXXXCCC CCC CXXXXXXXXXC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CX C
*'''----'''''''''''--'''-.-'.+'-''''''''''''-M-)+- -+X-'''''''''''''''.'''''''''''''''''''''''''''''''''''''''''''.-'''--+ -==+=+++--
+CCC....CCCCCCCCCCC..CCC.'.C'C+.CCCCCCCCCCCC. .CCCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CCCC..
+BBB''''BBBBBBBBBBB''BBB'+'B+ C'BBBBBBBBBBBB' 'BBBBBBBBBBBBBBB+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB+ BBB''
+HHHXXXXHHHHHHHHHHHXXHHHXCXHC XHHHHHHHHHHHHX XHHHHHHHHHHHHHHHCHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHC HHHXX
+XXXCCCCXXXXXXXXXXXCCXXXC CX CXXXXXXXXXXXXC CXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXCC
*''''''''----'-----.----..-''-+.-''---'''---.MMZ=-== -''''''''''''''''-'''''''''''''''''''''''''''''''''''''''''''--'''''-+=- ----==
+CCCCCCCC....C.....'....''.CC.C'.CC...CCC...' CCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..CCCCCC
+BBBBBBBB''''B'''''+''''++'BB' +'BB'''BBB'''+ BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''BBBBB
+HHHHHHHHXXXXHXXXXXCXXXXCCXHHX CXHHXXXHHHXXXC HHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHHH
+XXXXXXXXCCCCXCCCCC CCCC CXXC CXXCCCXXXCCC XXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXXX
*''''''---.--'..--..-.-.''.''--..---.'---------'M)) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''-''''''Z+= ==--
+CCCCCC...'..C''..''.'.'++'CC..''...'+.........+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+.CCCCC+
+BBBBBB'''+''B++''++'+'+CC+BB''++'''+C'''''''''C BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC'BBBBBC
+HHHHHHXXXCXXHCCXXCCXCXC CHHXXCCXXXC XXXXXXXXX HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH XHHHHH
+XXXXXXCCC CCX CC C C XXCC CCC CCCCCCCCC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CXXXXX
*'---.--..-..-..''''''.'+'.''---.+..-'.'.-------'-.A+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''-''''''-A1- -- -
+C...'..''.''.''++++++'+C+'CC...'C''.+'+'.......C.' CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC.
+B'''+''++'++'++CCCCCC+C C+BB'''+ ++'C+C+'''''''B'+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB'
+HXXXCXXCCXCCXCC C CHHXXXC CCX C CXXXXXXXHXC HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHX
+XCCC CC C C XXCCC C CCCCCCCXC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXC
*.-..''.''.......''.+'++''.------'..-.-.'--------'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''---X+- ----
+'.''++'++'''''''++'C+CC++'......+''.'.'+........CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
++'++CC+CC+++++++CC+ C CC+''''''C++'+'+C''''''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''
+CXCC C CCCCCCC C CXXXXXX CCXCXC XXXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXX
+ C CCCCCC C C CCCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCC
*.''''.'''...''..''''++'+''-------.------+---.---'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''-'-M+ --
+'++++'+++'''++''++++CC+C++.......'......C...'...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.
++CCCC+CCC+++CC++CCCC C CC'''''''+'''''' '''+'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B'
+C C CCC CC XXXXXXXCXXXXXX XXXCXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHX
+ CCCCCCC CCCCCC CCC CCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXC
*.''+'..'.'.''''.'.'''''+..-.------------='------'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''-''+)
+'++C+''+'+'++++'+'+++++C''.'............C+......CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC
++CC C++C+C+CCCC+C+CCCCC ++'+'''''''''''' C''''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB
+C CC C C C C CCXCXXXXXXXXXXXX XXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHH
+ C CCCCCCCCCCCC CCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXX
*'''+''++..''+.''++''+'''''...-----------'='---'------''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''--+1 - -
++++C++CC''++C'++CC++C+++++'''...........+C+...+......CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..C
+CCC CC ++CC +CC CC CCCCC+++'''''''''''C C'''C''''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''
+ CC C CCCXXXXXXXXXXX XXX XXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXX
+ CCCCCCCCCCC CCC CCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC
*''+''''+.'''.''.''''++'+='.--------''----==.--.-----''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''--'= --
+++C++++C'+++'++'++++CC+CC+'........CC....CC'..'.....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..+
+CC CCCC +CCC+CC+CCCC C C+''''''''BB'''' +''+'''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''C
+ C C C CXXXXXXXXHHXXXX CXXCXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXX
+ CCCCCCCCXXCCCC CC CCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC
*''+''''+'''''''''''''+'++'.-----------''---+---.----''''-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''-.) --
+++C++++C+++++++++++++C+CC+'...........CC.CCC...'....CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+.'
+CC CCCC CCCCCCCCCCCCC C C+'''''''''''BB' '''+''''BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC'+
+ CXXXXXXXXXXXHHX XXXCXXXXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH XC
+ CCCCCCCCCCCXXC CCC CCCCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX C
*+''''''+''''''++''+''+'''..----------'''-=M=.--.-''''''''''''''''''''''''''---'--'''''''''''''''''''''''''''''''''''''''''...Z-
+C++++++C++++++CC++C++C+++''..........CCC.C C'..'.CCCCCCCCCCCCCCCCCCCCCCCCCC...C..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'''
+ CCCCCC CCCCCC CC CC CCC++''''''''''BBB' +''+'BBBBBBBBBBBBBBBBBBBBBBBBBB'''B''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB+++
+ CCXXXXXXXXXXHHHX CXXCXHHHHHHHHHHHHHHHHHHHHHHHHHHXXXHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHCCC
+ CCCCCCCCCCXXXC CC CXXXXXXXXXXXXXXXXXXXXXXXXXXCCCXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*'+''+''+'''++='+'+++'++'+'...--------'-'-=-=+---.''-''''''''''''''''''''''--'''''-''''''''''''''''''''''''''''''''''''''''-.-A -
++C++C++C+++CCC+C+CCC+CC+C+'''........C.C.CCCC...'CC.CCCCCCCCCCCCCCCCCCCCCC..CCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.'C
+C CC CC CCC C C C C C+++''''''''B'B' '''+BB'BBBBBBBBBBBBBBBBBBBBBB''BBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'+
+ CCCXXXXXXXXHXHX XXXCHHXHHHHHHHHHHHHHHHHHHHHHHXXHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXC
+ CCCCCCCCXCXC CCC XXCXXXXXXXXXXXXXXXXXXXXXXCCXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*''''''+'+''+'++'+'+''++'''...-------'''''+--=.-------''''''''''''''''''''''''---'''''''''''''''''''''''''''''''''''''''''''.+-= -
+++++++C+C++C+CC+C+C++CC+++'''.......CCCCCCCCC'.......CCCCCCCCCCCCCCCCCCCCCCCC...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'CC
+CCCCCC C CC C C C CC CCC+++'''''''BBBBB +'''''''BBBBBBBBBBBBBBBBBBBBBBBB'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB+
+ CCCXXXXXXXHHHHH CXXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHC
+ CCCCCCCXXXXX CCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*+'+'''+'''+'++++''++'++''''...--''-'-'''''---'---.--'''''''''''''''''''''''----''''''''''''''''''''''''''''''''''''''''''''+=A- --
+C+C+++C+++C+CCCC++CC+CC++++'''..CC.C.CCCC+CCC+...'..CCCCCCCCCCCCCCCCCCCCCCC....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ C CCC CCC C CC C CCCC+++''BB'B'BBBBC C'''+''BBBBBBBBBBBBBBBBBBBBBBB''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ CCCXXHHXHXHHHH XXXCXXHHHHHHHHHHHHHHHHHHHHHHHXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ CCXXCXCXXXX CCC CCXXXXXXXXXXXXXXXXXXXXXXXCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*'+'''++'+'+'++++'+''++'''.....------'''''-+=-+--..---''''''''''''''''''''-----''''-'''-'''''''''''''''''''''''''''''''''''''=Z--=
++C+++CC+C+C+CCCC+C++CC+++'''''......CCCCC.CCCC..''...CCCCCCCCCCCCCCCCCCCC.....CCCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C
+C CCC C C C C CC CCC+++++''''''BBBBB' ''++'''BBBBBBBBBBBBBBBBBBBB'''''BBBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC
+ CCCCCXXXXXXHHHHHX XXCCXXXHHHHHHHHHHHHHHHHHHHHXXXXXHHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ CCCCCCXXXXXC CC CCCXXXXXXXXXXXXXXXXXXXXCCCCCXXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*++''++++''+++++.''.''+''.......-.--''''''-+--=-------''''''''''''''''''''--'''''---''''''''''''''''''''''-'''''''''''''''''-AA+ -
+CC++CCCC++CCCCC'++'++C++'''''''.'..CCCCCC.CCCC.......CCCCCCCCCCCCCCCCCCCC..CCCCC...CCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCC.
+ CC CC +CC+CC CC+++++++'+''BBBBBB' '''''''BBBBBBBBBBBBBBBBBBBB''BBBBB'''BBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB'
+ C C CCCCCCCXCXXHHHHHHX XXXXXXXHHHHHHHHHHHHHHHHHHHHXXHHHHHXXXHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHX
+ C CCXXXXXXC CCCCCCCXXXXXXXXXXXXXXXXXXXXCCXXXXXCCCXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXC
*+''+'''++++''+''+''+''''''......----'-''''.=---------'-''''''''''''''''---'''''--'''''''''''''''''''''''''''''''''''''''''--+1-
+C++C+++CCCC++C++C++C++++++''''''....C.CCCC'CCC.......C.CCCCCCCCCCCCCCCC...CCCCC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC
+ CC CCC CC CC CC CCCCCC++++++''''B'BBBB+ '''''''B'BBBBBBBBBBBBBBBB'''BBBBB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'
+ CCCCCCXXXXHXHHHHC XXXXXXXHXHHHHHHHHHHHHHHHHXXXHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX
+ CCCCXCXXXX CCCCCCCXCXXXXXXXXXXXXXXXXCCCXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC
*++'+'++++'++'+'''''+''''''...-.------'''''-+==------''--'''''''''''''''....'''--''''''''''''''''''''-'''''-''''''''''''''')'++-
+CC+C+CCCC+CC+C+++++C++++++'''.'......CCCCC.CCC......CC..CCCCCCCCCCCCCCC''''CCC..CCCCCCCCCCCCCCCCCCCC.CCCCC.CCCCCCCCCCCCCCC +C
+ C C C C CCCCC CCCCCC+++'+''''''BBBBB' ''''''BB''BBBBBBBBBBBBBBB++++BBB''BBBBBBBBBBBBBBBBBBBB'BBBBB'BBBBBBBBBBBBBBB C
+ CCCXCXXXXXXHHHHHX XXXXXXHHXXHHHHHHHHHHHHHHHCCCCHHHXXHHHHHHHHHHHHHHHHHHHHXHHHHHXHHHHHHHHHHHHHHH
+ C CCCCCCXXXXXC CCCCCCXXCCXXXXXXXXXXXXXXX XXXCCXXXXXXXXXXXXXXXXXXXXCXXXXXCXXXXXXXXXXXXXXX
*+++++++'+++'+''..''''+''''...-.------'-'''-==''-----''.-'-'''''''''''''+===-'-'''''''''''''-'''''''''----'--'-''''''''''''A'.)+ -
+CCCCCCC+CCC+C++''++++C++++'''.'......C.CCC.CC+C.....CC'.C.CCCCCCCCCCCCCCCCC.C.+CCCCCCCCCCC+.CCCCCCCCC....C..C.CCCCCCCCCCCC C'
+ C C CC++CCCC CCCC+++'+''''''B'BBB' CB'''''BB+'B'BBBBBBBBBBBBB 'B'CBBBBBBBBBBBC'BBBBBBBBB''''B''B'BBBBBBBBBBBB B+
+ CC CCCXCXXXXXXHXHHHX HXXXXXHHCXHXHHHHHHHHHHHHH XHX HHHHHHHHHHH XHHHHHHHHHXXXXHXXHXHHHHHHHHHHHH HC
+ C CCCCCCXCXXXC XCCCCCXX CXCXXXXXXXXXXXXX CXC XXXXXXXXXXX CXXXXXXXXXCCCCXCCXCXXXXXXXXXXXX X
*++++++=+++===''''''+++''''.....---------''-'=.'-----'---'-''''''''''''-++'=-'--''''''''''''''''''''---------'--''''''''''-''+=+ -
+CCCCCCCCCCCCC++++++CCC++++'''''.........CC.+C'C.....C...C.CCCCCCCCCCCC.CC+C.C..CCCCCCCCCCCCCCCCCCCC.........C..CCCCCCCCCC.CCCC
+ CCCCCC CCCC+++++'''''''''BB'C +B'''''B'''B'BBBBBBBBBBBB' C 'B''BBBBBBBBBBBBBBBBBBBB'''''''''B''BBBBBBBBBB'BB
+ CCCCCXXXXXXXXXHHX CHXXXXXHXXXHXHHHHHHHHHHHHX XHXXHHHHHHHHHHHHHHHHHHHHXXXXXXXXXHXXHHHHHHHHHHXHH
+ CCCCCCCCCXXC XCCCCCXCCCXCXXXXXXXXXXXXC CXCCXXXXXXXXXXXXXXXXXXXXCCCCCCCCCXCCXXXXXXXXXXCXX
*'+++'+'+'++''.'''''''++.'..'..-----------'-+''-----''---'-'-''''''''''-..-''''''''''''''''''''''''---''-------'''''''''''''-'A
++CCC+C+C+CC++'+++++++CC'+''+''...........C.C+C.....CC...C.C.CCCCCCCCCC.''.CCCCCCCCCCCCCCCCCCCCCCCC...CC.......CCCCCCCCCCCCC.+
+C C C C CC+CCCCCCC +C++C++'''''''''''B' CB'''''BB'''B'B'BBBBBBBBBB'++'BBBBBBBBBBBBBBBBBBBBBBBB'''BB'''''''BBBBBBBBBBBBB'C
+ C C CC CCXXXXXXXXXXXHX HXXXXXHHXXXHXHXHHHHHHHHHHXCCXHHHHHHHHHHHHHHHHHHHHHHHHXXXHHXXXXXXXHHHHHHHHHHHHHX
+ CCCCCCCCCCCXC XCCCCCXXCCCXCXCXXXXXXXXXXC CXXXXXXXXXXXXXXXXXXXXXXXXCCCXXCCCCCCCXXXXXXXXXXXXXC
*++++'+++'+''''.'''''++'''..'..-------------'-''---''-------'--''''''''----'''''''''''''''''-.'''''''''''------'''''''''''--.A+
+CCCC+CCC+C++++'+++++CC+++''+''.............+.CC...CC.......C..CCCCCCCC....CCCCCCCCCCCCCCCCC.'CCCCCCCCCCC......CCCCCCCCCCC..'
+ C C CCCC+CCCCC CCC++C++'''''''''''''C'BB'''BB'''''''B''BBBBBBBB''''BBBBBBBBBBBBBBBBB'+BBBBBBBBBBB''''''BBBBBBBBBBB''+
+ C CC CCXXXXXXXXXXXXX XHHXXXHHXXXXXXXHXXHHHHHHHHXXXXHHHHHHHHHHHHHHHHHXCHHHHHHHHHHHXXXXXXHHHHHHHHHHHXXC
+ CCCCCCCCCCCCC CXXCCCXXCCCCCCCXCCXXXXXXXXCCCCXXXXXXXXXXXXXXXXXC XXXXXXXXXXXCCCCCCXXXXXXXXXXXCC
*+='+=++++''''.'''''++''+''.'---.------------''''--'------'-'--''''''''----'''''''''''''''''''-'''''''''''-''-.---'''''-+'-A)==
+CC+CCCCCC++++'+++++CC++C++'+...'............CCCC..C......C.C..CCCCCCCC....CCCCCCCCCCCCCCCCC++.CCCCCCCCCCC.CC.'...CCCCC.C+.
+ C CCCC+CCCCC CC CC+C'''+''''''''''''BBBB''B''''''B'B''BBBBBBBB''''BBBBBBBBBBBBBBBBBCC'BBBBBBBBBBB'BB'+'''BBBBB' C'
+ C C XXXCXXXXXXXXXXXXHHHHXXHXXXXXXHXHXXHHHHHHHHXXXXHHHHHHHHHHHHHHHHH XHHHHHHHHHHHXHHXCXXXHHHHHX X
+ CCC CCCCCCCCCCCCXXXXCCXCCCCCCXCXCCXXXXXXXXCCCCXXXXXXXXXXXXXXXXX CXXXXXXXXXXXCXXC CCCXXXXXC C
*=+++='++'+'''+''++''+'++...'.....-----------''-'-'-------'----'''''''''-'-'''''''''''''''''.'.-'''''''''--X.'=A---''''+Z=A=-=---
+CCCCC+CC+C+++C++CC++C+CC'''+'''''...........CC.C.C.......C....CCCCCCCCC.C.CCCCCCCCCCCCCCCCC'+'.CCCCCCCCC.C '+ ...CCCCC C
+ C C CCC CC CC C +++C+++++'''''''''''BB'B'B'''''''B''''BBBBBBBBB'B'BBBBBBBBBBBBBBBBB+C+'BBBBBBBBB' +C '''BBBB
+ CCC CCCCCXXXXXXXXXXXHHXHXHXXXXXXXHXXXXHHHHHHHHHXHXHHHHHHHHHHHHHHHHHC CXHHHHHHHHHX C XXXHHHH
+ CCCCCCCCCCCXXCXCXCCCCCCCXCCCCXXXXXXXXXCXCXXXXXXXXXXXXXXXXX CXXXXXXXXXC CCCXXXX
*+'+++'+'''''+''''''++'++''..'....----------''''''''------'--'''''''''''''''''''''''''''-''-...-''''''''''A)X+ '---'-=-=-- -= =- -
+C+CCC+C+++++C++++++CC+CC++''+''''..........CCCCCCCC......C..CCCCCCCCCCCCCCCCCCCCCCCCCCC.CC.'''.CCCCCCCCCC +...C.CC
+ C C CCCCC CCCCCC C CC++C++++''''''''''BBBBBBBB''''''B''BBBBBBBBBBBBBBBBBBBBBBBBBBB'BB'+++'BBBBBBBBBB C'''B'
+ CC CCCCXXXXXXXXXXHHHHHHHHXXXXXXHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXCCCXHHHHHHHHHH XXXHX
+ CCCCCCCCCCXXXXXXXXCCCCCCXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXC CXXXXXXXXXX CCCXC
*++++''''+''+''''''++++'''''''.-----------.-'''''---------'--'''''''''''-'''''''''''''''---...-''''''''''''1XX).'.-=1 - =+--=- --
+CCCC++++C++C++++++CCCC+++++++'...........'.CCCCC.........C..CCCCCCCCCCC.CCCCCCCCCCCCCCC...'''.CCCCCCCCCCCC '+'CC
+ CCCC CC CCCCCC CCCCCCC+'''''''''''+'BBBBB'''''''''B''BBBBBBBBBBB'BBBBBBBBBBBBBBB'''+++'BBBBBBBBBBBB +C+
+ CXXXXXXXXXXXCXHHHHHXXXXXXXXXHXXHHHHHHHHHHHXHHHHHHHHHHHHHHHXXXCCCXHHHHHHHHHHHH C C
+ CCCCCCCCCCC CXXXXXCCCCCCCCCXCCXXXXXXXXXXXCXXXXXXXXXXXXXXXCCC CXXXXXXXXXXXX
*++'''.'++''+''+''''''''''''...-.---------.-'''''---------''''''''''''''-'''''''''''''''--'..--'''''''-'''- 1.MAZ)=)- ---- ---- --
+CC+++'+CC++C++C++++++++++++'''.'.........'.CCCCC.........CCCCCCCCCCCCCC.CCCCCCCCCCCCCCC..+''..CCCCCCC.CCC. '
+ CCC+C CC CC CCCCCCCCCCCC+++'+'''''''''+'BBBBB'''''''''BBBBBBBBBBBBBB'BBBBBBBBBBBBBBB''C++''BBBBBBB'BBB' +
+ C CCCXCXXXXXXXXXCXHHHHHXXXXXXXXXHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHXX CCXXHHHHHHHXHHHX C
+ C CCCCCCCCC CXXXXXCCCCCCCCCXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXCC CCXXXXXXXCXXXC
*'++'''++'''+'+++++''++++'+''.'..-.------'--'''''-'-------'''''''''''''''''''''''''''''-.''.---'''''''''''Z 1M1)-=--=- -- -
++CC+++CC+++C+CCCCC++CCCC+C++'+''.'......C..CCCCC.C.......CCCCCCCCCCCCCCCCCCCCCCCCCCCCC.'++'...CCCCCCCCCCC
+C CCC CCC C CC C CC+C++'+''''''B''BBBBB'B'''''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'+CC+'''BBBBBBBBBBB
+ C CCXCXXXXXXHXXHHHHHXHXXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXC CXXXHHHHHHHHHHH
+ C CCCCCCXCCXXXXXCXCCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC CCCXXXXXXXXXXX
*.'''++++''++''+''++'++++'''.....---.-----.'''''''''------''''''''''''''''''''''''''''--.....'-''''''''''-Z-)) =======--- - -
+'+++CCCC++CC++C++CC+CCCC+++'''''...'.....'CCCCCCCCC......CCCCCCCCCCCCCCCCCCCCCCCCCCCC..'''''+.CCCCCCCCCC.
++CCC CC CC CC C CCC+++++'''+'''''+BBBBBBBBB''''''BBBBBBBBBBBBBBBBBBBBBBBBBBBB''+++++C'BBBBBBBBBB'
+C CCCCCXXXCXXXXXCHHHHHHHHHXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXCCCCC XHHHHHHHHHHX
+ CCC CCCCC XXXXXXXXXCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXCC CXXXXXXXXXXC
*''.++='++''++''+'++++''++'......--.-------'''''--''------'''''''''''''''''-''-''''''-------.'-'''''''''+AAMX++++++=+=== -===
+++'CCC+CC++CC++C+CCCC++CC+''''''..'.......CCCCC..CC......CCCCCCCCCCCCCCCCC.CC.CCCCCC.......'+.CCCCCCCCCC
+CC+ C CC CC C CC C++++++''+'''''''BBBBB''BB''''''BBBBBBBBBBBBBBBBB'BB'BBBBBB'''''''+C'BBBBBBBBB
+ C CCCCCCXXCXXXXXXXHHHHHXXHHXXXXXXHHHHHHHHHHHHHHHHHXHHXHHHHHHXXXXXXXC XHHHHHHHHH
+ CC CCCCCCCXXXXXCCXXCCCCCCXXXXXXXXXXXXXXXXXCXXCXXXXXXCCCCCCC CXXXXXXXXX
*...+++'''+'=+++++'++'''''''.....-.--------'''''-'--'-----'''''''''''''-''''''-''--''---...----'''''''--M= ++)))+++===+++ =-----
+'''CCC+++C+CCCCCC+CC+++++++'''''.'........CCCCC.C..C.....CCCCCCCCCCCCC.CCCCCC.CC..CC...'''....CCCCCCC.C
++++ CCC C C CCCCCCC+++++'+''''''''BBBBB'B''B'''''BBBBBBBBBBBBB'BBBBBB'BB''BB'''+++''''BBBBBBB'
+CCC CCCCCXCXXXXXXXXHHHHHXHXXHXXXXXHHHHHHHHHHHHHXHHHHHHXHHXXHHXXXCCCXXXXHHHHHHHX
+ C CCCCCCCCXXXXXCXCCXCCCCCXXXXXXXXXXXXXCXXXXXXCXXCCXXCCC CCCCXXXXXXXC
*''+++++'++++=++'''=+.''''...''.....--..--''''-''--'-------''''''''''-''''------'''-----..-.--.-'''''-M-- -+11Z)))==+=+===- --+- -
+++CCCCC+CCCCCCC+++CC'++++'''++'''''..''..CCCC.CC..C.......CCCCCCCCCC.CCCC......CCC.....''.'..'.CCCCC. ..
+CC C CCC +CCCC+++CC+++++''++''BBBB'BB''B'''''''BBBBBBBBBB'BBBB''''''BBB'''''++'+''+'BBBBB' ''
+ C CCC CCCCCXXCCXXHHHHXHHXXHXXXXXXXHHHHHHHHHHXHHHHXXXXXXHHHXXXXXCCXCXXCXHHHHHX XX
+ CC CCXXXXCXXCCXCCCCCCCXXXXXXXXXXCXXXXCCCCCCXXXCCCCC C CC CXXXXXC CC
*'+++++++++'''++.'+'''''''.'.......-.--.--''''''''''----.--'''''''''''''''---''''''''''--..--.--''''-'''. -==++1)+)++)++)==- -=----=
++CCCCCCCCC+++CC'+C+++++++'+'''''''.'..'..CCCCCCCCCC....'..CCCCCCCCCCCCCCC...CCCCCCCCCC..''..'..CCCC.CCC'
+C CCC +C CCCCCCC+C+++++++'+''+''BBBBBBBBBB''''+''BBBBBBBBBBBBBBB'''BBBBBBBBBB''++''+''BBBB'BBB+
+ C C CCCCCCCXCXXCXXHHHHHHHHHHXXXXCXXHHHHHHHHHHHHHHHXXXHHHHHHHHHHXXCCXXCXXHHHHXHHHC
+ C CC CCXXXXXXXXXXCCCC CCXXXXXXXXXXXXXXXCCCXXXXXXXXXXCC CC CCXXXXCXXX
*=++=++++++''+'++'+'''''''..........---..-''''''''-'-------''''''''''''''''-'-''''''----.......--''--'''X --==-+))))++=+)++=- ----==
+CCCCCCCCCC++C+CC+C+++++++''''''''''...''.CCCCCCCC.C.......CCCCCCCCCCCCCCCC.C.CCCCCC....'''''''..CC..CCC
+ CC C C CCCCCCC++++++++++'''++'BBBBBBBB'B'''''''BBBBBBBBBBBBBBBB'B'BBBBBB''''+++++++''BB''BBB
+ CCCCCCCCCCXXXCCXHHHHHHHHXHXXXXXXXHHHHHHHHHHHHHHHHXHXHHHHHHXXXXCCCCCCCXXHHXXHHH
+ CCC CXXXXXXXXCXCCCCCCCXXXXXXXXXXXXXXXXCXCXXXXXXCCCC CCXXCCXXX
*=++=++++++''+'++++'.'+''''.......-.---..-'''''''''--------'''''''''''''''''-''''-''----------'''''-'''. =-=-=+)++)+++)+==-- - =--=
+CCCCCCCCCC++C+CCCC+'+C++++'''''''.'...''.CCCCCCCCC........CCCCCCCCCCCCCCCCC.CCCC.CC..........CCCCC.CCC'
+ CC C C+C CCCC+++++++'+'''++'BBBBBBBBB''''''''BBBBBBBBBBBBBBBBB'BBBB'BB''''''''''BBBBB'BBB+
+ C CCCCCCCXCXXXCCXHHHHHHHHHXXXXXXXXHHHHHHHHHHHHHHHHHXHHHHXHHXXXXXXXXXXHHHHHXHHHC
+ C CCC CXXXXXXXXXCCCCCCCCXXXXXXXXXXXXXXXXXCXXXXCXXCCCCCCCCCCXXXXXCXXX
*+'+=+=+++''+''''''''..''''.'....-...-...-''''-'''--------.'''''''''''''''''''''''----''''''''''''-X.''+ === =)=-=+=++)=== ----- -
+C+CCCCCCC++C++++++++''++++'+''''.'''.'''.CCCC.CCC........'CCCCCCCCCCCCCCCCCCCCCCC....CCCCCCCCCCCC. 'CCC
+ C CC CCCCCCCC++CCCC+C++++'+++'+++'BBBB'BBB''''''''+BBBBBBBBBBBBBBBBBBBBBBB''''BBBBBBBBBBBB' +BB
+ CC C CCCCXCCCXCCCXHHHHXHHHXXXXXXXXCHHHHHHHHHHHHHHHHHHHHHHHXXXXHHHHHHHHHHHHX CHH
+ C C CXXXXCXXXCCCCCCCC XXXXXXXXXXXXXXXXXXXXXXXCCCCXXXXXXXXXXXXC XX
*-'===+++''''''.'''+'''''..-.'.--...---..''''''-''-------'--''''''''''''''''''''-''--'--.+'--'''''-.---' ===+=++)===++=+))= - =--
+.+CCCCCC++++++'+++C+++++''.'+'..'''...''CCCCCC.CC.......C..CCCCCCCCCCCCCCCCCCCC.CC..C..'C+..CCCCC.'...+
+'C CCCCCC+CCC CCCCC++'+C+''+++'''++BBBBBB'BB'''''''B''BBBBBBBBBBBBBBBBBBBB'BB''B''+ C''BBBBB'+'''C
+X C CCXC CXXCCCXXXCCHHHHHHXHHXXXXXXXHXXHHHHHHHHHHHHHHHHHHHHXHHXXHXXC XXHHHHHXCXXX
+C C CC CCC XXXXXXCXXCCCCCCCXCCXXXXXXXXXXXXXXXXXXXXCXXCCXCC CCXXXXXC CCC
*-+===+++'++++++''.''+'''''''...--..---.-'''''------------.-'''''''''''''''''''''''--'==A+1)--'-.-1+--.--+++==++==+==)==1++ -==- -
+.CCCCCCC+CCCCCC++'++C+++++++'''..''...'.CCCCC............'.CCCCCCCCCCCCCCCCCCCCCCC..+CC C.C.'C C..'C
+' C CC+CC CCCCCCC+++''++'''+'BBBBB''''''''''''+'BBBBBBBBBBBBBBBBBBBBBBB''C 'B'+ ''+
+X C CCCXXCCXXXCXHHHHHXXXXXXXXXXXXCXHHHHHHHHHHHHHHHHHHHHHHHXX XHXC XXC
+C CC CCC CXXXXXCCCCCCCCCCCC CXXXXXXXXXXXXXXXXXXXXXXXCC CXC CC
*-==+=+++++'++'+'''''+'''''''...---..---''''--...''----.-----'-'+=-'''''''''''''''''+=A1 -)XM)MX1+-)MMX=+++++)++=+))++=+++)- -=-
+.CCCCCCCCC+CC+C+++++C+++++++'''...''...CCCC..'''++....'.....C.+CC.CCCCCCCCCCCCCCCCCCC
+' C C CCCCC CCCCCCC+++'''++'''BBBB''+++CC''''+'''''B'C 'BBBBBBBBBBBBBBBBB
+X CCCXXXCCXXXHHHHXXCCC XXXXCXXXXXHX XHHHHHHHHHHHHHHHHH
+C CCC CCCXXXXCC CCCC CCCCCXC CXXXXXXXXXXXXXXXXX
*+++++'++'+'+''++''''='.''.'.'.--.---.-'-----'.'++'--'-.-'-..-=Z)-'-'''''''''''''''-.'-M -'. --=++=+=+==+)+)+==+++++)===))=
+CCCCC+CC+C+C++CC++++C+'++'+'+'..'...'.C.....+'+CC+..C.'.C.''.C CC.CCCCCCCCCCCCCCC.'+C CC'
+ C C C CC CCCC C+CC+C+C+''+'''+'B'''''C+C C''B'+'B'++' B'BBBBBBBBBBBBBBB'+C B+
+ C C C CXXCXXXCXHXXXXX C XXHXCXHXCCX HXHHHHHHHHHHHHHHHXC HC
+ CC CCC CXCCCCC CCXC CXC C XCXXXXXXXXXXXXXXXC X
*=+++'''''''''+'''''.'.'.''''....-..-'-----.-----'''''''''-.''.=-''-'''''''''''''''--+M11)'''- --===)++)))))++)))))+=))+1))+-
+CCCC+++++++++C+++++'+'+'++++''''.''.+.....'.....CCCCCCCCC.'CC'C.CC.CCCCCCCCCCCCCCC..C CCCC
+ CCCCCCCCC CCCCC+C+C+CCCC++++'++'C'''''+'''''BBBBBBBBB'+BB+ 'BB'BBBBBBBBBBBBBBB'' BBB
+ C C C CCCCXCCX XXXXXCXXXXXHHHHHHHHHXCHHC XHHXHHHHHHHHHHHHHHHXX HHH
+ C C CCCCC CCCCCXXXXXXXXXC XX CXXCXXXXXXXXXXXXXXXCC XXX
*==++'++'''+'++++'''..'..''.'''....=+---'--------'''-''''''''''''---''''''''''''''-++A==M'''--=Z==--=+++)+++)+++++)=+)++)++)+-
+CCCC+CC+++C+CCCC+++''+''++'+++''''CCC..C........CCC.CCCCCCCCCCCC...CCCCCCCCCCCCCC.CC CCC..C
+ C CCC C CCC++C++CC+CCC++++ ''B''''''''BBB'BBBBBBBBBBBB'''BBBBBBBBBBBBBB' BBB''
+ CC CC C CCCC XXHXXXXXXXXHHHXHHHHHHHHHHHHXXXHHHHHHHHHHHHHHX HHHXX
+ CCXCCCCCCCCXXXCXXXXXXXXXXXXCCCXXXXXXXXXXXXXXC XXXCC
*+=++++=''''+'''''..'.....'.+'..'''=-''-------'-'-'''''''--'-'''--'''''''''''''''-=XX=+-'''''''-'A) -++)+)1++)+++=)+++)++++=
+CCCCCCC++++C+++++''+'''''+'C+''+++CC+C.......C.C.CCCCCCC..C.CCC..CCCCCCCCCCCCCCC.C .CCCCCCC.+
+ CCCC CCCCC++C+++++C+ C++CCC CB'''''''B'B'BBBBBBB''B'BBB''BBBBBBBBBBBBBBB' 'BBBBBBB'C
+ CC CCCCC C CC HXXXXXXXHXHXHHHHHHHXXHXHHHXXHHHHHHHHHHHHHHHX XHHHHHHHX
+ XCCCCCCCXCXCXXXXXXXCCXCXXXCCXXXXXXXXXXXXXXXC CXXXXXXXC
*==+'+++'+'+'''..'..'.'......=-.''+Z=''-----'''''''''''------'--'''''''''''''''''++X- =''''''''''-.M- -==+)++=++)))=++=++==+=
+CCC+CCC+C+C+++''+''+'+''''''CC'++C CCC.....CCCCCCCCCCC......C..CCCCCCCCCCCCCCCCCCC CCCCCCCCCCC.'
+ C C C CCC++C++C+C++++++ +CC BB'''''BBBBBBBBBBB''''''B''BBBBBBBBBBBBBBBBB BBBBBBBBBB'+
+ CC CC C CCCCCC C HHXXXXXHHHHHHHHHHHXXXXXXHXXHHHHHHHHHHHHHHHHH HHHHHHHHHHXC
+ XXCCCCCXXXXXXXXXXXCCCCCCXCCXXXXXXXXXXXXXXXXX XXXXXXXXXXC
*+''++'+'''''''..'....'......'XM+'+A+------'-''''''-----''''''''''''''''-'--''''''=+ ='''''''''''''-=1 -+))=++))))1))++)++=++=-
+C++CC+C+++++++''+''''+''''''+ C+C C......C.CCCCCC.....CCCCCCCCCCCCCCCC.C..CCCCC+C CCCCCCCCCCCCCC.C
+ CC C CCCCCCC++C++++C++++++C C ''''''B'BBBBBB'''''BBBBBBBBBBBBBBBB'B''BBBBBC BBBBBBBBBBBBB'
+ CC CCCC CCCCCC XXXXXXHXHHHHHHXXXXXHHHHHHHHHHHHHHHHXHXXHHHHH HHHHHHHHHHHHHX
+ CCCCCCXCXXXXXXCCCCCXXXXXXXXXXXXXXXXCXCCXXXXX XXXXXXXXXXXXXC
*+'+++++'''''''..'........-..'MAA==M+-----''''-''''.=AM+'--''--------------'''--.+-A''''''''''''''''-.X+- ==+==+)++)+)++++==+=))=
+C+CCCCC+++++++''+''''''''.''+ CC C.....CCCC.CCCC'C C+..CC..............CCC..'CC +CCCCCCCCCCCCCCC.'
+ C CCCCCCC++C++++++++'++C '''''BBBB'BBBB+ C''BB''''''''''''''BBB''+ CBBBBBBBBBBBBBBB'+
+ CC CCCCCCCCXCC XXXXXHHHHXHHHHC XXHHXXXXXXXXXXXXXXHHHXXC HHHHHHHHHHHHHHHXC
+ C CCCCCXXXXCXXXX CCXXCCCCCCCCCCCCCCXXXCC XXXXXXXXXXXXXXXC
*++++++''+'''''...........-...+MZX++-''''''''''--+1=- - Z-.-------''-''''''''-----'''''''''''''''''''.-M= -+=-+)+++)+1++)++++)++-
+CCCCCC++C+++++'''''''''''.'''C CC.CCCCCCCCCC..C C'.......CC.CCCCCCCC.....CCCCCCCCCCCCCCCCCCC'C
+ CC CCCCC+++++++++++'+++ 'BBBBBBBBBB'' +'''''''BB'BBBBBBBB'''''BBBBBBBBBBBBBBBBBBB+
+ CCCCCCCCCCCXCCC XHHHHHHHHHHXX CXXXXXXXHHXHHHHHHHHXXXXXHHHHHHHHHHHHHHHHHHHC
+ C CXXXXXXXXXXCC CCCCCCCXXCXXXXXXXXCCCCCXXXXXXXXXXXXXXXXXXX
*+='+''''+'''.'..'..''.....-...=XA-'''''''''''-M) -- +Z-.-'''''''''-'---'--'''''''''''''''''''''''+)-=- -==+))+)+)+1+=+)=++-
+CC+C++++C+++'+''+''++'''''.'''C .CCCCCCCCCCC. C'.CCCCCCCCC.C...C..CCCCCCCCCCCCCCCCCCCCC+CC
+ C CCCC CCC+C++C++CC+++++'+++ 'BBBBBBBBBBB' +'BBBBBBBBB'B'''B''BBBBBBBBBBBBBBBBBBBBBCB
+ C CC CC CCCCCXCCC XHHHHHHHHHHHX CXHHHHHHHHHXHXXXHXXHHHHHHHHHHHHHHHHHHHHH H
+ C CXXXXXXXXXXXC CXXXXXXXXXCXCCCXCCXXXXXXXXXXXXXXXXXXXXX X
*+++++++''++'''..........'......=M-''''''''-'=X=- -- X+------''''''''''''''''''''''''''''''''.'-+-=-==++)))+++)+)+++==-
+CCCCCCC++CC+++''''''''''+''''''C .CCCCCCCC.+C C......CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'+C
+ CC CCC++++++++++C++++++ 'BBBBBBBB'C ''''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB+C
+ CCCCCCCCCC CCCCCC XHHHHHHHHX XXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHC
+ CXXXXXXXXC CCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*++''+++''''''.'..............-.'-''-----+MZ+==+== - M.---------''-''''''''''''''''''''''''''''-Z= =++++))=)==)++++++
+CC++CCC++++++'+''''''''''''''.'+.CC.....C '.........CC.CCCCCCCCCCCCCCCCCCCCCCCCCCC+C
+ CC CCCCCC+C++++++++++++++'+C'BB''''' +'''''''''BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBC
+ C CCCCCCCCCCCCCCXC XHHXXXXX CXXXXXXXXXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ C CXXCCCCC CCCCCCCCCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXX
*='''++++''''.........-.--.----------.-+X+- ===+-- - 1=---'----...------'''''''''''''''''''''''-MX)--)=+++++=++++=++=
+C+++CCCC++++'''''''''.'..'..........'.C C...C....'''......CCCCCCCCCCCCCCCCCCCCCCC.
+ CCC CCCC+++++++++'+''+''''''''''+' '''B''''+++''''''BBBBBBBBBBBBBBBBBBBBBBB'
+ CCCCCCCCCXCXXCXXXXXXXXXXCX XXXHXXXXCCCXXXXXXHHHHHHHHHHHHHHHHHHHHHHHX
+ C CC CCCCCCCCCC C CCCXCCCC CCCCCCXXXXXXXXXXXXXXXXXXXXXXXC
*+=++'''+'''.''.'..'...--..---------.=X=--- ==+==== -Z'-''''--.--...'--'''''''''''''''''''''''''-M=-=========)+=+++-
+CCCC+++C+++'++'+''+'''..''.........'C +.CCCC..'..'''+..CCCCCCCCCCCCCCCCCCCCCCCCC.
+ CCC CCC+CC+C++C+++''++'''''''''+ C'BBBB''+''+++C''BBBBBBBBBBBBBBBBBBBBBBBBB'
+ C C CC CCCXXCCXXXXXXXXXC XHHHHXXCXXCCC XXHHHHHHHHHHHHHHHHHHHHHHHHHX
+ CC CCCCCCCCC CXXXXCC CC CCXXXXXXXXXXXXXXXXXXXXXXXXXC
*+'+''''+''''.'.-....-.----------+MZ+-=++ -+)=+)++= +==1M+--'''-------------'''''''''''''''''''''-.+1--==+=+=+=+===+
+C+C++++C++++'+'.''''.'..........C C..CCC.............CCCCCCCCCCCCCCCCCCCCC.'C
+ C CCCC CCCC+C+'++++'+'''''''''' ''BBB'''''''''''''BBBBBBBBBBBBBBBBBBBBB'+
+ C CXCCCCXCXXXXXXXXXX XXHHHXXXXXXXXXXXXXHHHHHHHHHHHHHHHHHHHHHXC
+ C C CCCCCCCCCC CCXXXCCCCCCCCCCCCCXXXXXXXXXXXXXXXXXXXXXC
*+'++''''.'.'.......-..-.-------=1=----=+--+==)))+- ))=+-+X=--'''''-----.-..--'-'''''''''''''''''''''A1= ====-====+=
+C+CC++++'+'+'''''''.''.'.......C C..CCCCC.....'.''..C.CCCCCCCCCCCCCCCCCCCC+
+ C CCCC+C+C+++++++'++'+''''''' ''BBBBB'''''+'++''B'BBBBBBBBBBBBBBBBBBBBC
+ C C CCCCCCCXCCXCXXXXXXX XXHHHHHXXXXXCXCCXXHXHHHHHHHHHHHHHHHHHHHH
+ C C CCCCCCC CCXXXXXCCCCC C CCXCXXXXXXXXXXXXXXXXXXXX
*++++''+'''.......-.-.--..----'-+--=-+===-=+-=)+)= +++++==-)+--'''''-'--------'--'''''''''''''''''''---1++=====-===
+CCCC++C+++'''''''.'.'..''....C. C..CCCCC.C........C..CCCCCCCCCCCCCCCCCCC..C
+ CC CCC+++++++'+'+''++''''B' ''BBBBB'B''''''''B''BBBBBBBBBBBBBBBBBBB''
+ CCCCCCCXCXCXXCCXXXXHX XXHHHHHXHXXXXXXXXHXXHHHHHHHHHHHHHHHHHHHXX
+ C C CC CCCCXC CCXXXXXCXCCCCCCCCXCCXXXXXXXXXXXXXXXXXXXCC
*+''+'+''''......-.-..-------'-+=-=-=+-=+-- ==++== ==+=+===- =A+----'-''-'---------''-'''''''''''''''''''-.+AZ)= --=
+C++C+C++++''''''.'.''.......C.C C....C.CC.C.........CC.CCCCCCCCCCCCCCCCCCC.'C
+ CC C CCCC++++++'+'++'''''''B' ''''B'BB'B'''''''''BB'BBBBBBBBBBBBBBBBBBB'+
+ CCCCCCXCXCCXXXXXXXHX XXXXHXHHXHXXXXXXXXXHHXHHHHHHHHHHHHHHHHHHHXC
+ C C CCCCCCCXC CCCCXCXXCXCCCCCCCCCXXCXXXXXXXXXXXXXXXXXXXC
*++'''''''''.''.'-..--.------'-X)+==-=====- )+++=- ))++++=+-= +-'..-----'---------'-''''''''''''''''''''''''''+Z)==
+CC+++++++++'++'+.''..'......C. C+''.....C.........C.CCCCCCCCCCCCCCCCCCCCCCCCCCC
+ CCCCCCCCC+CC+C'++''+''''''B' C++'''''B'''''''''B'BBBBBBBBBBBBBBBBBBBBBBBBBB
+ C C XCCXXCXXXXXXHX CCXXXXXHXXXXXXXXXHXHHHHHHHHHHHHHHHHHHHHHHHHHH
+ C CC CCCCCCXC CCCCCXCCCCCCCCCXCXXXXXXXXXXXXXXXXXXXXXXXXXX
*+++'+''''.'....'...----------==))+=====-=-=)+)++- )+++++=+==- -Z+..'..----------------'-''''''-'''''''''''''''-.M)
+CCC+C++++'+''''+'''..........C C''+''................C.CCCCCC.CCCCCCCCCCCCCCC.'
+ C CCCC+C++++C+++'''''''''' ++C++''''''''''''''''B'BBBBBB'BBBBBBBBBBBBBBB'+
+ C CCCC CCCXXXXXXXXXX CC CCXXXXXXXXXXXXXXXXHXHHHHHHXHHHHHHHHHHHHHHHXC
+ CCCCCCCCCC CCCCCCCCCCCCCCCCXCXXXXXXCXXXXXXXXXXXXXXXC
*+=+'''''''......'...--------'=))+++=-==)==+1+++= )+)+)+++++== =M.--'''..'.--.-.----------''-'''''''''''''-'----.
+CCC+++++++''''''+'''........CC '..+++''+'..'.'..........CC.CCCCCCCCCCCCC.C....'
+ CCCCCCC++++++C+++''''''''B +''CCC++C+''+'+''''''''''BB'BBBBBBBBBBBBB'B''''+
+ CCCCCC CCCXXXXXXXXH CXX CC CXXCXCXXXXXXXXXXHHXHHHHHHHHHHHHHXHXXXXC
+ CCCCCCCCX CC CC C CCCCCCCCCCXXCXXXXXXXXXXXXXCXCCCC
*+'++=+''''..'.'...'--------'-=-+++++-++)==)+=)++ +)1)+))=+++=- +--'-.+-='.-''...---------'''''''''''-'------'''
+C+CCCC++++''+'+'''+........C.C C.C.'CCC+'.++'''.........CCCCCCCCCCC.C......CCC
+ C CCCC++C+C+++C''''''''B' 'B'+ C+'CC+++'''''''''BBBBBBBBBBB'B''''''BBB
+ CC C CCC XXXXXXXXHX XHXC CX CCCXXXXXXXXXHHHHHHHHHHHXHXXXXXXHHH
+ CCCCCCCCXC CXC C CCCCCCCCCXXXXXXXXXXXCXCCCCCCXXX
*++++'''.....''.'-.-----'-'-''-+11+)=+=+= =++))+= +))+)))++++==--- -A.----.''=Z=--------'-'''''''''''''''-''---'''
+CCCC+++'''''++'+.'.....C.C.CCC '....'++C C........C.CCCCCCCCCCCCCCC.CC...CCC
+ CCC+++++CC+C'+'''''B'B'BB +''''+CC ''''''''B'BBBBBBBBBBBBBBB'BB'''BBB
+ CCCCC C XCXXXXXHXHXHH CXXXXC XXXXXXXXHXHHHHHHHHHHHHHHHXHHXXXHHH
+ C CCCCCXCXCXX CCCC CCCCCCCCXCXXXXXXXXXXXXXXXCXXCCCXXX
*+++''+'.'.'.'''..-.---------M1111)+)+=++--=+++=- ++)++++)++=-- -=ZM--+-''''''-.-='----''''''''''''''''''''''---'---
+CCC++C+'+'+'+++''.'......... CCC.CCCCCC.'CC+....CCCCCCCCCCCCCCCCCCCCCC...C...
+ CC C+C+C+CCC++'+''''''''' 'BBBBBB'+ C''''BBBBBBBBBBBBBBBBBBBBBB'''B'''
+ C C C CCXCXXXXXXXXX XHHHHHHXC XXXXHHHHHHHHHHHHHHHHHHHHHHXXXHXXX
+ C CCCCCCCCC CXXXXXXC CCCCXXXXXXXXXXXXXXXXXXXXXXCCCXCCC
*=++''''.....'....----------X))1))+++=++++===+-= -++)++++-=+==)Z-'-'''''''''''''-''-'''''-''''''-'''''''''''--------
+CCC++++'''''+''''.......... C+.CCCCCCCCCCCCC.CC.CCCCC.CCCCCC.CCCCCCCCCCC........
+ CCCC+++++C++++'''''''''' C'BBBBBBBBBBBBB'BB'BBBBB'BBBBBB'BBBBBBBBBBB''''''''
+ CCCCC CCCCXXXXXXXXXX XHHHHHHHHHHHHHXHHXHHHHHXHHHHHHXHHHHHHHHHHHXXXXXXXX
+ CCCCCCCCCC CXXXXXXXXXXXXXCXXCXXXXXCXXXXXXCXXXXXXXXXXXCCCCCCCC
*+=+++'''.'..''..---.-'..''-A))))1++=+=-= ==---- ==-)==---)X-+-'''''''''''''''''''''''''-..-''-----'++''''---'-----.
+CCCCC+++'+''++''...'.+''CC. CC.CCCCCCCCCCCCCCCCCCCCCCCCC.''.CC.....+ CCCCC...C.....'
+ CCC+C++CC++'''+'C++BB' 'BBBBBBBBBBBBBBBBBBBBBBBBB'++'BB'''''C BBBB'''B'''''+
+ C CC CCXXXCX CCHHX XHHHHHHHHHHHHHHHHHHHHHHHHHXCCXHHXXXXX HHHHXXXHXXXXXC
+ CCC C XXC CXXXXXXXXXXXXXXXXXXXXXXXXXC CXXCCCCC XXXXCCCXCCCCC
*++'+'+..''...'......--''''')+)11Z111)+=======++- ==+++++)1X''''--''''''''''''''''''''--'''---'------'''''---'--------
+CC+C+C''++'''+''''''..CCCC+ +CCC..CCCCCCCCCCCCCCCCCCCC..CCC...C......CCCCC...C........
+ C C ++CC+++C++++++''BBBBC CBBB''BBBBBBBBBBBBBBBBBBBB''BBB'''B''''''BBBBB'''B''''''''
+ CC CCC CCCCCCXXHHHH HHHXXHHHHHHHHHHHHHHHHHHHHXXHHHXXXHXXXXXXHHHHHXXXHXXXXXXXX
+ CCXXXX XXXCCXXXXXXXXXXXXXXXXXXXXCCXXXCCCXCCCCCCXXXXXCCCXCCCCCCCC
*+++'''.'..'...'...--''''''+ZZZZXZ111)++==-==-=- XAAM===++..-''''''''''''''''''''''''''--'''''-------------------''--''
+CCC+++'+''+'''+'''..CCCCCCC CCCCC''.CCCCCCCCCCCCCCCCCCCCCCCCCC..CCCCC...................CC..CC
+ CCC+C++C+++C+++''BBBBBB ++'BBBBBBBBBBBBBBBBBBBBBBBBBB''BBBBB'''''''''''''''''''BB''BB
+ C CC CCC CCCXXHHHHHH CCXHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHHHXXXXXXXXXXXXXXXXXXXHHXXHH
+ CCXXXXXX CXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXXXCCCCCCCCCCCCCCCCCCCXXCCXX
*+++'+''.'.'.....-''''----'-)AAM==+'=MZXZ)=+=== - ='-'-''''''''''''''''''''''''''''''''''''''''''-------------.--'''-'--''
+CCC+C++'+'+'''''.CCCC....CC CCC+C +.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.............'..CCC.C..CC
+ C CC+C+C+++++'BBBB''''B C C'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''''''''''''+''BBB'B''BB
+ C C CCCCCXHHHHXXXXH XHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXXXXXXXXXXCXXHHHXHXXHH
+ CXXXXCCCCX CXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCCCCCCCCCC CCXXXCXCCXX
*'+'++...'.+.''.'''-------''-'-+-XM+'-''''-=X+- - +- M'''''''''''''''-''''''''''''''''''''''''''''----.-.-..--..'+-'''-------
++C+CC'''+'C'++'CCC.......CC.C.CC C+CCCCC.C CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCC....'.'.''..''+C.CCC.......
+C C +++C+ +CC+BBB'''''''BB'B' C BBBB' BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBB''''+'+'++''++C 'BBB'''''''
+ CCC C C CHHHXXXXXXXHHXHX HHHHX HHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXCXCXCCXXCC XHHHXXXXXXX
+ XXXCCCCCCCXXCXC XXXXC XXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCC C C CC CXXXCCCCCCC
*'+++'.-'''..--''-..-.---'''''''-.+AAX-+--.''-.+M+-=1) 1--''''''''''''''''-'''''''''''''''''''''''''--.'''+='+-M-=M--+-''-''----
++CCC+'.+++''..CC.''.'...CCCCCCC.'C CC..'CC.'C C.C ..CCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCC..'+++CC+CC CC CCC.CC.CC....
+C C+'CCC++''BB'++'+'''BBBBBBB'+ ''+BB'+ ' ''BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBB''+CCC C 'BB'BB''''
+ CX CCXXHHXCCXCXXXHHHHHHHXC XXCHHXC X XXHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHXXC XHHXHHXXXX
+ C CCXXC C CCCXXXXXXXC CC XXC C CCXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXCC CXXCXXCCCC
*'+''...+''.-'--.....'.-''-'-''-'''-.'++.++-''----'---'MMM+---'--'''''''''''''''-''''''''''-'''''''''''-++-AXZXZZXXXXM-M-=--.'+'-----
++C++'''C++'.C..'''''+'.CC.C.CC.CCC.'+CC'CC.CC....C...+ C...C..CCCCCCCCCCCCCCC.CCCCCCCCCC.CCCCCCCCCCC.CCC C CCCC'CC+.....
+C CC+++ CC+'B''+++++C+'BB'B'BB'BBB'+C + 'BB''''B'''C '''B''BBBBBBBBBBBBBBB'BBBBBBBBBB'BBBBBBBBBBB' +B C'''''
+ CCC CXHXXCCCCC CXHHXHXHHXHHHXC C XHHXXXXHXXX XXXHXXHHHHHHHHHHHHHHHXHHHHHHHHHHXHHHHHHHHHHHX CH XXXXX
+ CXCC CXXCXCXXCXXXC CXXCCCCXCCC CCCXCCXXXXXXXXXXXXXXXCXXXXXXXXXXCXXXXXXXXXXXC X CCCCC
*'++'''++'.-'--..--...--'-------'-'-'''''--''-.-----'---''-------'''''''''''''-''''''''''''''''''''''''''---.''+''=+++=.+''MM-'+'----
++CC+++CC+'.C..''..'''..C.......C.C.CCCCC..CC.'.....C...CC.......CCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCC...'++C++CCCCC'C++ .+C+....
+C CCC C+'B''++''+++''B'''''''B'B'BBBBB''BB'+'''''B'''BB'''''''BBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBB'''+CC CC + CC 'C C''''
+ CXHXXCCXXCCCXXHXXXXXXXHXHXHHHHHXXHHXCXXXXXHXXXHHXXXXXXXHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHXXXC C X XXXX
+ CXCC CC CCXCCCCCCCXCXCXXXXXCCXXC CCCCCXCCCXXCCCCCCCXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXCCC C CCCC
*'''+''++-''-.-'-.+'..---------'-'--''-'----'-.---.---..'--------'''''''''''''-'-''''''''''-'''-'''''''''''''-'+++---'.'+=+-Z'--'=---
++++C++CC.CC.'.+.'C+''.........C.C..CC.C....C.'...'...''C........CCCCCCCCCCCCC.C.CCCCCCCCCC.CCC.CCCCCCCCCCCCC.+CCCCCC+'+CCCC +..+C...
+CCC CC 'BB'+'C'+ C++'''''''''B'B''BB'B''''B'+'''+'''++B''''''''BBBBBBBBBBBBB'B'BBBBBBBBBB'BBB'BBBBBBBBBBBBB'C C+C C''C '''
+ XHHXCX XC CCXXXXXXXXXHXHXXHHXHXXXXHXCXXXCXXXCCHXXXXXXXXHHHHHHHHHHHHHXHXHHHHHHHHHHXHHHXHHHHHHHHHHHHHX C XX XXX
+ CXXC C C CCCCCCCCCXCXCCXXCXCCCCXC CCC CCC XCCCCCCCCXXXXXXXXXXXXXCXCXXXXXXXXXXCXXXCXXXXXXXXXXXXXC CC CCC
*++'+'''-'-...-..''..-----.------'--''''-.----.--'-----.--'-----''''''''''''''-'''''''-''''''-'''''''''''''''-=+''=-=.''---++'...='--
+CC+C+++.C.'''.''++''.....'......C..CCCC.'....'..C.....'..C.....CCCCCCCCCCCCCC.CCCCCCC.CCCCCC.CCCCCCCCCCCCCCC.CC++CCC'CC...CC+'''C+..
+ C CCC'B'+++'++CC++'''''+''''''B''BBBB'+''''+''B'''''+''B'''''BBBBBBBBBBBBBB'BBBBBBB'BBBBBB'BBBBBBBBBBBBBBB' CC +BB''' C+++ C''
+ XHXCCCXCC CCXXXXXCXXXXXXHXXHHHHXCXXXXCXXHXXXXXCXXHXXXXXHHHHHHHHHHHHHHXHHHHHHHXHHHHHHXHHHHHHHHHHHHHHHX CHHXXX CCC XX
+ CXC C CCCCC CCCCCCXCCXXXXC CCCC CCXCCCCC CCXCCCCCXXXXXXXXXXXXXXCXXXXXXXCXXXXXXCXXXXXXXXXXXXXXXC XXCCC CC
*+++'+'---...-.''+'.-'-'-'.------'--'----..---.----.--.'.-----.-''''''''''''''-''''''-'''''''''''''''''''''''-1)M+AA+.'''''-'--.---.-
+CCC+C+...'''.'++C+'.C.C.+'......C..C....''...'....'..'+'.....'.CCCCCCCCCCCCCC.CCCCCC.CCCCCCCCCCCCCCCCCCCCCCC. C C'CCCCC.C..'..C'.
+ C C'''+++'+CC C+'B'B'C+''''''B''B''''++'''+''''+''+C+'''''+'BBBBBBBBBBBBBB'BBBBBB'BBBBBBBBBBBBBBBBBBBBBBB' +BBBBB'B''+'' +'
+ XXXCCCXC CXHXHX CXXXXXXHXXHXXXXCCXXXCXXXXCXXC CXXXXXCXHHHHHHHHHHHHHHXHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHX CHHHHHXHXXCXX CX
+ CCC C CXCXC CCCCCCXCCXCCCC CCC CCCC CC CCCCC CXXXXXXXXXXXXXXCXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXC XXXXXCXCC CC C
*+++''--...---.+++'-'--'-'.----.-'.-'----.----.--.--.-...----..-'''''''''''''--''''''-'-''''--'-''''''''-''''+11ZMXM+''''''.''---.-.-
+CCC++..'''...'CCC+.C..C.+'....'.C'.C....'....'..'..'.'''....''.CCCCCCCCCCCCC..CCCCCC.C.CCCC..C.CCCCCCCC.CCCCC CCCCCCC'CC...'C'.
+ CC''+++'''+ C'B''B'C+''''+'B+'B''''+''''+''+''+'+++''''++'BBBBBBBBBBBBB''BBBBBB'B'BBBB''B'BBBBBBBB'BBBB BBBBBB+BB'''+ +'
+ XXCCCXXXC XHXXHX CXXXXCXHCXHXXXXCXXXXCXXCXXCXCCCXXXXCCXHHHHHHHHHHHHHXXHHHHHHXHXHHHHXXHXHHHHHHHHXHHHH HHHHHHCHHXXXC CX
+ CC CCC CXCCXC CCCC CX CXCCCC CCCC CC CC C CCCC CXXXXXXXXXXXXXCCXXXXXXCXCXXXXCCXCXXXXXXXXCXXXX XXXXXX XXCCC C
*++'+'--'.--.'+''.-'.'''.'--.----'.-'----...--.----.'--''.----'-'-'-'''''''-''---''--''-''-----'--''''-'------'''''--''--''''-.-=='''
+CC+C+..+'..'+C++'.C'+CC'+..'....C'.C....'''..'....'+..++'....+.C.C.CCCCCCC.CC...CC..CC.CC.....C..CCCC.C......CCCCC..CC..CC+C.'CCC+++
+ C C''C+''+C CC+'B+CBB+C''+''''B+'B''''+++''+''''+C''CC+''''C'B'B'BBBBBBB'BB'''BB''BB'BB'''''B''BBBB'B''''''BBBBB''BB''BBCB'+ CCC
+ XX CXXC CXHC HHC XXCXXXXHCXHXXXXCCCXXCXXXXC XX CXXXX XHXHXHHHHHHHXHHXXXHHXXHHXHHXXXXXHXXHHHHXHXXXXXXHHHHHXXHHXXHH HXC
+ CC CC CX XX CC CCCCX CXCCCC CC CCCC CC CCCC CXCXCXXXXXXXCXXCCCXXCCXXCXXCCCCCXCCXXXXCXCCCCCCXXXXXCCXXCCXX XC
*+.''-...---.''..'-..'-..''.-'.-'.'------.--'.---'-..'..+--.-'-'''''''''''-''--''''''--''-'''-'''----------+==--==--'''''''.'-=='''+'
+C'++.'''...'++''C.''C.''CC'.C'.C'+......'..C'...+.''C''C..'.+.CCCCCCCCCCC.CC..CCCCCC..CC.CCC.CCC..........CCCCCCC..CCCCCCC'C.CC+++C+
+ +CC'+++'''+CC++B'++B'++BB+'B+'B+C''''''+''B+'''C'++B++ ''+'C'BBBBBBBBBBB'BB''BBBBBB''BB'BBB'BBB'''''''''' ''BBBBBBB+B' CCC C
+ C XCCCXXXC CCHXCCHXCCHHCXHCXHC XXXXXXCXXHCXXX XCCHCC XXCX XHHHHHHHHHHHXHHXXHHHHHHXXHHXHHHXHHHXXXXXXXXXX XXHHHHHHHCHX
+ C CCC XC XC XX CX CX CCCCCC CCX CCC C X CC C CXXXXXXXXXXXCXXCCXXXXXXCCXXCXXXCXXXCCCCCCCCCC CCXXXXXXX XC
*''+'.'.---.'''---..--.'---'-'.-'..----.-----+----..+--.''.'''.'---------'''''''''-----''-''-----------'+MX+- =.''''''''.'+ZX-+=++
+++C+'+'...'+++...''..'+...+.C'.C''....'.....C....''C..'++'+++'C.........CCCCCCCCC.....CC.CC...........+C 'CCCCCCCC'CC CCCCC
+CC C+C+'''+CCC'''++''+C'''C'B+'B++''''+''''' ''''++ ''+CC+CCC+B'''''''''BBBBBBBBB'''''BB'BB'''''''''''C +BBBBBBBB+B
+ C CXXXC XXXCCXXC XXX XHCXHCCXXXXCXXXXX XXXXCC XXC C CHXXXXXXXXXHHHHHHHHHXXXXXHHXHHXXXXXXXXXXX CHHHHHHHHCH
+ CCC CCC CC CCC CX CX CCCC CCCCC CCCC CC XCCCCCCCCCXXXXXXXXXCCCCCXXCXXCCCCCCCCCCC XXXXXXXX X
*'''.-.---.'+.---'.--''-'-'-'-.--'.----.----.+'--..''--.'.''+'-------------'''''''------'----'---''----)=- - -A'''''---AA''-+'.'++
++++'.'...'+C'...+'..++.C.+.C.'..+'....'....'C+..''++..'+'++C+.............CCCCCCC......C....C...CC...C CCCCC.CC ++CC+'+CC
+CCC+'+'''+C +'''C+''CC'B'C'B'+''C+''''+''''+ C''++CC''+C+CC C'''''''''''''BBBBBBB''''''B''''B'''BB''' BBBBB' CC C+C
+ CXCXXXC CXXX CXX XHX XHXCXX CXXXXCXXXXC XXCC XXC C XXXXXXXXXXXXXHHHHHHHXXXXXXHXXXXHXXXHHXXX HHHHHX C
+ C CCC CCC CC CXC CXC CC CCCC CCCC CC CC CCCCCCCCCCCCCXXXXXXXCCCCCCXCCCCXCCCXXCCC XXXXXC
*+''...---'+.'--..--.+.'-..---..-..'----..-.''+=--'.'-.'+=+=-+-----'---+A1'''-'---.''-----------''--'Z=- ----+A'-'''-+MAMMMAZ+-+.----
+C++'''...+C'+..''..'C'C.''...''.''C....''.'++CC..+'+.'+CCCCCC.....C...C +CC.C...'++...........CC..+ +.CCC.C CC'....
+ CC+++'''C +C''++''+ +B'++'''++'++B''''++'+CC ''C+C'+C '''''B''' CBB'B'''+CC'''''''''''BB''C C'BBB' +''''
+ CCCXXX C XXCCXXC CHXCCXXXCCXCCHXXXXCCXC XX C XC XXXXXHXXX HHXHXXXC XXXXXXXXXXXHHXX XHHHX CXXXX
+ CCC CC CC XC CCC C XCCCC C CC C CCCCCXCCC XXCXCCC CCCCCCCCCCCXXCC CXXXC CCCC
*'=...---''..--'.--.'-'-..----.--------.---''..A-.'..-.=A1= )1M+.'++-X= -+X+'.'''+.-------------'+X==--++X+---.'+=-ZXAXXM-M+ -==1XMM
++C'''...++''..+'..'+.C.''....'........'...++'' .'+''.'C C'+CCC C+'+++C'.............+C C...'+CCC C
+C +++'''CC++''C+''+C'B'++''''+''''''''+'''CC++ '+C++'+ +C C+CCC +'''''''''''''C '''+C
+ CCCXXX CCXX CXXC XHXCCXXXXCXXXXXXXXCXXX CC XC CCXC C C CXXXXXXXXXXXXX XXXC
+ CCC CC CC CXC CCCC CCCCCCCC CCC C C CCCCCCCCCCCCC CCC
*''...--.''.--..--...--..-----.--.--.-----''.-.'+'.'+'-+ =+1)+++--==- =)ZZXM=+.--------'=Z+=+ =1XM+'--.-X)+=-=+)1+=111= - =
+++'''..'++'..''..'''..''.....'..'..'.....++'.'+C+'+C+C CC'........+C C+..'C
+CC+++''+CC+''++''+++''++'''''+''+''+'''''CC+'+C C+C C +''''''''C C''+
+ CCCXXC CXXCCXXCCCXXCCXXXXXCXXCXXCXXXXX CXC C CXXXXXXXX XXC
+ CC CC CC CC CCCCC CC CC CCCCC C CCCCCCCC CC
*+'....-...--..--.'.--...--.--....-...---'''.-'..+'=MM= - -==--====-==- -+=)Z='.-'+-X= =)X'---'MZ1)----=--=1Z= ==-=---==+-
+C+''''.'''..''..'+'..'''..'..''''.'''...+++'.+''C+C C+'.+CC +...+
+ C++++'+++''++''+C+''+++''+''++++'+++'''CCC+'C++ C C+'C C'''C
+ CCCCXCCCXXCCXXC CXXCCCXXCXXCCCCXCCCXXX CX CC CX XXX
+ C CC CC CC CC CC C CCC C C CCC
*'''...'-----.--.+'--.'.--.-.'.......--.''...'...+A+- - - -=+=====++-=== - +=) +A'--.'-X=--====+---==-+Z+===++==-=-+
++++'''+.....'..'C+..'+'..'.'+'''''''..'++'''+'''C +..'+C
+CCC+++C'''''+''+ C''+C+''+'+C+++++++''+CC+++C+++ C''+C
+ CCC XXXXXCXXC XXC CXXCXC CCCCCCCXXC CCC CCC XXC
+ CCCCC CC CC CC C CC CC
*..'...--------..---.-..''...'.....---..''''....'++- - -==++=+=+)===-+=- --++)A=+'---=A) --=-====+==+=+===+====+==+-===--
+''+'''........''...'.''++'''+'''''...''++++''''+C CC+...C
+++C+++''''''''++'''+'++CC+++C+++++'''++CCCC++++C C'''
+CC CCCXXXXXXXXCCXXXCXCC CCC CCCCCXXXCC CCCC XXX
+ CCCCCCCC CCC C CCC CCC
*.'.....------...--.-..........''....''+++++==--A) +ZAAAAX1+- -=====++======))1AM+'--.'MZ1)-----==========+=+=+==-+==+++-=+-=-=
+'+'''''......'''..'.''''''''''++''''++CCCCCCCCC C+..'+
++C+++++''''''+++''+'++++++++++CC++++CC C''+C
+C CCCCCXXXXXXCCCXXCXCCCCCCCCCC CCCC XXC
+ CCCCCC CC C CC
*=...-.--------.-----..'.'''.'''''+=--A1)))+++==- -+----'--.+A1)+----+==++---+)A+.---=ZZ1)+= ---==---=+=)++====+++++===+==+=+=====
+C'''.'........'.....''+'+++'+++++CCCC C....C..'C C'...C
+ +++'+''''''''+'''''++C+CCC+CCCCC ''''B''+ +'''
+ CCCXCXXXXXXXXCXXXXXCC C C XXXXHXXC CXXX
+ C CCCCCCCC CCCCC CCCCXCC CCC
*A.'...-.-.-.-..--.-.'.-''''''+++A+= -- -=--= ----- +----'''''''''-.+MA1+++=1A='--+''MAZ+-==-- --=---==-=++)=+++=-==+==+)+=++)=+=++-+
+ '+'''.'.'.'.''..'.'+'.++++++CCC C....CCCCCCCCC.'C C+..C++
+ +C+++'+'+'+'++''+'+C+'CCCCCC ''''BBBBBBBBB'+ C'' CC
+ C CCCXCXCXCXCCXXCXC CX XXXXHHHHHHHHHXC XX
+ C C C C CC C C CCCCXXXXXXXXXC CC
* Z'.....-.........++++++=--MZ1))-==-=++=-==---- A----''+++.--'''''''--.'..'..=-ZX.-''--.==MZ1)+ ------=-=====-++=+===)+=-++)++++==
+ +'''''.'''''''''CCCCCCCCC ....++CCC'..CCCCCCC..'+''+''CC '.CC..'CC
+ C+++++'+++++++++ ''''CC +''BBBBBBB''+C++C++ +'BB''+
+ CCCCCXCCCCCCCCC XXXX CXXHHHHHHHXXC CC CC CXHHXXC
+ C CCCC CCXXXXXXXCC CXXCC
* 1=''.'.''''+=--AZ11+)+)+++===+=+===+====-=--=--++'-XZ)+=--=+1-.''-'''--'+XX+''--''''''''''''--'=MX++------=-+=++=+++=======+=+++==
+ C++'+'++++CCCC C+C C'CC.CCC..+C C++..CCCCCCCCCCCC..+C
+ CC+C+CCCC C +BB'BBB''C CC''BBBBBBBBBBBB''C
+ C C CHHXHHHXX XXHHHHHHHHHHHHXX
+ XXCXXXCC CCXXXXXXXXXXXXCC
* =11XMXX11)+=-+=- ----==)++=+=+++-++)++-=====+)+M+-- - - --1M-'--'A=-+.+.-'''''''''''''''''''''--.+M1+=-=---====+=+=+===+++==---
+ C .C..+ CCC'C'.CCCCCCCCCCCCCCCCCCCCC..'C
+ 'B''C + +'BBBBBBBBBBBBBBBBBBBBB''+
+ XHXX C CXHHHHHHHHHHHHHHHHHHHHHXXC
+ CXCC CXXXXXXXXXXXXXXXXXXXXXCC
* = - - -----===-+=+++==++=++=+++=--+--+XMA -- --+1M-.--'+-1==A'.'++----'--'''''''''''''''''''''-.=X=- - -+--====++++=+===-
+ C'..+CC +'+CCCCCC+..CCCCCCCCCCCCCCCCCCCCC.'C
+ +''C C+C C''BBBBBBBBBBBBBBBBBBBBB'+
+ CXX C XXHHHHHHHHHHHHHHHHHHHHHXC
+ CC CCXXXXXXXXXXXXXXXXXXXXXC
* ====++-+- -+==+)++==+)))++)+))+)+++=====-+AX=X-+1ZM=+..'=-1-- -- ====---=--=+X-+'.---'''''''''''''''''-'A)+==---===-++++++-+=
+ C CC''+CC CC+'...CCCCCCCCCCCCCCCCC.+
+ ++C C+'''BBBBBBBBBBBBBBBBB'C
+ CC CXXXHHHHHHHHHHHHHHHHHX
+ CCCXXXXXXXXXXXXXXXXXC
* -+====111= +=+=++=+++))+)))))++)++)+===--1X'-'-'.-.+A11)==- -=+=- -==++=====---=+)11A=+'--'''''''''''''''-.-A)+---=-====+)=-=
+ +.+C+'.'C CC+..CCCCCCCCCCCCCCC.'C
+ C'C C+'+ C''BBBBBBBBBBBBBBB'+
+ X CXC XXHHHHHHHHHHHHHHHXC
+ C C CCXXXXXXXXXXXXXXXC
* ++)+=-=++1+ =+++=++)+++)+))++))+++=++++==+A+'---'AZZ)+- -========-= ===+=++=====-=----=++=+)1M-'--''''''''''''-.'-1+=-=--++-+X+
+ C+...+ C+..CCCCCCCCCCCC.'+C C.C
+ C'''C C''BBBBBBBBBBBB'+C '
+ XXX XXHHHHHHHHHHHHXC X
+ CCC CCXXXXXXXXXXXXC C
* =++=+=====-= -+=====+=) ++)++))+)++++)ZM='--.=--=== --+--=+====+++++-= =-+=+-=+====+++-===- - - -+)X-+.-''''''''''--+- -+'''''
+ C+..'CCCCC CC'.CCCCCCCCCC.C CCCCCC
+ C''+ +'BBBBBBBBBB' BBBBB
+ XXC CXHHHHHHHHHHX HHHHH
+ CC CXXXXXXXXXXC XXXXX
* -+)+==-=-=== -=++=+)=+++)++++111ZXM='-.--'=A)M.-''' ---=-=++++++++)+=+++==+++++++++=+==+++== --- - - - =+ZX+-'''''''''.-A-''''''
+ C+.'..+C '.CC+ C.CCCCCCCCC'C .CCCCCC
+ C'+''C +'BBC 'BBBBBBBBB+ 'BBBBBB
+ XCXX CXHH XHHHHHHHHHC XHHHHHH
+ C CC CXX CXXXXXXXXX CXXXXXX
* ==+== ===-- -=-========++==)1X-='.----+-MA1)---''''. ------=-+++=+))+++=-===+=-=+=====+=+===+=+1))1XAAMM==+''.''''''''''''''''''''
+ CC+'....CC CCCCC' CCC++'CCCCCCCCCCCCCCCCCCCC
+ C+'''' BBBB+ CC+BBBBBBBBBBBBBBBBBBBB
+ CXXXX HHHHC CHHHHHHHHHHHHHHHHHHHH
+ CCCC XXXX XXXXXXXXXXXXXXXXXXXX
* ==+- ----==+-- ---=---=1A-+.--'-'-MX1)++)+++-=+'''-1 ----- -=+++=+)++- --=-- -==+-)ZZXA--=++'.-----'''''''''''''''''----.''''--.M
+ CC'..C.+C CCCC. CCCCC+'.....CCCCCCCCCCCCCCCCC....'CCCC..'
+ +''B'C BBB' C+'''''BBBBBBBBBBBBBBBBB''''+BBBB''+
+ CXXHX HHHX CXXXXXHHHHHHHHHHHHHHHHHXXXXCHHHHXXC
+ CCXC XXXC CCCCCXXXXXXXXXXXXXXXXXCCCC XXXXCC
* =-=- =------- -----)1M'-'''..+MZ+=+++==-==++=- +''''=-=-= -===-==-=-+--==)AAA=''..--'''-''''''''-''''''''-''---.+=MAAZ+==MMMX)--
+ +.CCC''C CCCC+ C++''..CCC.CCCCCCCC.CCCCCCCC.CC...'CC
+ C'BBB++ BBBC CC++''BBB'BBBBBBBB'BBBBBBBB'BB'''+
+ XHHHCC HHH CCXXHHHXHHHHHHHHXHHHHHHHHXHHXXXC
+ CXXX XXX CCXXXCXXXXXXXXCXXXXXXXXCXXCCC
*--==- --= -- -=++ZA-.----''=A1++=++++)+++++++++= ).''' -- ==+++)1XM=+''..-'''''''---------''''''------.'+-MX1++-= -++=++++++++))
+ C'....++C 'CC+ CC++''.CCCCCCC.........CCCCCC......'+CC
+ +''''CC +BBC CC++'BBBBBBB'''''''''BBBBBB''''''+C
+ CXXXX CHH CCXHHHHHHHXXXXXXXXXHHHHHHXXXXXXC
+ CCCC XX CXXXXXXXCCCCCCCCCXXXXXXCCCCCC
*== -=--== ---+Z-='----+-Z)++++)+=++++++++++=+-==+--X-'-)1XXM='.---'-''''--''-'''-----------.'==-MMXXZ11+====-=+-=+++=+=+))111)))))))
+ CC+....CC .C. C+'...C.CCCC..CC.CCC...........'+CCC
+ C'''' 'B' C+'''B'BBBB''BB'BBB'''''''''''+C
+ XXXX XHX CXXXHXHHHHXXHHXHHHXXXXXXXXXXXC
+ CCCC CXC CCCXCXXXXCCXXCXXXCCCCCCCCCCC
*-===== =++X-+'---'-X++=- -===)+=+-+=++===+==+Z--==-'''----''''''''-'--------..'=--MAXZZ1)Z)+))++=+))=+=))++=++=))+)=+))+))11)))1)))
+ CC+...+C CCCC.CCC....CCCCCCCC.C........''+CCC
+ C'''C 'BBB''''BBBBBBBB'B''''''''++C
+ XXX XHHHXXXXHHHHHHHHXHXXXXXXXXCC
+ CCC CXXXCCCCXXXXXXXXCXCCCCCCCC
*--===+Z+.---=Z11+ - -- =))1XAXXAA-M-----+'---'''''''''----..'+-AZ1))+=)))===- ---+=+++))))+)1+1)))))))1)+))=+))1)=+==1Z1111)1)
+ C'...C C CCCCCC+...CCCCCCCCC....''+CC
+ +''' C'''BBBBBBBBB''''++C
+ CXXX XXXHHHHHHHHHXXXXCC
+ CCC CCCXXXXXXXXXCCCC
*ZZX--''='+-X))1ZXX-=''.-.----'''-'''''''''''----''''''--11+++===-- ----====)=--=-----+==)+))))))))1)Z1111111)1)11+))))1)++-)1ZZZ1)Z1
+ CC++C+CC CC++'.'....CCC.CCCCCCCCCCC....CCCCCC.C
+ CC C CC+'+''''BBB'BBBBBBBBBBB''''BBBBBB'
+ CXCXXXXHHHXHHHHHHHHHHHXXXXHHHHHHX
+ C CCCCXXXCXXXXXXXXXXXCCCCXXXXXXC
*''''M-MX+.------'-''''''-''-'-''''''''''''----+M--''''Z - -=+==+----=)+++++==+==-++)))1)+))))11)Z11Z1Z111Z11)Z1+))1))++=-=+)ZZ11Z1
+++++ C C'......C.CCCCCC.CC.C.CCCCCCCCCCCC....C C.CCC+
+CCCC +''''''B'BBBBBB'BB'B'BBBBBBBBBBBB'''' 'BBBC
+ CXXXXXXHXHHHHHHXHHXHXHHHHHHHHHHHHXXXX XHHH
+ CCCCCCXCXXXXXXCXXCXCXXXXXXXXXXXXCCCC CXXX
*A)1='.----'---'''-'''''-'''''''''-'''''''''--=)=+Z'-M+-=-=+======+=-==)11+++==++=)))+11++==+))11))11))1ZZ1111)ZZZ)11Z)))+=---+ZZ11ZZ
+ C+'....C...CCC.CCCCC.CCCCCCCCC.CCCCCCCCC..C +.
+ C+''''B'''BBB'BBBBB'BBBBBBBBB'BBBBBBBBB'' C'
+ CXXXXHXXXHHHXHHHHHXHHHHHHHHHXHHHHHHHHHXX X
+ CCCCXCCCXXXCXXXXXCXXXXXXXXXCXXXXXXXXXCC C
*-=.''''''---''---'''''-'-'''''-'''-''''''-'A)+=++=++-+=+=-=++==+++=-=)Z1)+===+)1ZZ))1))++++=++=)1111)11ZZZ11ZXXZZZZ11)1)+++)==)XZZ11
+CC'CCCCCC...CC...CCCCC.C.CCCCC.CCC.CCCCCC.+
+ +BBBBBB'''BB'''BBBBB'B'BBBBB'BBB'BBBBBB'C
+ CHHHHHHXXXHHXXXHHHHHXHXHHHHHXHHHXHHHHHHX
+ XXXXXXCCCXXCCCXXXXXCXCXXXXXCXXXCXXXXXXC
*''--------.'''+==-=-AX+ZXA++...-..''.''-X+=++1++)+++++++++++==+=))+=-)))+=+=)ZZZ1)+++)+=)+=++=+=+111ZZZ1ZZ1ZZAZXXXZZZ)1)1++)=+)111Z)
+CC........'+++CCCCCC CC'''.''++'++C
+BB''''''''+CCC +++'++CC+CC
+HHXXXXXXXXC CCCXCC C
+XXCCCCCCCC C
*=MAAAAXZZZ)++--=-=== -+)))1))+))++=+))111)))1)++)+))+)+++++)))==+==+=+1ZXZ1)+===+++=+)))+++=1111ZZZ1ZZZXXXXXAXXXZ111111++=1Z1Z1
+C
*-=-- --==- --=-===== ==+++))++))))))+))11)))))++++)1)++)-+))++++++=+1XZ))+++=+=++=))11)++11X11)1ZZ1Z11XZZXAAAMXXZ1Z1)1)+++1Z11
*=-----=++= =)=--=====-- -+)++)+111)1+)1))+))))))))+)))+++1++++++++=++1ZZ1+)+++=+=++))ZZZ1=1111ZZ)-+1111Z1XXXXZXAMAAAZXXZZZ))+-)1Z
*========+===+=-=+-=++=- - -+)))1))11))1Z11)1)))++)=+==)+++))))++))+=+)Z1)+=+====)1ZZZXXZ)1++)1))+=---==+1ZZZ11ZZXAAAAAXAAAZ111)+)1
*=====+===+==+====-=++== ===)))11111Z11))Z1))+))+++=))+=1)))))1)+==++)+)++=)=)ZXXXZ1)1)++=++====++==--+)ZZZZXZZXXAAXAAMAX1)11++=
*-=++=++++++++==+=--++==- ==))11)11Z11+)Z)+)++)+++))+++))+1)111)+=+=)))=)))+1ZZ11))+)+=======++++++==-+)1ZAXXXAAAZXXAAXX11Z1))=
*++=-====)=++---+++)=+===- -- +11+111Z)))1Z))))+)+)++1+-=+1)11)))))++)++111Z+1)1)+=+==+=++==+)++=+=======++1ZXAMAAAAAXZZXZ11))1)1
*++==+++=++=-+--=+)+====+ - ++- -++)))111))11))+))))11))++==+)1))))1)++++)=1ZZ+)++=+=++)+=+++==+=++=+)++++)===))ZXXAAXXXZ)1XZZXZ1Z1
*)++++===+==-+=-=++====--- = += --=))1111+)))))=++))1+)====+))))))1))+=)+++))=++===)++)+++)=+++=++++)=++++=++))))11111Z11ZZXXZZ1)1
*1)+=+)====-======+=-==---=- -=-- =+1)Z11++))1)+)+=+++))+==)11)+)))))+++=++))++)++++++))))+++)+)+))+++)+=++=)ZZX1))+=1))ZZ1ZXXX11)
*))++=)+-+=-==+-+-=+=== -- - =- - =+1)1)))++)1+))+=+)+))==+==+1))11))+==++++)+)++)+))+)++))))))+11ZZ))1)))1)))ZXZ)))+11+Z1Z1ZXZZZ)
*)+=+++++=+++=====-=+++==+=-= == - - =+)11)+++)))11)+=+=)))++)++)))1))))+=++++++++++=++))+++))+)+))1)))+++++11))1XZ)+))11ZZ)))11ZX11
*)+=))+=+++++===-=+===+=-==== == -- -+))11)++))111))++++)++++++11)))))))+))+++++==+===+)++=))++)+++++++))))))+)+1)++=++)1++)=)))ZZZ
*+=++++-+++++======++=====++=--+- -+))1Z1++)1+1))+=))+++1)+=)11))1)1)1+++)++))+++-=++)))=++++++++))))XX1)))+++))+++))++=)Z)1+=)ZZ
*+=++)+=+=+=+-==+)++==-++=++)=== -=)11)))+))++))++)+)+=1)+=))1))1)))))+===++=++++))++)+++++++++)1111ZAA1)=)+===+)+))+==11))+++=)
*++++++++=++++=)+=+=+=-+)==+))==- -=+))Z)1+)))1))++)))++++)+++)11)1ZZ)+)++++++=++))+)1++)+)1)))111ZZ1)11)1++)))))1+=)++++++)+++==
*+)+=+++++++++=++++====++-=++)+= =--=)1)+++))1))++))+)++)1+=+)1)))ZZ))++)++=+++=+)++++++++1))11111))))))++===)++++=++)+=+++)=+++
*=++=++++))+=+==+++=+++==+)++)+- -+=- -+1)+)))1)))))1)))+))1+=)1))))1))+++))))1)))1)+++))++)))1XZ11))=+)+)+))+++=++++++++-++++++)+
*+)=++)=+=1++==++))+++)+=+)++++ -)++= -=)+))))1))1)++))1+)1))=+111))1ZZ)++++)ZZ11ZXZ11))11)111XMMAXZ1)++)+1+)+)+)+-+))==+=+++=+)+=
*++++++))++))+==+)+++1))=++))))= --)+=- ++1)1)1))1))1+)))1)+))1+++))1)11Z++)+)1ZZZZ1ZZZ1)))11111ZZZXX1)1+))))+))+=+)++1AZ111))))))=+
*-- -=-+)))+)))))+)1))+)))+1+)1+-=- --- -++)))11))1111))+))))+)))+=+)111)11)))))1Z1)1ZZ1))))))+)))++)111Z1Z111)))++++++1AX1))))1))+))
* --===++)1))=)))1)))111)++)++ =--))+)))111111))+))+++11+=+)1Z1))11)))))Z1Z11)1))+)+=+++)++)ZXAZ1)+))++)))))11)11+)=++))++))
* - ++- +)))+))Z)+=++) = -+111))1))))))))))+=)1Z11))ZZ+)+))))++=++===+++++++)1XXZZ=+=+++-)=+=))1+)1+)++=+=)==+
*-- - - - - -- -=---==-==- - - --=+=--=)= -)))+1)11))))1)))+))+)))+++++++))))1111)+++)++)+=++=+====++=++++++++++
* - - -- -- -- -==- - - -==)1)11+))))))+)))11))++++++))))))+)+++)++))===++=+++=+=++++)++=+=+
* - -- -- -+=---- - - - =++))))+1)))1))11+)++++=+))+1))++)+++++)=+++==+=+=++++)++1)1))++
*- -= -- - - - - - -++++)1)))))1))+))++)=)))1)))))11)+++)++)++++=+1+)+))))+1)+))
* - -- ++- -=- - - - - -- - ===-=+=)))1111))+)=+=++))))+)1))++))))))+)))+1+))+++++)))))
* - -))= --==- -- - - - - -+1)))))))=+===+)1)=++++=+)))+++=+++++=++++===++))+
* --- -))+- -==+- ---- - - - ==- --))++)++-+1Z1+++++-)))))===++==++++++)+)+++)+
*- -- - =)+- --+=- - -- ---- --- - -- - -)1)+==-)111+)+=+++)+=+==+++++)+)=)+)+==+++=
* -=-- ++-- -=+= - -- =-=- -- --- )+++--=111)1)++++)++)++++)++++))))++)+++++
* -+-- -=)= -=== - - -=-----=- -= --- ++)+++)11))))+)++++))==++++++))+++))+=+++
* =--- - -==-- -=++== - - -- =====--- -=- --=- -- =++)=+11)))1++))+=+=+++=+=+)))+))++)=)++
* - --- - ---- -+++-- -=-- ---- ---=- - -= - -- +==+11))))+))++====+++=+=+++=)++=+))+))
* --= ------ =++=- - =- -=--------=--------- -=- - - -- - -)Z11111=)=+)+++=++++++))++))+1)11)))
* -=--- -- -+==- - ----- - - - -- - - - -+))11)))=)+++++++++=+))+++))))1))))
* - - ---=+== - - - --- - -- - - - - ----- - =1))))+++++)+))++=+)))1)+++++)+)+
* ----=---=- - ---- --=-- -- - - = - - =1Z1+=++))++)=)+=1)))+)))=)+)))
* -- - -- -==-==--= - - --- ------ - -- - --- -- - -- -)1)))))++))))))))))+)))++)))1
*- -----=---- ---== -- ---- - -- =--- ----- -)1)++))111)))++)=++1))))1111
* - -----= -=--= - - =--- - -- --- - - - - - -)))11ZXXX11+)+=++)))))++))+
* - -------- --- -- -- - - - - - ---- - -- -- )1XXZZ1++)=))++)++)+)++++
* - - -- ---=--- - - -- -- - - -- - - - -=- - =)1)++)++)))+1)))+)))))
* -- - -= -==- - ---- -=- --- --- -- ---- - - -- -- =)+++))1)1)11)+1)))+)
* --- -- --==== -- - --- -= -==-- - - - -- - - -- - ----= --- +)))))1+)++))+))++==
* - ---==-- ==--- - -- - -== -= --- - ---- --= -- = -- -))+++++++)++=====+
* --=----=- -- -- =- -=- - -=------ - - =- -==- -- =)++=++)+))))+++))
* - -===-+=-- --+=- = =-=)+--=- - - - ----- - -++++++)++)++++++
* - =)+===1=-- ---= -- - --- -==)1)====--- - - ----====-- - =+)++=+)+))++++=
* -+1MX=-=== - - -- ---- - -- -=-=1+----=-=-- == - -- =-----===- -- -+)+=++=+===)++
*==+1X)===== --- ----- - -- --- - -==- ---=-===-----==---=+=-- -- -=++++))=)++))
*=----===--- -- - ----- - += =- --=------- -=-====++=----- =)11))))++++
* -- - ---- - - ---- - --+- -- -= -==-- - -=====+++)====---- +1))1))1)1
*-- - - -- - -- - - -==- -- -+=-- -- =++-==+++---==-=- --- -- =+)))+)+
* -- ----- ---- --- - - -- ==- -= =+---- =---====++)=+==---=--- -- -+))++1
* -=------- - --- - -==- - ---=----- - =+)++++=--====----=-=- -+))1
* --- - --- - - =-- - ==-- - -- == -- ==- +)+++=+==-=-=--=--=- -))
* -- -- - - ---= =--- --- -=- - =- - -=+=1)+=+-===--===--- =
* - - - ---- ===-- -=--=--- - - -=- --- - =+)+)+=++=----====-=
* --- - - = -=--- --==---- - - -==- ------ ++)+)++++-===-==+==-
* - -- - -- --- - ---- =-=--- --==-- = =+- -- --=- =+))+))++=+==+====--
*- -=- =-- = -- - -- == - - -=- -+))))+))+=++===---
*-- -- - - - --- - ---- - - -===+-=-===-- - - -= --= ==- +11))))++=======+==
*- --- - - - -===-- ===+==-====- - - -- - -----++= +11))))+++=-====+-=
* ------ - --- - -===- --=======+==-- - - ------ -+++=)1111))+++======--=
* -- - - - - -- - -=-=- =-=+===-+++===- -- ------- ----++)=)1)))+))=++===----
*- - - - - -- - -==-+- --=-==++))++++= -= ---=--- -=++)1)++1)))))++==-= --
* -=- - - - -- =- -=-=-===++++++=- -+- - ----- -----+=))))+)))1)))++---
* -- - - -- - ==---==+=++)+- -=- -------- =-===++)++)+)))))1))=+==-
*-- - - - -- --- -- -==++)++= =- -=---+=-=-+++++++)+++))+=)))=- -
* ---