::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::#:##:#:##:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::#::::#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::#::#:#::#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:#:::::::::::::::::::::#::::#::::#::::#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#:######################################################################
:::::::::::::::::::::::::::::::::::::::::#::::#::::#::::#::::#::::#::::#::::#:::::::#::::#::::#::::#::::#::::#::::#::::#::::#::::#::::#::::#::::#::::#
::#:#:::::::#::::#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#::#:#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,:,::::,,:,:,::::,::,:,::,:,::,:,::,,,,,,,:,:,,:,:,,:,:,,:,:,,,,,,,,,,,,:,:,,:,,,,:,,,,:,:,,,,:,,:,,,,:,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,
,,###,,,,,,,,,,,,,,,,,,,#,,,,#,,,,#,,,,#,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,########################################################################
####,,#,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##
#####,,,,,,,,,,,,,,,,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#####,,,,,#,,,,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,#,##,
,,####,,,,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*i***z;,ii,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#,,,,#
,,##,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,i:::::;i++i*;;#nnzzzz###z#+*###,####,####,####,####,####;;:*#,####,####,
#,#,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#,,,;:::::::;;;;;;;;;;;;iii;i;;;;iii;:;:;;ii:;*:,,;nxxxxxnnnxxxn+;i*******i##################::.*############
###,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::;;;;;;;;;;;ii;i;;iiiiii;,***+*i,:,;:,;#znnnnnzzzznz*:::i***i*++i*;i##,#,##,#,##;::.i,#,##,#,##,#
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::::::::::::;;;;;::::::**+++####+;;;;:i;:::i:,,i*+#++#++**++;.`:;iiii;,::,,:,#,#,,#,#,,#;:,::,#,,#,#,,#,#
#,###,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;iiii**ii;:::::::::::*zznxxxxxnz*;i*;::::.,..::;;;;;i;;;;;i:.`..........``,i:,,,,,,,,,;;,,;:,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;iiiiii**+++*i:i*+**ii;;:;+MWWWWWMxn#*;ii;,:;i;ii;ii****iiii***i::.,,,,,,,,,::;*z+*:;;;;:;::::,,,;,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,*i,,,,,,,,,,:ii;:;;iiii**+**i;*++++*+i::::i++++++++*i;ii*;:;**++#++**+++*****iii::::iii;ii;;:*i**+i;*iii;i;::;,...*,,,,,,,,,,
,#,##,,,,,,,,,,:*ii******++*ii,,,i;iiii;::;;iiiii;;:;i*+**i;ii;;,:;*++*+***+*iiiii::i+#++++++###z#+#+++++::...,,,,....,,,,..`...........```*#,#,,#,#,,
#,,,,,,,i;ii*++###zzz#####zz#***+*+++*ii;:;i****i;;i;*i;;ii;;;iii**+#+iii;;iii;;;;;:*#zz#####zzzz####++++:,....,,........``...........```..,,,,,,,,,,,
###,,,;:i+zznnxxnnzzz#zz##+++++#++#++iiii:;i****i;;;;;i***iii*****i*+*;iiii*ii;;:;::i#z#+****iiiiiiiiiiii,,.,,:::::::,,,,``.,,:,,,,,,...,,,,,,,,,,,,,,
#,,,,,:,*####zzznz######+++#++*+#+++**iii:;i*****iiii;ii*ii*i*+*i+ii*i;;;;;;;;;:;:::;+++i:,,,,,,,,,,,,,,,.,i,,,,,,,,,,,,,:,;,,,,,,,,,,;i;,,,,,,,,,,,,,
,,#,#,;,i+#z##zzzz####+++++##+++++****i;i:;iii***ii*iii*+i*+****i*;;;;;;;;:;;;;::,,:;ii:,,;;iiiiii;i;ii;;,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#
###,#,i,;+znnz#zzz####++#+++++*++++++**ii:;;;;;;;::::;:,,;;;i;;;:,:::,;:.,,;,,,,,,#::,,::#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#,,#,#
,,###,*,:*##zz##z###zz++#####++++####**i;:;:,..,,,,,,:,,:,,,,i:;;::;;:::,.,i,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,*z###znzz####++++######+++*ii;i,,,;;;;;;:::::*,,,,,,+;i;:ii:;:::.,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#,,,,,,::*zz#zzzz#####+++######+*i;;;,,,,,,i;i***i;ii;,:;,,,,+ii;:ii:;;:;,,;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#.####.:,i+###zzzzz#++#######+i;:;..........;ii****;,;.:;;...*i;i:;;;;;;i,,;..........................................................................
.##.#.#:,;i+#####zz##+####+*;:;.............;iii*i;,;iiiiiii**..i;;i;;:ii:,;i.........................................................................
#####..;.:i*+##+######+*i;;:................;i*ii;::.:;;;iiii...;;;*i;;;i;,;;.........................................................................
...#.#.i,;*++######+*;:::,.................;i**i;:,..............i:i*;;;:i,:;.........................................................................
####...*,;*####+**;:,:;....................;***i;::..............,:iii;:;i::;i........................................................................
#..#.#.;,:i***i;:,:i......................:i**+*;:................;;ii;;;;i,;;........................................................................
####.....,::,,,,i.........................;i**+i::................i:i*;;;;*::;i...#....#....#....#....#....#....#....#....#....#....#....#....#....#..
......##,.,,,;............................:****;:..................:;ii;:;ii:;;.......................................................................
###.##.##................................i;****;:..................;:i*;;;;*;:i;..#....#....#....#....#....#....#....#....#....#....#....#....#....#..
###.#..##................................:;i***;;..................;:;iii;;;*:;ii#...##...##...##...##...##...##...##...##...##...##...##...##...##...
.#####.#.................................:;;*+i:....................;:i*;;;;ii:i*##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#
#####..#.................................;:;i*i;....................i:;ii;;i;*;:ii....................................................................
#####.....#....#..........................;,::::.....................;:i*i;;ii*::ii...................................................................
#####.................................................................;;**;iiiii;;i*:.................................................................
#####.................................................................;:i*i;ii;ii;;i**.#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#
######.#...............................................................;:iiiiii;i;;:;*;#....#....#....#....#....#....#....#....#....#....#....#....#..
####...................................................................:;:i*i;;;;;;,;;:#...##...##...##...##...##...##...##...##...##...##...##...##..
#####...................................................................i;;i*;;;;i:;,:i...............................................................
#####..#.................................................................i;;ii;;;::;::.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..#.#..
#####.....................................................................i:;ii;,:;::.................................................................
#####..#...................................................................*:;i:::::i..#....#....#....#....#....#....#....#....#....#....#....#....#..
##.#...#....................................................................*::::;:;###..###..###..###..###..###..###..###..###..###..###..###..###..#
..#....#.....................................................................i:,;,:.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#.##.#
.##.#.........................................................................i;,,i...................................................................
.####.`#.....................................`..`....`.........`...............i;:..............`.`..............`...`.......`..........`..`..`...`...
#`##```#````````````````````````````````````````````````````````````````````````,`````````````````````````````````````````````````````````````````````
#####``#``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
#####``#``````````````````````````````````````````````````````````````````````````#`#``#`#``#`#``#`#``#`#``#`#``#`#``#`#``#`#``#`#``#`#``#`#``#`#``#`#
#`##`#`#``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
#####`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
#####`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````