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

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

::::,,,,;;;--"""<"-"""<<<<<""<+++++***+<+++****cciciciio11eeI6668880006I1ooicc**++<+<<""""----""-----------------;-;"----;;-;;,,;,,,,,::::..:....
.:::::::,,,,,;;;;;;;;;-;------"-<"<<"<+<<+++++++**c*cciiioo11eeeIIIIIee1oiicc**++<<<"""""--;-----------;;;;;;;;;;;;;;;;;;;,,,,,:::::::::.........
..:.::::::::,:,,,,,,,,;;;;;;;;;;-----""""""<<<<<<++****ccciiioo11111ooooicc**+++<"""""----"--;;;;;;;;;;;;;;;;;,,,,,,,,,,,,,,::::::::::...........
:..:.::::::,::,,,,,,,,,,,,;,;;;;;;;;-------""""""<<<<+++***ccciiiiiiccccc**+++<<"""-----;;;;;;;;;,,,,,,,,,,,,,,,,,,,,:::::::::::::.::............
:....::..::::::::::,,,:,,:,,,,,,,,;,;;;;;;;;-----"""""<<+++++*+*c*****++++<<"""----;;;;,,,,,,:,:::::::::::::::::::::::::::.::.......:............
:,,;;;;;;;;;;------------"""""""""<<<<<<<<<+++++++*+*****cccccciiiiiiiccccc*****++++++<<<<<<<<<<<<<"""""""""""""""---"---------;;;;;;;;;;;,,,,,,,
;;;;;;;;;-----------"""""""<"""<<<<<<<<<<+++++++++*********ccccci6$HWHPo*c*******++++++++<+<<<<<<<<<<<<""""""""""""--"----------;-;;;;;;;;;,,,,,,
;;;;;;;-;------""-"""""""""""<<<<<<<<<+++++++++++***********cccc+++++++"o*******++++++++++<<<+<<<<<<<<<<<""""""""""""----"---------;;;;;;;;;,,,,,
;;;;;;;--------""""""""""<<<<<<<<<<<++++++++++*************ccI++++++*+<<<<c*******+++++++++++++<<<<<<<<<<<<""<"""""""""""""-------;---;;;;;;;;;;,
;;;;;;-------"""""<<<<<<<++++++*********ccccccccccciciiiiiiio-<+**<**<<<<<"**cccccc*************+****+++++++++++++++<+<<<<<<<<""""----;;;;;;;;,,,
;;;;;-----"""<<<<<+++++++*******ccccccciiiiiiiiiiooooooooooo*"ic**c**<+c+--c*ccccciccccccccccccccccc****************+*+++++++<<<<<"----;;;;;;;;;,
;;;-;-----"<<++++*****ccccciiiiiooooo111eeeIIIIII66666000000<+iii+*++*c*+-;cccieeII6666IIIIIIIeeee11111111o1111111oooooioiiiiiicc+<"-----;;;;;;;;
;;;;-----"<+WMWMMMMMMMWMMMMMMM##############################+*ciii***c**+-;icc1MMMMMMMMMMMM###MMMMMMMMMMMMMMM#####MMMMMMMMMMMMMMMo+""---;;;;;;;;;
;;-;-----"<*WMWWWWMWWWHHHWWHMM###############################***cccc**+<";"*ci1MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWH$WW1+<"----;;;;;;;;
;;;;----"<<*$WHH$$MPP$$$$$@WMMMMMMMM#########################c++++<<<<"-;;+*cioMWWMWHMMWMMMMWMMWWMMMMMMMMMWMMMMMMWWWWWWWWWWWHH$WH8+<""--;-;;;;;;;
;;------"<<*$HWWMMWWWWH$H$$MMMMMMMM########################-;+"<"-""--"";-::,o8#MWWWWMMM#MMMMMWWWWWWMMWMMMMMMMMMMMWWHWWWWWWHHHHHHP+<"---;;;;;;;;;
;-;----"""+*PH$$H$PHHW$$$$$MMMMMMMM#M#M################"";;;;-""--<;;;;,,::::,,,,,-WMMMMMMWWWWWWWHWWWWWWWMWWWWWWWWWH$$HHHH$$PP@H8@:.:------;;;;;;
-"-;---""<+*P@PPPP@PPW$$$$$MMMMMMMM#MMMM######M####o-;;;,;,;;,,;;+c<-,,,::.::,,,,,,-WHMWWWWHWWWWH$HWWWHHHMWWWWMHHHHHP$$HH$PP@@@@;;--;:..;-;-;;;;;
"""-"<-""<+c@W$HP88@PM$$$HHWWMMMMMMMMMMMMMMMMM###W;;;;,,,,,,,,,:;-;,,,:::::.::::::::,P$HWWHWHWWWH$W$$HHHHM$$$M$HHP$$P$$$MPP@10e+<""<-;...;-;;;;;;
""<-<<"""<+o$$PP8@PPPW$$$HHWWMMMMMMMMMMMMMMMMMMM#;;,,,,,,,,,,,,::::::::::::::::::::::,$HHWHHWWWHHHHHH$H$$MWH$HH$$$$WM@PPW@80IIi,.-;,;;;.:---;;;;;
-",-"""<<<<i@$@@8088PMH$$$HWWMWMMMMMMMMMMMMMMMMM;;,,,,:,,,,,,,,,:::::::::::::::::::::::MHHHH$HHWHHHH$HHHHW$$HHH$$$$$W@@@WWHP666<;:,"-;,----;;;;;;
""<<"",<<<<c8088@88@PPP@PWMMWMMWMMMMMMMMMMMMMMM#,,,:,,:,,,,,,,,,,,,:::::::::::::::::::::HH$HHHH$$80888888H88@$$$$$WP$PPPP@066I$",;;-;;,---;-;;;;;
-<"--<;;:::,8@@@@@@PP$P$$MWWWMMMMMMMMMMMMMMMMMM#;,,,::::,,,,,,,,,,,,::::::::::::::::::::HHHHHHH$$86888888W88@$$$HP$PPPPPPP066666-;,-,:,-----;;;;;
--;:..  ..:0@8@@@@@@PHPP$MWHHMMMMMMMMMWWWMMMMMM-,,,,::::,,,,,,,,,,,,:::::::::::.:::.:::::$$$$$$$P00800888W888PP$P$$PP@PPP$06666I;,:,--,,--;-;;;;;
....,,  .::,88888@@PP@@@PHWWWWWWMMMMMMMMWMMMMMM;,,,,:::::,,,,,:,,,,,::::::::::::.::.:::::,P@P$$$$8@8888@@W88@$PPP$$$PPP$PP0000:"----"  .    .;;;;
....:::::,,-H@@PPPP$$$P$$WWMMMMMMMMMMMMMMMMMMM#,,,,,:.M:,,,,,,,,,,,:::::::::::::.::.:::,WW$$$$H$$8@@PPPP@W@@@$$$$$$P$P$PP$...:.....             .
 ;<.. . ...,W@PPP$P$$$$$HWMMMMMMMMMMMMMMMMMMMMIoee11*@W::::,::::::,:::::::::::. M:::;*+8HHHHHHH$$@PPPPPP@W@@@$$$$H$PPP$P"..........   .          
...;<:-""<+PHWMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMi1ee1o+MMW.::::::::::::::::::::...P$++*cc*@88888880666666IIIIII06600000000:..:...... ..            
 ..   .-""<<<+++++*****ccccciiiiiiiiiiiiiiiiocoooooc,oii::::::::::::::,::,::...:ci**c***+oiiiiiiiicccccccccccccc******+...:..... .               
 ... ..""""<<<<<<++++++*****ccccccccccciiiicoiii*co*iiii:.:::..::::::::,,:....:.cio**++++ciccccccccccccccc********+++++..........                
 .   :"-"""""<<<<<<+++++*********ccccccccccccooi**+-ciic;:::..::::::::,::...::::cc-"ciciicccccccccccccc**********++++++....:......               
;;-,;-<-""""""<<<<<+<++++********cccccccccicoooic<+ciicic:...::::::::::::..::..:ccc*ci*i+*cccccccccccc**********+++++<+<;;;. .. .. ..            
;;-;-"+----""""""<"<<<<<<<+++++++********cccoooi*<+cccccc:,,,::.:::,::::.::.:.::cc-*<+"-i*<**************+++++++<<<<<<<<",; . .. . ...         ::
::::::::::::,,,,,:,,,,,,,,,;,,;;,,;;;;;;;;"iooic+<:;;:;--;,<i"+oPH;-;-;;;;;;;;;;;;..,...:..,;;,;,,,,,,,,,,,,,,,,,,,,,,:"<"<"<"""""--"""",.     ..
.:::::::::::::::,,,,,,,,06,,,60*,;,88e;;;;<ioo*c",.;:,";@@"oi,,-;";;;;;;;;;;;;;;;;;..:,,::;,,;;;,,,,,,,,,,,,,,,,,,:,,:::"""""<""1,---eo,;;;--;;;;
:::.::::::::::::::,:,,,,:,,,,,;,,,,,;,;;;;*ioo*": .:e6<++-;"-c,1,,;;;;;;;;;;;;;;;;;;;,;,,,,,,,,,,,,,,,,,,,,,:,:::,,::::.-""""""<;,""--.:--;;;;;;;
:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,;;;;cioi*, ..:+i";*,:*-;1o,:;;;;;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,:,:::,:,::::::.."""-""""""""-------;-;;;
::::::::::::::,,,,,,,,,,,,,,,,,,,,,,;;;,;<iooo*...::.:.:+:i"c,I6,;;;;;;;;;;;;;;;;,;;;;,,,,,,;,;,,,,,,,,:,,,,::,::::::::..."-"---""""""------;-;;;
....:::::::::::,,,,,,,,,,:,,,,,,,,,,,,,;;cioic+.  <o:.:1c:;",,":.;-;;;;;;;;;;;;;,;,,;,,,,,,,;,,,,,,,,,,,:,:::::::::::::...:""-----""---------;-;;
..:::::::::::::::::,:,:,,,:,,:,,,,,,,,,,;*coicc+.  :.iie-;;;:...;;;;;;;;,;;;;;;;;,;,,,,,,,;,,,,,,,,,:,,:::,::::::::::::.:..;----------------;-;;;
::::.:::::::::::::::::::::::,:,,,,,,,,,,+*iooc++c.,,,. .;;;;;;;;;;;;;;;;;;;;,;,;,,;;,,,,,,,,,,,,,:,,,::::::,:::::::::::...:.-------------;--;;;;;
.::: :::::::::::::::::::::,,,:,,,,,,,,,,iooi1c,*ic.,,,,,;,,,,;;;;,;;;;;;;,,,,,;,,,,,,,,,,,,,,,,,,,:,:,:::::::::::::::::......---------;-;;;;;;;;;
...  :::::::::::::::,,,:,::,,,,,,,,,,,,,*i1io*  co*,,,,,,,,,,,,,;,;;;;,;,,,,;;,,,,,,,,,,,:,,,:,,,,::::::::::,::::::::::..:...:------;;;;-;;;;;;;;
 ..:.    ..............::;,:.--,;;,;;: ..icci" ,*c  ,,:......:::.......:,,,,;,,,;,::,,,,,::......::....:"::.:,.;;:::::..,.....;-----;;;;;;;;;;,;;
......................:.. ;,, ,,,".    .:cie;<: .:+-+"::::::.:<:::::.::::....:,,,,  :............."................. .  ..;....;-,::,-;-;;;;;,;;;
.,;"""<+<-,:,. .,:...,,,,,,,: ,,,,,;,H@..<ci. ..,.. ...+,.:::::........ ..,,,,,,,,,,,,... .. ........     .   .... .., . -,:::::::::,.;;;;;;;,,,;
::::::::::::::::,:,,,,,,,,,,  ,,,,,,,,,,,,;:::::,.::.:,--,<..   ..,;;.,,;;,,,,,,,,,,,,,,,:.-;...:..:......  .;,:.",:::::::::::::::::;..;;;;;;;;,,
:::::::,,;"+,:,,,: ... .::: .,,::::::....:::,:::::....""<-<,,,,,,,,,,,,,,,,,,,,,::,,::,,,,,,,,:::... ....:,;,-::::::::::::::::::::..-..:;;,;,,,,,
..  ..:;"-"-<o-;--;;:,;+   .-";....  ....:,,,,.:,..........::.,,-.............. ::.  .-;.. .,;;;;;;-+cooo1o<@I0-ieI688e".:: ..  .   . ..:,,,,,,,,
...:;"+<*ii*"--;.oI+*...,;;;.............,;;-,::   .":::......::.. .. .....i<... ,. ......;"coo111111ooiII<-<-;i8@P@@PP@@I1iic+<+6@i,. : ,,  ::,,
:;;::: :::+  ;MM#c...,+,--,..:,.....,....,,,,,:    .::.........::::   :,.,:::....,: . :....-"cee11ooooooiioiiioo6P$$$$PP@0i*+*:::.:::::   :     .
:::::  ::::,,*":. ,;;"...:...::....::....:::::..  ......::..: ....      :   ..,,,,,:,,,.,   ..,-<c1111o1ooooooooo06eiooooooic":.: -::..       .. 
:::.   ::::::,::<"--;,...;.i+--;;;;;,,;;-;,:.....  ;;;:. ;.......   ..    ,,,,,,,,:,:,,,,,..; .......:,;""<<"--;,::::::.:....::.,..,::    .     :
..:    .::::::::::::<-;:...:...;""-.. ......:-"<-:.. .. ...:  ...   ::,,,,,,,,,,,,:::,,,:,:,:,.   :--:..:,+**i**+**cc+*,...,:......;c,..;,:......
.:     .:::::::::::::::::,,:::::,:,:,::,,:,,,,,,,,,::.. . .....  .,,,,,,,,,,,,,,,,:.:,,,,,,,,,::,,. ..  ... :.... ...       . .. <:.:..::........
. .:...  ..... ..-<<+**<"-"""<<<<<"<<"*ccIe,,:::::::,:::::::,,,,,,,,,,,,,,,,,,,,,,:::,,,:,,:::::,:::::::::,:::.:.:::,::::::::.:::..:.:...:.-.....
   .,*i.:"+ic*+*+<-;,,,,;;;;;;;;;;;---"<"<<<;::,:; . .-;,. ....  .      ..,..:-.. :,  ..*<++.....    ..*i--;;;;---;;;;;;;--;;,::::...:-e8*+"",:. 


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