,,;;;;;-;;;;,. .....,;---"---"------""-;;;,;;---"--"-----------;;-;,,,;,,.,;-;+*<<"""<<++<++++<++++++<<<+<<++<++c*++*ic********+*cii++,. :::++*+
;;;;-;----;;, .....:,;;;"-""--"<<-;--"""--;---"---"""-"""""""""--,,...:,::...:,,<<<<++*+***cc*ccci*++++**++++++*+cc*++cc+*<<+<<<<"<<"<-: :::,**+
;;--------;,:......,;;;"<""""""<""--"""--"---""-"<<"<<<<""<"""";,::....:..,:.::,;-<**++*cc+++oiccc*++*ci*c*ccciicoooiii*<<<+<<<<<<<<<+",. :,:***
----------;,......,;;;;<++<"<<<-"-""---""<""<<"<<<<+<<<<<<<<",,.:...::.,,:::.::.,;-"++**+c*iciiiiicccioooiiooiiio1oe1oic<++<<<<<<<<<<"*<: ::,,**
---------;;:......;;;-"++<<+++""--"+<<+<<<++++<<<+"iiiccccc+.... ....:::;-;,,::::,,,;*+cicccciiiiiiiioo1oooiiio1o111ic*++++++++<<<<<<<**;. ::,cc
----------,......,;--"<+++<++<"<+++<+<<<+++<++++++"<<<<<<";:.. ..:::::;,;;;;;-<<+",;,,*c*ciciiioioooo11eeI1e111e1ooi*c*********++++++++c<: :::,c
---------;:......;----<<++<<<+++**<<<+<<+<<"""<"<"+**ccc*,: ....,,,;--"<+ce8@@P@886-;,,<c*iioiiio1o11111ee111111111ooiccicccc**c****+++c*; ,,:*
---"""---,......:;-"-"++*++++*++*+++<+++""<+++<<+*+*cc*c,....:;--"<+*c1eI600@PPP@@88I-:-oooioiooo11e11eeeeeo1e1eIeI11ooooioiiiiccc****+cc<: ,,,;
"-"""""-;,......;;"""++++<+<+<++++++++*+*++cicccicio11eo:...:--""+i1I666008@@@@@88888i;,io1ooo111eeIee1e11eeeeIIIIIIeeee111ee11oici*ccc+i*,. ,,,
"""""""-;......:;""""+++*++<+<<++**+*+**ccciioiooo1eWeeo....,-"<i1eII08888088@PPPP@808<;co1o111eIII6eeII1eII66088@8866I6I66666Iee1oiiiiiii": ,,,
"""""""-;......,-"<"<+***++<<++**+++**cc*o6e11oo1111Ieec::.:,"*+c*+*c1e666eI6IeIio*ce0o-+o1111eII6666I6II66@$M#M$$$@P888M#HW#HH6Ie1ooooo1oc,. ,,
""""""";......:-""<"++***+++<+*******cceo11oooo1#MIII661:..,;:,<**co,;-<cioi*+;;;;"+*+o*<11eeeII66666IIII@########MMHHPPP$$@M@8I0e1ee1I11oi-: ;,
"""<<"",.....:;+<<<<<<<""<<+++++***cciio1eee1eI0HI6##M0;..:+o,--""-;---"*-<oIi*+*e60IcI*+11eIII6066006@0@@MW############H$W$806Ieee11111o1o*, . ,
<<<<<"-:......:::::::,,;-"<+++++*c***ccciiiio11111e6MMe:;.-;I;,:;::::;--i6@@"c+-";"oeMM0cc8eIII666II08$8@HWH$MH$$P$HHW###H$P86086Ie11eeIIe1o-. ;
<<<<<";:...:.....:::::.::::::::::::::::::::,,,,,,,<co11: ;--,1"--"i1+++<cIPPPe8oi16Ie8+Iic11eeeeI06600@@8HMWWW$H$$HMM####HHP8@880II00IeIIIe1c,..
<<<<<"; .. .......:...:::::::::::::::::::::,,,,,,,,,,-";.--"""<"--"oo<""*I@@@e16oiio0886icoooeeI60W88888@P$P$#@PPM$$WMMMHPPP@8000I660I1I6IIeo-.
<<<<<-;,.. . ... .............:::::,,,,,,,;.---""<<+++<"""<*I@$80oio10@@6I06c1---;-----"""""+oe8@$WMP$$$HW$$$P888066I1eeeeeIIeee+,.
<<<+<-;;,::::::::::,::,,:,,,,,,,::::.......:.......:.;-;,;--"-"+*coc"<<--*1I68@o11oI00880*6---"-""""""""<<+<<<<<<<<<<++<<<<<<+<<<*coeIIIee1e1i-.
<<+++++++++++<<<"""""-------------------;---;----;;----;;;--"<*io11*";;,:"*"-"161608@@88oP1,,,,,,,,;--"+<<++*<+++<+++++<<"""<<"""""-----;-;;;;;;;
+++++*+*************cccccccccciiiiiiiccccc***+++++++++";-;-""<*cco-<<"-,;-*oe6@P@600@@80IP<<<"--;;;;;;;;;,;;;;;;;;;-;;;;;;;;-;-""<<""-"<"----;-;;
+++*+*+**********ccccccccccccciiiiiiiiiioooooooooooooo"";;--"++*++"----"+ioI08@88000@880P@c*+*+++*++++++*+*++++***++++**+*++<<"--;,;;;;;,,;;,,;,;
+++**+*********cc*ccccccccciiiiiiiiiiioooooooooooooooo"-;;;;-+*+<"-;--""*io1I6I606608@86P@eeeeeeeeeee111oiiicccccccccccc************++****+***+**
+++************c*ccccccccciiiiiiiiiiiiiooooooooo11111111c-;;;"+*<-:;;-"cI86IIc+i1e60880eeeeeeeeeeeeIIIIIIIIIeIIIeIIeeIIIIIIIIeeee11oooooiiiiiiccc
++***********c*ccccccccciiiiiiiiiiiiioooooooooo1o11111111;;;,;--""++"""++ooe008@8eI006IeeeeIeeIIIIIIIIIIIIIIIeIIIIIIIIIIIIIIIIIIIeeeeeeeeeeeeeeee
+++*****+**ccccccccccccciiiiiiiiiiioiooooo111111111111111;;,;,,;;-<*+<<"<<+ie608801eeIeeIIIIIIIIIIIIIIIII6IIIIIIIIIIIIIIeIIIIIIIIIIeeeeeeeeeeeeee
*++*********c*cccccccicccciiiiiiiooooooooo11111111111111eo;,;;,;;;"+io1e600P6eI6IIeoeeIIeIIIIIIIIIIII6I666666IIIIIIIIIIIIIIIIIIIIIIIIeIIeeeeeeeee
++*******cccccccccciciiiiiiiiiiiiioooooooo11111111111111e1;,,;,,,,;+*o1e6I0@@@0II1ooeIeIIIIII6III66666666666666I66II6IIIIIIIIIIIIIIIIIeIIeIeeeeee
***********ccccccccciiciiiiiiiiiioooooooo1o1111111111111e1",;,,,,,,,;"<+i+*oeIIoci11eIIIIIII66666666666666666666II6II66I6IIIIIIIIIIIIIIIIIIIeeeee
*+******cc**cccccccciiiiiiiiiiiiioooooo1o1111111111111111ee,,,,;,,,,,,;;;;-""<<*ioooIIIIIII66666666666666666666666666I6I6IIIIIIIIIIIIIIIIIIIeeeee
********cccccccccccccciciiiiiiiioooooooo11111111111111e1111;,,,,,,;,;;;;;----"*c**cIIIII6666666666666666666666666666666666IIIIIIIIIIIIIIIIeIIeeee
**********ccccccccccciiiiiiiiiiioooooooooo1111111111111e1ee;;,,,:,,,,,,;;;----""<oe0I66666666666666666666666666666666666666666IIIIIIIIIIIIIIIIeee
******cccccccccccccccciiiiiiiiiiioooooooooooo111o1111111e11;;;;;,,,,,,,,,;;;--"co60066666I666666666666666666666666666666666IIIIIIIIIIIIIIIIIeIeee
******ccccccccccccciiciiiiiiiiiiioooooooooooooo1111111111;;:;;;;;;;;;;;;;;--"i66000I1II666666666666666666666666666666666I666IIIIIIIIIIIIIIIIIIeee
*******c*ccccccccccciciiiiiiiiiiiiiiiiiicccciiiiooo;: . :;...,;;;-;;--"""<iI06Ie;,,io;,;66I6I666666666666666666666III66I6IIIIIIIIIIIIIIIIIIIeeee
******cccccccccccccciiciiiiiiic;-<::,:;"+*++*".... ..... .; . .....::::::::,:ii,:;;;,,;,,106666I16<i666;+I6666IIIIIIIIIIIIIIIIIIIIIeeeeeee
*******ccccccccccccccccci;::::::::: ::::::.... ........ ; ........ ...:::,,,,,,,,,1ii:,:,,,,,,,,,,,;,,.,,,,;,,:,+66IIIIIIIIIIIIIIIIIIIIIeeeeeee
****c**c*ccccccccci<,::..::..:::::: :::::::::....::...... "........:,,:,:,,:,,,,,::..iic,,,,,,,,,,,,,,,:.::::,:.,,:;;iIIIeIIIIIIIIIIIIIIIIIeIIeee
*****cc*cc*cccccccc::..:..::.: ::::.:::::::::::::::::.... *..:::,::::-+.,:;,,:,,,,,:.cii,,,,,,:,,,.,,,,:.:,.::::,:,,,;,IIIIIIIIIIIIIIIIeIIeIeeeee
******c*cc*cccc*:.:.::: :: :::.:::.:::::,,:::,:,:,,::,;,..":"o,,,;;,,:::,,,1i:;:,,,,:cii,:,,,,:,,.:,,:,,..:.,:.,:,:,::,,,-6IIIIIIIIIIIeeeeeeIeeee
+********ccci;::::::.::: ::.::.:::.:::::,:,:::,,:,:61:0:"."<,,::::,,,,::,,,,;*00<;0::-ii-::,,::,,.,,,,:,::,.:.:::::::,:,,,,;IIIIIIIIIeeIeIIIeeeee
*********ccc. ..::::...:.:::.::::::::::::,,,108Pi,,:6:::.."+:::::..::,,:,,,,,,,,:@:,<-ci<::,,,:,:.:,,:,,::,.::,:::::::::,,,,,*IIIIIIIIIeeIeeeIeee
********c".:::::::::::::..:.::::::::::::;,I:,:,,::,0,::...<-,,,,,,:..,,:,,,,,,,,,;@,..oic,:,,,,,:.:,,::,::,.:.:.::.:::::::::,,,*IIIIIIeeIeeeeeeee
********.::.:::...::.::::: :..::.::::::.6:,:,,,,,;i:,::...*<,,,,,"6;;;-;-"6,,;,,;;;8:.io"eo<,,,,..:,,,:,,,:.:..:...::.:::::::::,:eIIIIeeeeeeeeeee
:+****::.....::::::..:.::::...:.::::66:,,,:,,,:,;0,,,,:..;1MI;MM;,-<<IWW$*+""<,,,;,6,.1H$.,,I,,,,:,,,,:::,, ,:.......:::.:::::,,:,,,oeIeeeeeeeeee
::.:::::::.:..::::::....:::.:..:::::0.:,,,::::,:,8:,,,:..HIW6<1;;;+HIHeW@IW#c-i,,-#I6oo6HP66-*e:,,,,,,::,:, : : ....:::.:::::::::,:,,Ieeeeeeeeee
...::..:.::...::::::::..::.:..::.::::8.,,,::,:,,,,,+oi.:P600I;-,;;1W88$W@MWW$""WP#e11e8@$0Heoi" ,:,,,,::,,:... ... .:..::::.::::::,:,,,;eeeeeeee
....:..:::::::..::::::...:.:.....::::,,8P,:,,,,::o808e<cW6Ie;-;--;cWH6IPIPWMH--8M@eooo1e1e1oc++,";,:,,,:,,::.. . ......:.::,;II06606I6<;eeee11
:....:....::.:::::.::..:.... ....::::::::"808-;,,;001-ceWHeH,,;"--*+WH$H$WW0i:e"M@$M0eocioi*+<<i6:,,:,,::::: . ......*eII666IIIIIIeIeo111e
..:::.::..::...::.::::.:..:......:::,:::::::::,,::86"eP$$6co:::;i<1**<<18**;"c,"W6PWcoccccc*i11e*,,::,:,:::. . ....<i111eIeeeeeee11111oo11
..:....:...::.:..:.::..:...:......:::::::,,,,:,,,;1-*oHooI++";:;::<Ii,;"*,;6-;,:-MiI1*1HHWcc*++#M,,::::::::. .<*cioo11o11oiiciiiicccc*
......:......:...:.......:.. ...::::::::::::,::8e"H$8*o+<c"-+";:.....::::,;;,+P6-*#0ooIii@WH61M,,,::::::::. ."<<**cciiiic*++++<""""<<<
:.....:....::............... ...:::::,::::,::,::<@*1"i+----;-"<;-, .:::,,;,c#HIe1--<IM8Me-<M.:,,:::::::::. ;;-<<<+**c*++<--<;,,;;--"<
66-::...::.......... ..... .....,,,i*+:0,::::$*cI;"o-c"c;,;;;,<+,-;:,,-;-*1@1eee0eI",:,::::::::::::::::. ,;;;--<<<+<"";;,,,,,,,,;;--
0000,:...:............ .. .......:I;@8,,0.01.-cciiiic*,<+<<;;,;;"<;;,,-;,;<-*ce8@@8M,,,::::::::::::::::.. ,,,;;;-"<"+<-;,,,:::::,,,;;
000006:.:.:............ .......,.<i0i,,6.".,;::,i-;;++;"-"-,,;;;,::,;;""<<++*e@$W6,:::::::::::::::::::. ::,;;;;-"""-;,,::::::::::,,
I600606c:........... .. ......Ie;eP:,;.0.,,: ..-:,;;,+;<8+*i<--<-:,;"-""<""<*e6$M;,:::::::::::::.::::.. .:::,,,;;-;;;,,::::::::::::
66660666I:...... . ... ......:61c,,-+1006ei<""-;,,:,;",.,i,-i--;,";<""+*<<<iI6#8,::.:.:.:.:...:....... ..::,,,,;;;,,,,::::::::::::
| |