.-. . - . - -... ... . .. .-.. -..- .--. -.. - .--. -.-. .-. . .. ... -.. .-. .-.. --- . --- -.-. -.. --- .-. .-- .- ..-. .- -.. .- -.. - .... .- --. .-. .. ... -. .- .. - .-..
-..- -.. -. . ..
 
... .... --- - --- .--.
 
-..- .. --
 
---.. ----- ---.. ----- .-. . -.-. --- -.-. ... - -..-. -..- .. --
 

 
... --- ...- .-. .. ..- . .--. -.. -. .- --- .-.. .-- --- -.. . ..- --. .... -. .-. . ... .. --- ...- ..--- --... ....- .---- -.-.- -.--.- -... -.- - -..- . -.

........................:.::::::::::::,;,,,,,,;;;;--"""-"<++++*cccciiii:  .    . .:-<+o11ooicc***+++<<+<++++********++*****++++++*+*;<++<<<<"""--
...............:...:..:::::::::::::::,-,,,,,;,;;;--""<<++<***cccciioooo1"<<<+*<""""<"+*o111oicc*****+<++++**********,+*****++*****+++++++<<<"""""
...............:.:::::::::::::::,,:;,,,,,,;;;;;;---"<<+*ccc+ciiiooo11111e<<+cioioic+<-;+111ii*++++++++++++***c*c***c"*cc**c*****c*c*****+++<<<<""
.......::::::..::::::::::::::::,,,,,,,,,;;;---";"""<<+*cciiiicooo111ee1eeec;;;;;,,,,:::.i11ooi**+++++*+++**c*ccccccc*cccccccccccc*cc*******++<<<<
:::.....:::::::::::::::::,:,,,-,,,;,,;;;;;---"""<""<<+*ccciooiioo11111eeeee1:::.:::::.:.:1eI61i*++++++<+**ccccccccc"cccccccccccciccccccc*****+<++
:.:.:::::.::::::,,,,,,,,,,,,,,,;;,;;;;;;;---"""<<<+<<+*ciiioooo1o1eeIIIII666I,:..........-eI6c<<<<<<<<<<+*ccccccccc"iciiicccccci+cccicc****++<+++
:::::::::,,::,:,,,,,,,,:,,,;,,,,,;,;;;-----"-"""<<+*cc*iioiio11eee1IIIII666666".. .  .....<c+<""""<<<<<+*cccccccciiciiccccc*cc*-cc**+<<<"<<<<""-;
:::::::::::,::,:,:,,,,,,,;,,,;;;;;;;;;---"<<"""<<++*ciiiioo111eeII6eI6666000006c ....:::,,,****+<<<<<<<<+*++++++***+<"""""""""""<<++++<<<"-<<<""-
::::::,:,::::,:,,,,,,,,,,,;;;;;;;;;-;-----""<<<"+++**iooo1o111eeII666I66666666661:::,,;;----;-""-""-""-""<++++<<"",""<""""""-"---"-----;;;;;;;,,,
,::::::::,,,,::,:,,,,,,,,,;;;;;;;;;;-------"""<++++**coo111e1o1ooiiiiiici1I6IIe11iooooiicccooc+<----;--;;-----;;;-;;--;;;;;;-;;;;;;,,,,;;,,,,,,::
:::::,,::::::,:,,,,:;,,,,,;,,;;;;;;;;----------;;--"<+*ccciiciciiiooooiicccccccc***+++++*c8##I*<"--;;-;,;;;;;;,;;,;;;;;,,;;;;,,,,,,,,,,,,,,::::::
::::::::::::::::::;,,,,,,,,,,,,,,,,,,,,,,,;;;;;--"""<<<<<<+<++++<+++++++++++<<<<<<<<<<<<+cMMW1*"---;;;;,;;;;;;;,,,,,,,,,,,,,::::::::::::::::.....
:.....:::::::::::::..::::::::::,,,,:,,::,,,,,;;;;;-----------------""""""""""-""-"""""-""<++<<"-;;;,,,,,,:,:,,::::::::,:,,,,,,;,,;;;;;;;,;;;;;;;,
...................:::::::::::::::::,,:,,,,,,,,,,,,;,,;;;;;;;;;;;;;;;;;;;;;;;;,;;;;---"""<<<<<<<""<"""""""""-""""-"-------------------;;;;;;;;;;;
........................::::::::::::::::::::::,::,:,,,;;;--"""""<"<<<<<<<<<<<<<<<<<<<<<+<<+<<<<<<<<<<"""""""""""""""""--"""--------------;-;;;;;;
..    . ...............:::.::,,;;-------"-"""""""""""<<<<<<<<<<<<<<<<<<<<+<<<+++++++++<+++<<+<<<<<<<<<"""<<"""""""""""""""""""-"--------------;;;
:::......::::::,,,,;,;;;;;-;-----------""""""""""<"<<<<<<<<<<<<<<<+++++++++++++++++++++++++++<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<"""""""""""
::::::::::.::,,,,;;;;;;;;;;------------""""""""<""<<<<<<<++++++++*******ccccccccccccccccc***++<<<<<<<<+++*+++****++++++++++++++++++++++++++<<<<<<
:::::::::,,,,,,;;;;;;;;;;-;-------"-"""""""""""<"<<<++********ccccccciiiiiooooooooooo11ooic*+++<<<<<<+**io1I608@@$$HH$HHHWWWWWWWMMMMMMMMMMMMMMMMW
:::::::::,,,,,,,;;;;;;;;---------"""""""""""""<<<<<+*ioo1I0P$WWMM#########################1c++<<<<<<<+*iMMMMMMMMMWMMMMMMMMMMMMMWMMMMMMMMMMMWWWWWW
::::::::,,,,,,,;;;;;;;;;--------""""""""""""""""<<<+cMMMWPMMMWMM##########################1i*+++<<<<++*iMMMMWWWMMWWWWHWWWWMMMWMWWWWWWWHHHHHHWHHH$
:::::::,,,,,,,,,;;;;;;-----------"""""""""""""<"<<<+cWWHP$$HWWWW##########################1i*++++<+<++*iWWWWWMMMMWMMMWHHWWWWWWMWWMWWWWWWHHHHWHH$$
:::::::::,,,,,,;;;;;;-;--------""""""""""""""<<<<<<+cHMWHHWMWWWWM#########################1i*++++<<++**iWHWWHMMWWWWWHHHHHHHHHHWHHWHHHHHHP$$$W$PPP
:,::::::,,,,,,,,;;;;;----------""""""""""<""""<<<<<+c$H$H$$WHHWWMM###M####################1i*++++++++**cW$$$WHWHWH$HHH$P$$$$$$W$$$HH$$$$@PPPHPP8@
:::::::,,,,,,,,;;;;;-;;;-------"""""""""""""<<<<<<+*c$MMH$$HHHWWMMMMMMMMMMM##M###########M1i*++++++++**cMWHHWPHHMWWWWH$P$$$$$PWPPP$$P$$P88@PH@880
::::::::,,,,,,,;;;;;;;----------"""""""""<"<<<<<<<+*cHW$H$$HHHHWMMMMMMMM#MMMMMMMM##MMM#M#Moi*++++++++**iWW$WW$$WWHHHHH$$PPPPPPHPP$$$P$P@8HPP$8888
:::::::,,,,,,,;;;;;-;-----------"""""""""""<<<<<<<++cP$P$PPH$$HMMMMMMMMMMMMMMMMMMMMMMMMMMWoc*++++++++*ci$PPHP$$$HP$$$P@0000600@00@P@@@@P@@88@6Iee
::::::::,,,,,;;;;;;-;-----------""""""""""<"<<<<<<+*cP$$$$$$HHWMMMMMMMMMMMMMMMMMM@6I$WWWMWoc*++++++++**iHHHH$$H$$$$$$P@0600000@00PPPP8@@@@@8P6IIe
::::::::,,,,,,;;;;;-;----------""";;;:  .-""<"<<<<++iPP$$$$$$HWMWMMMMMMMMWMMMMMM8,-"-WWMMWoc*++++++++*ciHHHHHHH$$PPPP@@6066600P06@H@@@@@888880066
:::::::,,,,,,,;;;;;::----------"-,,,<,:.:-""<<<<<<+*c$P$H$$$H$H$$MMMMMMMMMMMMMMMM<--<WWWMWoc*++++++++*ciWHWWHWWPP@@PP@@0808080P00@@@@@@@@8@@866II
:::::::,,,,,,,,;;.    --;-;------,:,;;.,-"""""<"<<+*iH$HW:,::,:,,;PMM#MMMMMMMMMMM1-;1I1PMWoc**+++++++*coWWWWWWW$$P$$PPP8@8@@@@$@@PPPP@88@8@@@0666
::::::::,,,,,,,;;:. :;;-;---------:::-;::-<"""<<<<++*ci".:.:::,:::;i,<P$@PP$HWe,,,-:1iic*ccc*****++***ciWMMMMMMHHHHHHHHP$$H$P$$PP$$;,,: ,8PPP@888
  .::::,,,,,,,,, ;  ;;;-------""""<<+++":,-"""""<<<+++":::.::.-;:,:+.,:+ii-<"+c*c++c+**+***c**+*++*+**ccccccccccccccc**********++++;-;,..;<<<<<""
   ::::::,,,,,,;;;,,;;;-;----"""<<++++++<:;"""<<<<<++++<...::.:,-",; .,,+,""<-,;.::::-<--;*c*******+***cccccc*c*********++++++++++<;;-,:;""""""--
    ::::,,,,,,,;;;;,;;;-;----"""<<<<<+<"+-;""""""<<<<<+c<.:::;"++..  .:::+<<<-::.:::..:,,,;c**********cccc*c*c*******+*+*++++++++<<;;,::""""-"---
    :::::,,,,,,,;,;,;;;;;-;-""";"<<+<++"*c.-"""---"<<<c-;:.:.,o1oe..::...:,-,,   ......,;,--+***********************++++++<+++<<<":,;;;, .;""----
    :::::,,,,,,,;;;:;;;;;-;-;.:-""<+<<<,,:,-"""--""<<+*-,:.........cc;...:...   ......::----+********************++++++<++<<<<<" ..          ,-;;
 ..::::::::,,,,,;.: .;;;;;;-;::<"<<<<<<<,,--"""---"<<*+;..:.......*c<<...............,"""-----+*****************+*++++++<<<<<<<,.....         .;;
  :...::::::,,,,,, .,:;;;;;;;,."<<<+<<<+,:;-""-----"<*+<.....::-cc<--cc+<*:........ic<"-----;---"+**************+**+++++<<<<<<<...             .;
  ....:::::,,,,,, ;;;:,;;;;;;;..:;""<<+<:,---"-----"<*".....,+c+; .-+<+-*c...:..coi+--"----------*ccc*ccc*******++++++++++<<<<<";.             .;
           ..  .. .... ::,;;;;;,::.,;-",:,;---"-:,;-*c",:c**+,   -<c<**cccco+*oi*;.   .:--;;;-;--cccccccccc*******+++++++++<<<<<".             .,
              .. ...... .......,+:::.,,,-;;;;;;:::::: .::;<;,,,,,,,:.,,,;,,+;;,::::::":;-;;;;;;--ccccccccccc*******+++++<<<<<<<<"..          ...;
              .  ....... .....:,,,,,::,,,,,,;;:.::::::,,,,,:,,,,,,,,,,";,;,<;;,;,,+;0;":,,,,,,,:::::,,,,;-<-"""<***+++++<+<<<<<<<.            ;;;
                 ........ .,,::::::.......:;;,..:::::::::::,,,,,,,,,,;,,,,,,,;,,,:;*<;<c,,,,,,,:::::::::::::::::+++++++++++<<<<<".           ;;;;
              .......::.::::::::..........:;,..... .::::::::,,:,,,,,,,,,,,,,,,,,,,;",;:,,,,,,,:::::::,:,::::::::c-,:,:::::::::::..           :,;;
              .:.........:::::........ .....::: ...:.....:..: $..::::;-,,,,,,::.:,,,,,,,,,,,,,:,::::::::::::::::c"::::::::::::::.             ...
            .:::,-;:::...::::.. .....   .  +++<*cccc+;,,,:..::::::..... .,,. .. .... .....::::::::::::::::::::::c",:::::::::::.:.....        ....
         .  :.::::,:,,:::,:,,,,,,;:.:::::.-ciiiiii*"<:.  .. ...::,:::::,,:;;;:..:::::;*6;::,,:. ......... ..*.,.c";::::::::::::.... ....... .....
          . .:::::,,,,:::::::,,,,,,,,,,,,,,,;;;;-;,6-::...:::::::...:,:. ......:..::,o8Io+;:.*:,,,,;;:,:,,::::::*<+<:::::::::::............  .. ,
            ..:::::::::::::::,,,,,,,,,,,,,,,,,;;;,;;,,;;;;,;;;;;-;;;;.,;,:::..:..*o"--..e@I:o+@WWWHIPHH80<-;:::.++;,:::::::::::..... ....   .. -,
           .eeII1*;,::::::::::::,,,,,,,,,,,,,,,,,;;;;,,,,,;,,,,,,,,,,,,,,,,,,,,,,;;"-;;;,,:::,,;*o";,,,;:.,. .:""+;,::::::::::..... .....   .::.:
           .eooi1eeee1:::::::::::::,,,,,,,,,,,,,,,;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,,:,,:::,::,,,;,;;,,,::::;<-,::::::::::........     ...  :
           .11e11eeee1::::::::::,::,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::,::,::::::::::::::::::... :::::::::: .....:..    ... ..
           :1oooo111ee::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,:,:,:,::::::::::::::::::::::::.... :::::::::. ... .:::     .....
           ,1oiiiiooee:::::::::::::::::::::,,,,,,:,,,,,,,,,,,,,,,,,,:,,,,,,,:::::,:::::,:::::::::::::::::::::::.... ::::.,,::..... ::::     .....
           -o11o111o11.::.::::::::::::::::::::,,,::,,,::,,,,,,:,,,,::,:,:,:,,,:::::::::::::::::::::::.::::......... :::   .:::.....:::.     .....
           <oooiiioo11::...::::::::::::::::::::::::::::,:::::::,::::::::::::::::::::::::::::::::::::..:::.......... :.      ::... ::::..   ..:...


--. ..- .- ....- .---- ---.. ----- ..---