mmmmm                                   mmmm                         
 ##"""##                                 ""##                         
 ##    ##   m####m   ##    ##   m###m##    ##       m#####m  mm#####m 
 ##    ##  ##"  "##  ##    ##  ##"  "##    ##       " mmm##  ##mmmm " 
 ##    ##  ##    ##  ##    ##  ##    ##    ##      m##"""##   """"##m 
 ##mmm##   "##mm##"  ##mmm###  "##mm###    ##mmm   ##mmm###  #mmmmm## 
 """""       """"     """" ""   m""" ##     """"    """" ""   """"""  
                                "####""                               
                                                                      
                                                            
 mm   mmm  mmmmmmmm  mm        mm        mmmmmmmm  mmmmmm   
 ##  ##"   ##""""""  ##        ##        ##""""""  ##""""## 
 ##m##     ##        ##        ##        ##        ##    ## 
 #####     #######   ##        ##        #######   #######  
 ##  ##m   ##        ##        ##        ##        ##  "##m 
 ##   ##m  ##mmmmmm  ##mmmmmm  ##mmmmmm  ##mmmmmm  ##    ## 
 ""    ""  """"""""  """"""""  """"""""  """"""""  ""    """
                                                            
                                                            
---:::-::::-::::.::::::.::::::-:::::::::::::::::::::::::.:::::::::::-::::..:..:::.::::::::.::::::::::.::..:...:::::.::::::::.....:..:...:.:.:::::.:...::::.::...::::::.::::.:::::::....::.:.::..:.::......:.............:..:.:...:.::..:.::.::....:...:..:..:::.:.................:...:....:..:...:..:::.:-....:.:.....:......:.:::......:.::::....::........:.::....:.:........:.:....:.....:........:.:..:....
-::::-:-:::-:-::::::::::::::::--::::.-:::::.:::::::.:::..:.:.::::::-.::::::::::::::::::-:::.:.::::..::...:.....::::.::.:.......::...:..:.:::....:...:.:::.:..:...:..:.::::::::.:..:.....:.::...::...::.......:.:.....:........:..:.:.::.:.:......:......::........::..................:...........:..:.:...................::.:...::.:..:.::.::::..:.:.:....:.........:.......:...:...:..:........:::.::::.:::::
-::---:-::::::::::::::-::::::::::::::::::::::.:.:::::::.:.:::::::::..::::.::::::::::::::::::..:::::...::.....:.::.....:.......:.::....:....:.:.....:......:.:......::.::.:::..:..........::......::.:...............................:....:.....:............:............::.::....::.....:..::.........:....::..:.....................:....:....::....:......:....:..:..:.:..........::...:........:..::.:...:::
---:-::--::::::-::::::::::::::::::.:::.:::.::...::.::::..:::.:::::::::::::::::::::::::::.:.::.:::::...::.::..::...:.::..::......:.......:..........::.::..:.:::..::.............:..:......:..:::...:..:.:::.:..:.:......:.......:..:.:......:.....:...............:.......::..:....:.:..:........:..:..:................:.........................::..:....:.....:.:........:........:.....:.........:.....:::::
-:-:-:-:::::::::::::::::::::::::::::::::::....:.::.::...::..:::::::::::.:..:::.::.:::.:::.::::::::.::.::.:.:::........::..:....::..:.....:.......................:............................:....:...:.:::.......::...................::..........................:...:..::..................................:......................................:....:.:.:...::.......:...:.::::..:.::.....:...:....:::::.
:-:::::::::-::::.:::::::::-::::::-::.:.::.:..::::::.:::.:..:::::::::::...-::::.::::..:::::::.::..:.:.::..:......:....::....::.......:......:::...........::...:......:.:.........................:.::::..:.............................:....:.....:....:::.................:..........................:.:::.:.:................::................:.........:.....:....:..::..:......::....:.:........::.....::..
-::::::::::::-::::::.:::::::::::::::::..:...:.:.:::::..:.:.:::::.:..::::.::::::.:..:.:::...:..:.:.....:........::....:.::...:.:::.:...:::..............:........:.................::.:.....::.:..:...:..............:.............:..........................................:.:...:.......:.......:..:......................................:............:........:...........:............::.......:.....:::::
:-:-:::::-:::::::::::::::::::::::..:.:.:...::::.:..:::::..::.:.:...:.:::::::.:::.::..:.:......:.:........:......:....:..:..........:.:.....:.....:......:..:..........................:......:..:.....:.:............:...:......:......:...................:.............:........:............:...:...............::...............................:...:.:..:......:.:.::....:....:.:..:...:............:.:::::
::-:-:-:.:::::::::::::::.:::.:.:....::.::.:..::...:..:::......:....:.::.::::...:.:.:.:..::.....:....:.::.::..:::..................:.....:::..::...:.....::::...........................:....:.:.:.............................::............................................:.:...............:.....:.:...::.........:....................:.............:.:........:....::.....:.:.:.....::.........:..:::::.::.
:--::-:::::::::-:::::::::::..:::.::::.::.:....:..::::..:.:.:::.::.::.:.:.:::.:::::.::.:..::::...:..:...:.:..:....:.::.:.:..:......:...::.......:..:.....::..::..:.:.......................:.:.....:.:.:....:...:.....................:..................:.................:...................:.......::...:..................................=......:..................:.::.:........:...:.......:::..:.:::::::
:-::-:::::::::::::::.:*#***#####*##=:......:..::...::.::::.:::::::.:::.::..::::::...:.:::::.::..::.:...............:....:..............:....:....::..:.......................:....:..:....:..:.....:..:.............................................................:........::.........................:.....................................:...............:........::.::..:::.:.::..........:...:..:::::::::
:-:::::::::::::::::::::::*+#%##:.-*=::::..:.:.:..:::.::::::.:.:::::.:.:::.::::::::::::.::::..:..:.:............:.:..:.:.:.....:..:::...................:....:.............................:..:.....:..:............:....:........:....................................................................:.....:..:....:..........................:..::...:.............:.:.:.:..:.....:...:....:.........:.:::::..
-:-:::::::::::::::::::.:...##.:...+::::..:.:.::::..::.:.:.::.::..:::.:...:::::::::..::.::..:....:..:.:..........:::..:..........::...........::..........:.:.......:...:.....:.:.:.:....:..::.::....::..::::...:....::..:.....:......................::..::....:...:....:................................::.....................................:.:...::....:........::..:.::::.:::.:...:.::.......:...::.:::::.
-:::--::::.::::::::::::...+:-:-...+-::::.::.:........::::.::::.:.:.:::::::::::::.::..::..:::.:.::........:.:...:::...:..:........:....::..:##................+:.:.........:..:.::.............:.:.:::...:...........:..:.............:..................:...:...:...........:.........................:...............................:.:.......:....:.......:......:...:..:..:...:.........:....:...:...:.:.:::
--:::-:::::::.::::::.::.::.:......--::..:.....:::..::::.:.:.:::::::::::::::::.::::::.:..:.:...:.......:...:...:....:..:..:.-####++:++=.:..:........................-*...:.:.:........................:.:::.:...........:......................................:..................:..........................:................:......:.:.......:......::..........:.:.......:::......::.......:.....:.......:::..
:-:--::-::..:::::::::.:.:.*##*:..::+:::::::.....:::.:.:::.::::.:::..:.:::::...-.:::..::::.:.:..:::........:.........:.*#......................................................:..............:................:.................:................:......::...............:..................................:..........:...........:...................::............:....:::......:...:.:..:.....::......:.::::
::-:::::::::::::-:::::...:*%:#:.:.++.::..:::....::::.:.::::.:..:.:::::..:.:::....:::..:::.:..:..:...:.:.....::...-##=....................................##*-*#.....:.#=-#+..........:.:.........:.......:.:............:.........:.........................:..:........................................:......:.:...............:..........:..:............:...:...........:..::..:......:...:.......::....::::
-:---:.-::::::::::::.:.::#+##.+...#+..:.:.::......::...::.:.:::::::.:.::.::..:..........:....:..:.:.....::..=#*...........................................:.*+.:*.+:.*.........::......:................:::...........................:....................::.:..:................................:.............................:...:....................:..............:...:..::.:..:............:.....:.:.::.:
:-::----:::::::-::::.::....::.....**...::::.::..::::::...:::::.:.::::::::.....:.::.....::.:....:........:*.........................................=::+..:.#:::.##::*.:............##........:.........:..................:.:.........................:....:........................:.....................:................:.........::.........:......:.:........:.:..:....:..:...:...::....:........:..:....:.
--::-:::::::::::::.::..:.:.#*+:...*+.::.:.:.::.:..:....::.:.:::.:..:..::...::...:.......:.............*.......................:.....................##+:#...:....:.:..................*...:..:.:.......:........................:..........................................:......................................................::..:....:..:..:................:............:.::..:.:.:...:.:...:...:.:.::..:
-::::::::::.:::::::::::.::::*:....--:::.:.::.:....::.::::..:::::::.:::.:...................:....:...#.......-......................................:......#..*........:...#...-++:.....-..:....:............:.:.........................................................................................................................:...........................................::.....:..:.......:......:::
:--:::::::::::::::::::::::-:%:....:::::.:..::...:.....:.:...:.::::.::...:.....:..................#=..................................................#..:.:*:.........:..::%.+:...........+........:..:.......:......................................................................................:..........:........................:.......:........:.......:........::....::.::.::::..::....:...:::.:::::
:-::::::::::::::::::::..:.---:.:....::::.:..::......:::::::.:....::...:........::.....:.......#-................................................=#+..#...::....:.:........*:#..::..:.::.....::..+.............:....:..........:...............................................................:..................................:.....:..:...........::...........:....:.........:.:..:..:...:.......:.....::::
:-::::::::::::::-::-:..:::.=:=:.....:.::.:::.:::.:.::.::...:.:::.:.....:...:..:..........=#:......................................................:#.#.....#:*..............:...*..*:.............*...............:...........:.........................................................................................................:.::.:.....:.:..:....:...:.::.......:.::......::.::::.:::.:..:..:.::.:::
::::-::-::::-:-:::::::.....=*%:....::::::....::..:..:...::::::.:....:..:...........:::#..............................................%..*::.:=.#.::=..:-.:.#-##:..........#..:.:.*..........:.*+....*..........:.....:.....:....................................................................................................................::..:::.::..:::....::::.:........::..::.:...:::..:.:::::..::::::
--::--:::#:::*#-::::::::.:..#....::.:::::::::.:...............::.:....:....:..:....=#.:..........................................#%##.*.%:.:*.=.......::........#.:...........#..:.:#:.#..*..:.:#.:*.......:......:::..:.......:......................................................................................................:....:.:.:.:.:.:::::.::..:...:.:::...::.::.:....::.....::...:..:::.::.::.:
--:::::::-#::#:::::::=:..::*+=.:..::::::-..::.:...:....:.:..:.......:............*#.......................:.:.:.................:::..=....-.:.:..*#......::...::#.#%.=......#.-:...-..%:..:-....*..::.:...:.......::......:..:..........................................................................................................:..:..:::....:..:..:..:...::::.:.:....:.:......:::..:::..::.:.:.:::.::::
:-::-::-:::::::::::::-:..::.::::....:::::::::....:.....::.....:.:::...........:+#.:..................:......:.:.:....:.............-*+.....-:.-.#:::#=...:..###+.#.:..:..+...#......#:.***..#.#+..*.......:.......::...:..:....::.:....................................................:.:................:.........................:..:....:.:..:...:....::::..:..:::..:::..:.:.:.:::::.:.:.::::...:.::::::::::
:-::-::::::=:##-:-:::-:::::..*..*...-:.:::::::..:..:.:.:.......::.:.......:..+#:...............................-:..-.-*..::.......+.:*%.:#..#..:.:%#*.:#.+..::..:.*..=%.*#:...%.....::.....=.=.%*................::.......:.::...................................................................................................::....:.:...:::::::.::::..::.:.::::.:::...::.:..:::.:::.::.:.....:.::::::::::::
:--::--:-::#*#::-:-::::..::..*-+*#..::.:::::...:....::..:...:........:..:..##.............:..............*=*-#-.#..:+.#::...#::.....#::%#%-.:....%#%%#%%.....::#+.*:.:#+..:.:..#.....:#:.-..........#....:.:..........:..:..............................:...............................................:.........:............:........:..::::...:...::::::.::::....:::...::::::...:.:::...:.::....::..:::.::::
---:::-:---:-:::-:-:::.:.::::+.#*...:::::::::.::.:....:.::::....::.......*...:..........................*::...--.:..........*:.*::#..*.-...#####..##%##.%......###.:..:....*#:.#.....#:..:*..-#::......=...:.::.....:.::::::.:................................................................................:::..::..:.......:.:........:.:..::..:.....::....:..:.:.:.:...::.........:.:..::..:::..:::::::::::
-:::-:::---=-#::-::-:-..::.....#..:..:::::::.:.-..:.::........:..:.....#..................................*#.-::::.#%%%####%...::.:.#.*:-####%###.#*#*###*-.#..#...*..:.....:.-.-#*...#.::#.+.-#..-::..*.=:..:..:..:.:.:.................................................................:..................:.:......:.......:....:..::::..::..:::..:.::...::.:::..::::::::.........:..:::..::::::::::::::.:::-:
--::::::::#=-::-:-::-=......:.###:.:.::::::::::::.::-:::.:.:.:..:::.:#.:.:............................#.:.#.#:..%:*#%###%%#%%.*%%%...*...###%*++=##%%%%%%@.*::...=.......:.:.*..:..:..*:.+:..::**..*.::-.:::.:::..:::.....:.........:...:..:.....:............................................:......:....::.::...:.:.........:...::.......::.:..:.:.::::::..::::..:..::::.:.::......::....:..::::::::.:::::::::
---::::::--:*:--:-:.:-:...:...*:-=.-.::::::::::::::::::..:.:::::::.#.:...:......................#::#:#...::#...:..=%:.%%##%##.%%#*#-..+::...%%##%*#%#%%%#%###..:..#............##-..*...:-.::::-:.--.:::.::-::::::::::.........................................................:.............................:..........:....:.......:::::...::..:.::.:::::::..:.::::.::.:::.:.:...::.::.:.:::::..::.::.::::::::
:::-:::-:-*:**:-:-:::-..::.+.:.-.+.+-:::::::::::::::::::::::::::**........:....................#::::::::*::-:......::*:..#%*##*##%%%..##*#::#%#%####%#%%%%%%#....:...:*#=...#:#..:.:#::...::::....::::..:::...:::......................:....................:................................:.........:..:..:::.:...::..:.::....:...:::..:.:...:.......:.::.::.:....::..:::.:..:...:::::::.:.::.:..::::::::::::
::------:::-#-::::::--:...##:.*.:#.==--:::::::::::::-::::::::#+:..................................#....#......:*...#%#%%#.##%#%###%%.+%*####..%#%#%%%%%%+.#+:.##....+.....#.*:.................:....%::+.::..**=#+:...........:.........:.......................................................:..........:..........::........:.:..:::.:.::.....:.:..::.....::.::.::::.::.:....:.::.::::..::.:.:.:::-:::.:-.::
--:--:-::###=#-::::---.:::::..:..:.*#::-:-:::::::::::::::::#..:...........:.....................-::.#*#+...*::+=-:...#%##+%%#%#%%#+.####%%#%%.#%%%####*##%#%%##%##....%.:=.#:...*.-::#..........................:....-+..:....:....:.........:..........:.....................................:..:....:.....:.......:..::....::::..:::.::::.-:::::..:.::::::.::::.:.:.:..-::::::::::....:.:..::..:::.:::.::::::.
---::--:::#*-*:::::::+::=.#*.:*:+..#%:::::-::::::::::::::#.....:.........:............:..........-::::::*.:*#%%#.%%#.#*#%#%##%%*+**##%#%#%%%%.%##***##%#*##%%###*##.#:.::........=#+..:+#*.........................#*#.-...:**:......:.:..:...:..................:...................:..........:.::........:....::.::..::.:..:.:......:::..::.::::.:.:::::.::.:::..:::::::::.::..:::::.:::.::::::.:::..::::-:::
-.---::::::::-:---::-*:::*=::.#:..+##::---::::-::::-:::#.......................:.:......::#::::*#..-.##%.=.#%##%#####.:##%#%%**#**#%%%%%%%%%%%*####%*#####%%#%%###.=.:......#:...=::.:...:#...#.:.+.-..............::...+..*:::.:*..:.................:....................:.............:.....:...:.:..:..:..:......:...:.........::::::::::::-:.:.:::::::::.::::::..:::::::::.:.:...::.:.:::::.:::::::::::-:::
-----::-:**-::*:::---%=:*-*#..#:..:#+:::---::::::::::-#.:....:.:...........:.............#:.%#%%.#.#%%**%%..%#%#%#*#%+.#%###***%##%%%#%%#%%***#%%#*%%%%#%%%:####%%.......*..%*=..#......:::#.*.....:...........+::#.*:..-:.#*.:.#....:.::.....:...:..:................................:....:..::.................:::::.::..:..:..:.:.::::..:::::.....:::::::..:.::::.:::.:...:.:.:::...::::::..::::::::-:::.:.::
----:::--:::#::--::::#+..%:::.....:*-::::::::-::::::#*.......:.:....:......................#%####.*########.#%%**%%%%#%##%*#**#%%##%%%####+**##%*%%#%#%%####%%%=...%##%...=***%....*.::.:::#.++:++..+..........:..*:::.#*-..*.:...#...................:.................................................:.:..:..:..::...:::.:..:.:......::.::.:..:..:::::::.::::::..:::.::::::..:...:::.::::::::::::::::.::--:::
---::--::-=:-:-:-::-:*###**+-=-::...:--:----:-:::::*......:..................:......:.....=###%%%+.##%##%:.%##*#%%%%#%%%+*##%%%%%%%%###%****%##%%%%%#%%%*.#%**#**#**####..**#*%%..%:.:..:.++..::.*.......%.:.:#..#:.:.+...=.....::..:..:..............................................:...................:...::....:.......:...:.:::...:::..:::::...:::::.::::.:::::.::.::.:::..::..:..::.:..::.:.::.::::::::.:
----::--:-*:-:---::-----:-:-:--:::::--:::--::::::+...:.........:........:...............:.:##%%%:%*###%%%%%##*#%%%%#%##.#+*%##%%%%##%#%*####%##%##:#%#%%%##*#%%%%%#%%#*.###-*+**#..:....-*..:::.::..#-#...::.:.#..::...=:::...:.:.:.:.........:........................................-................................:::..::..::.:.....:..::.:...:::.:.:...:::::.:.:.:::::..::.::::.:::.:.:-:::::::::::::::.:
---:---::-:**-----:---:::-:-:-:--:-:::::-::-::::#....:....:.....:......:...................%#%%##**%%#%%#.####%%#%#%#***.*%##%#%%%%%#*.***##*#%%%###%%#=*#*%%%##%###%%%#%%#..:-#.#..*:.*..+..::.%.#+.#*.*.:#.............:.:.*....:...#.............:....::.......:..............................................:.:....:.......:....::..:..::.:::::..::.:.:::::::..:::::.:.:::::::::::::::::::::::::::::::-:::.
----:::--::*+::-:----:--::-----:-:-::::::---::#...::.......:...:...........................###%#%##%%%##%##**#%%%%#%###*#*#####%#%%%###**%%#%##%%%%%*#**#%%%%%###%%%%%###%=.............*#.....##....::.=.:.......#=..#...........#.*:..:.....:.....:.......................:.................:.....:..........:...:..:.:::....:..::..:.:::.::::..:.::::::::-:::::.::.:::.:::..:.:::::::.:::-::::::::::::-::::::
::---::---::=-:-::::---::--:------::-:---:-::#...:.......................:.................@#%%%%*#%%#%-#%*#%#%%%##%+-*%*##.##%%%%#**#*#%#%##*#%##%**###%%%%%#%%%%%#%%%%#.:%#.:#....#..:+......:..:*...#.#.-...:....:..#...........#::*.::::..:...............................:..............................:.....:.....:......:.::.::.:.:.:::::..::::....::.:::...:.....::::.:...:::::.:.:::.:::.:.:::.::.::.:
::----::::::-------:--:::-:-::---=----:::--*:.:................:.....:.:.....................%%%#*#%%:%###**%#%#%%###+.#%%%##%#%+##**.*#%%##.#%%#****%#%%#%%%%.#%##%#%#%#%%%#%::.......-..=:.:..:.:#......#:#...:*..:...:...:.....:.::....+....:.............................:...................................:..::.:::.....:.::....:.:...::.....:.:...:::::::..:..::...:.:.....:.:.::.....:...::.:.:.:::::.:
::-::::--::--:::----:-:-:-:-:---::--::-::#+.:.:..............:................................#%*##########-%+##%%%*#*#*###.%##%##*-#*%###%%%#%#*##*%#%%%%%##%%%####%%#**#*#::.......:.**.###..*::.:.*##...:...:..#.........::.#..#:#-:.=*..*.........:......................................................:.:......:.:......:..:...::.::.::.....:.::....:..:..............:.........::.:::.:.:.......:.::::::
---:-:-::-:-::::-:::--::::--:::=--=-:::*#::::..................................................#**%#-@#%#%#*#%#%%#%#**##%..#%#%#%**#**%#%#%%=%#*.**###%%%#:.%%#%%#%#*#.=#%+..::.=*.:...#*:..:*.#+=#*.:...#..*....*--%.......*+#:..*..:.:.:.+..:.....:.............:.......:...................................:.....:.............:.............:....:.:.......:.:.::......:..:...:....:...::.....::.:::::.::..:
--::-:-::-::--::::-::-:::-:-:--=-:--:*#:-:.........................:...:....:....................**##*####@.=%##*#%:#:*%%%%##%%%#*#**%%#%%#%#%*.##%#%%.%%##%%#%%#******%##%%**:...-.-#.....%.-........:.:*.*........###........-.#......................:::................................................................:...........:...:........:........::......:..::.:...::......::.:..:....:.:.....:.::::
:---::::---:-----::::---::::---:--:*:.:....::..:...:............:::....................................-....::##%####%#%%##%%%%##*+*##%###%.%##**#%##..##%#%#%###.##.+***##%..::#:......-....#..-..#-.+:-.+:.......*...#..#+*...#.....::..:...........::........:..................:..........::..:....................................::.::.::..::.::......:..::..:................:...:.......:......::..:.:..
:-##=:::-::-:::---:-::------:=*-##:.:::::.........::..................:..................................:.....+.....-*..###%%###***%#*%#+%#%#.**%%%%%%#%-#%%*.**##*#+%*#-....:#:...:...-..:::.:...+.....+.....:.....+.=.+..:-=.#:.....::..:..:........:........:.................:.....:.........:..................................:......:..................:......:............:.:...:.......:::::.....:::::
::----:-:##---------::-:**+--###.:........:.::..................::-:---...........................................#.##%%#-%%%%##+##%#..-#%%###.*%##+.#%#.%#%#*.**#***:#:..:........:..:##.#..:..:...:#:+#:..=*........:#.+.#.:*.+.......:.:......:.:..................................:.::..........:....:..:.......................::....:.....:.........::...:....:...:..:...:......:.:.:...:..:...:.:.:.::..:
--------:-----------=*+#+*###:....::..:............:...........::::::::..:.................................#::#:..%:#*%#%.%%%%%**#*%%%%%%%##*#*####%##%###%##.#**#***=::...:.:......:.#%%..:+...*:..:.....+..........:...#.....=....:...::.:...::.......:................................:...........:-....................:........................::..............:....:.:..............:.........:..:.......:
*#**+=*+*#*##%##%#*####*-#*...:.::.::..:::::.:......::.......:::::::=+.+.:...................:.::............###:......##%##%##+*=+#%:.#.#%*###.##%%#%%##%%#*=###**#.:......:...............%...:-.+::....+.:..#.......=.=+:.*..#--+.:.......::.::..:............:............::..................:..:.........................:.............................:..........:..::...........:..............:.....::.
#############+:####::*##::.::...::.:......::..::..:::...:...-::::::.-:-:...................:=:..............:::.#.%#*-.###%%%#%#.-##%#######*+%%########%%%**-**#*#.............:...........#.:#%:-.--..::.%.:..#.................::.#:..:....:.....:.......:.............:................................:............................................:....:............:.............::.......:...:.........:
#*###**#%#####*######.::::.......:.....:..:::::...:-#.:.:.::::::-:#..-.:...:..-............=--#::.:..........::-:#%##%.=#%#%#%#-%*+%%%*%.%####%%##-.###%#%*###*#**:.:.:....:...:.....:...:#..#.......+:.::......+.*..#...*...:#..-.#*.:%...::............:.:.:..:...:.....:.............:...:.........:............:..........................................:..:....:....:........::.:....................:.:.
#**#####*#####+=#::.:...:::..:.....:....::..:::::#.:..*.::::::-:----+........:................*-.:::#:...........######*%###...%#.######:#%**%#####%%%#%%***##**#:.:...................:.##=....:..#.*.:......*..**-=....:..=+:#.#....:=#......:..:.::...:.............:.................:..:.....................:...........::...........................:...:...........::...:...:::::..::...:::.....:.:.:::.
+++#*##*###*-..:..:::....:.:....:......:.:.:.::.::..::::::::::#:#::#......:......:::......-=#..=:::..-.*-.........*##*###......##=.:+..:##%*###.%#%######******#+.::..:......:...:..::....:......:-**.::...:.....:::...........#.#:..:-.*:....:.::.:..:.:..:...............:.........:...............:.....................:.......:.:.................:............:.........:..:..:.:..:..........:...:...::#.
#########*.:::.::.:....::.::..........::......+:::#:.::::-::.:-#:...:--........=##-:::......*:.*..:*.=+.::#....:.:...-..:........:#%#%#%%.##*%#%%%%%###%##**.=**..........:..........:..................:::..::..:........*.:.=#.....:.:.:::.....:..............:..........................:....................................:........:..................::.......:........:..:........:.....::.........+....
*##%*.-:....:.:.:::.:..:.:...:.......:..:..:**:.=*=#-::::#...#-:::#.....+:........#::::..*-::#.:::::.::::*...##*...........*:.##..#%*.@#%%%**#.#%%%%###%###*#*##......:.............................:.....:.........#.......#*-....:...........................................::..:.:....:............................................:.......:...........:.:.......:....:......:.....:..........:......*......
::::.:::-::::...:..:::::...::-::...:.:......:::::::--:.:....:#--::::::::-:-#......#-:::...#:-..#-::::.#-::=*:.........::......#.#.####%#*########%%######**##*##:..:......::.....:....:...........................%..#.*..%.....#.............:..............:...:.........................:...........................:....:.................................:.:....................:.............::.:-........
.:..::::...:----::-:..:.:-:.-::-..:..:...:.**::::::.:::.......:-#-#*::::-.#+#..-:::::........*:::.:...........-::*.....::...#..=#%###*+.....###::::.:+%**##*:#*%::.....................:.......:................::=........*-::-...:.............................:...:........:....:...:.....:........:............................:.............................:....:.......:.:.....:............:.....:......
::::.:.::-:::--:::-:--::::=:#:.+.......:.:::#:::..::..:.............#:::-###:.#-.:-.......##...*.....##.....:..:::.:.*::..*.=..........:#...:..::=##%%+-**#*####.:.................:...........:............:....::.....*.+.....-..:..:.:.....:.:.........::...:.....................................:...:..:.:.:...........................................................................:.....=.............
:::::::::::::::-::::--:--:-+-#.:=.:::#.-:+*##+:.:=:.:.:........:::.=--:-:##::...:-:#..::...--.#....##::-..:..%:.......::.::#:...::....#*=.*.#::#-######.#******-:...:.:......:...................................:...:.=*...:...=:...::..::........:.:...::................................:...:.....:..:........:.:.........:.:.......:....:....:..............:......:.:..:........:...:.:....=...............
::..:...:-:.--+*:--:::--#:.=:-::#..:#-:#*#****#--.:.*::..:::.:+*.:#::.-.-#:.....:*:%.*..=:=..:.:#.-:::#.#::.=.:##...#......#...::.:..::.+=-#-:::..##%##%#######::.::.........:..:...........:..........:...............:.:.:.....:...:.:...:.:..::.....:.............................:.:.:.:..:..:.........................:.........:...................................:.:.......:........................::::
::.::..:::::::.::+#-:-#:.*-+:##.:.*:##+*#**#+#**##*#::::*:::.:::-::.:::-:--::#....%%::-.%.:#*##%#.%...::-=:.:.#%####......:%*%-..*:....::*.+**###..%#%#%%#+**##....:..........:..................:.....:........::....:.:....::.:..:.-.....:.......:....:....................:..............:................:................:.....:..........................:...:....:....:.........:..::.#.................#
:::.:.:::::::::--:-:*:::::--.::---:-:::....####%*#*#:::%###:.#:-#:-::::-:.+++#.......#:.:..%###%%%##%..##%#+.+*###..#.......#-:#....+...#####**##%.#####%*##**-.:..:..........................:...:...:....:.:..:.....::.:::.:.....:.....:......................:.....................::.....................:...........:......::....:....:....:..............:.......:......:......:..::.#.............:..*:*.
:..:::::..:::::-:::#:*:-:-:-::::-:::-:.#%%*.#%%%#...=####*.*#=..:.::.-::--##:*##:-*..::....##%=##%##-.#%%#%..###*.%%#..#.:.#.*%=#..::##-.#%####%##:%#%####**=*::...........:............:.....:.:....::.....:....:.:::........:..:..:...::::..:..................................:..........:.......:....:......:.:.......:...............:...........:...............:..........:..:..::................:..:..:
.:::.:-:.:---:=::#::*:+-:#::.*:::::::.:..+#####*****%#%:##%#%%..:.--:::....#.#::#:..:#-:..:#%#%%%#...%###%##%%*:*%#*..##%%#..........#*%-#%##%#*###%-##%%%.#*#..:.......:..:............:..........:......:...::.....::...:.:=...:.....:....::.......................:.......:..:..........::...:..............:::.....:...............:............................................:...*...................::.#
.::::::-::-.*%-::#--:::...:#--.#.:#:.::=..=###***+####%%%#%#%#:......::##:..*:::::::::::..:.#:#%##%%##:#%%%%#%%#*%%%##.=##%...###........####%**#%#%#%#####**#=.:.::.........................:............................:......:......:...::........:.....................:...::.:.....:.:.:..:..............................:.........:.:.:........................:.......:::..........................*%##.
:::::::::::::-+-*:--::.=##-:.-.::#.*.-...+.####*+*####%%%%#:..:...:..::::#.:.+:::::::::.:....:=**..%=%##....%###**##..%#*%#..%#%=..###**:.-%#%#**##.-#%%##*#***:..:.:........::..............:.....:...............:.....::......::.:...:..................................:...........:................:.:.:..........:.::..............:.:.......:......:..................:.:...:.#..:....................:.:
:::.-:--+:.-:::::::.*:::.*-#:::--:*::.*.:*.+.+#:**####::#%%#####...::::+##*...#::::--::....:......-##=...=*#.+%###%%#%%**+-%#####::##%####.#%%%#**#%%#######*.#*......:............:............:...:..:................:.....::..:...........................:....:..............:............:............:::.............:..:.:.:......:.......:.....:...:......:........:.....:.+...:.:...........+#*##-:=::
:::.-%#-%:*-=:.:==+:=-:##---:::***::.+:-%#..#..:....#*##.=#%:%###.#..:...:.:.:..#::-.::..::::.+.*:........:..%%#%*+%#%##+*###%..##.#%..#*#.#%%%%######.-#%#%#*##::..........:..............:......:...:.....:...:...........:..:......:..:.....................:...:.:......::.:.......::..:.....................::......:...............:.:...:.......:..:.......:::...:..:::.::.=:.................-::::.:.%..
::::::=##:#-:*:-:#=*-:%#-.-:::.:..::%:::.*-:-#.=.*##:.#%%####%#:.*:.::::#.=::-*.*:.......:.::%.#:......*:..=:#%#%##*%#=+#%*###%##.#%####*+##%%%#=.*%%##%####.*#*-:::...:......:...........:............:.........:...........:...................................:............:..:::..:.....:................:.....:...:.:....:.:....:....:.....:................:....::.:.:.....*:......................:##*#%:
::#=:---#.::::+.-:-*:###%#:*:::.::--..#..-.*#*::**#*%#.%#%%#%###=...-:::=:#:::..%..:::.*:.::-:....:-:*.*=:::.######*###%##**###%###....%#***%%%#%**#%#%%###%%*.#*:.::.:..:..:............:.............::......::...............:...............::.............................:...:............:.............................:.:.......:...........:.........:.....:...........*..........................:.:::
::--:--*=*:**.:::::::#%*##:###:###**%.:....#*++*#+*#*.####.+#%##......-:-:-:::#...*-:::-:........:-::..#:-#*.+......%%#%%%#*#*#..=#%...%%%%#*%%.-#*#%%#....##=.##..:.::.....:::.:..:.:..:::.:::.......::...::..:..:..:......:....::...:......:..:...........................::..........:..:..:.....:........::.............:..:........:..:::.::...:........:...:..:................:....................:=-:##
:::::..:.:::--=-:.-::+*##%#%***:#**#*.+%#-.:#%%##*#*###%+##%##:.::-*.+::.:-#:##.-%:-::#..:..:*..:..%+.::.=:=+.:######.**%#%%*:*###...#*..#####%%#%**###*+*###%*#*#........::......:...:..:.:.:.:........:...:..::.....:..:........:..:.:.::.....:::.....:...:.:..:...............:.........:.................:.....:.........::......::::....:::....:.....:.:.............*.*#....................:.....:..*.#**
:.::-::+*::*:*##::.:::-*##*##%#:#***####%#:.##%##+#:*####:..:.--:::.:*::::::#*:-:*######%..+=.+..........::#**.####%%+#*###%.*#%=##%%%%%###%.###*%#*%%##%%###*#*#*........::.::.....::..:....::.:...:........:....::.:..........:::........::.............:......:..::.:.....:..:.......:....................:.:..........:..:....::.::::::....:.:...:::........#-.......+-.*..................*+*#+=..#--::.:#*
*::.--::.+:::*#*:#::::::-#%:%##%##**#%%*#*%.+#%%###*+**#*#%##%-:=+:#--..=#..:.:.**%%%:##%.#:.:#.#::.*......:**.**#%##+***##%###*##%%#.#%%%%#*:#%##%#*#%%%%###.%####.....:....::.:....:::.:...:......:..::..:...:....::.:.:.........::..........:...:.....:.........:.::....::.:...:..:.....:.:..:.........::.....:.:..:.......::..:..:.:..::........:::.::...:#.+:...:..-:-..................::.:..-:.+.:.###.=*
-=:*-.#:*#*#:.#%%##:::::.++##%-:*%+*%#%%###::##%##*+*#**##:+-:#:::.:-..%##.#%%..:**#..%.*##.#..*:=##:..#%#:..:*.*##%%%####*%####*%#+%%%-=-##%#*%#..%+.#%#:.#%%%%#*-#.::::..:...:..:...::.:.:.:::.:::...:...:.:.:....:.:::..::..:.:.:.....:....-..:........:....:.....:....:..:...:.:..........::...:......:...::..::..:.:.:::.:.:::::.:..:::.:.:.:..:::::.:.::#:+....#.#+*.....................-*:.....:#+#*#**#
=.:----:#*%*%:#%####*####*==%%#.%#+**##%#--####%##%#*#:+*%#####:..:##%.=%#####=.#*#*%######..::::::::.+#####%.##.*%#.%#%##*##%.#####%:.#%##+#%#+##:-.#######%%###.-##::..::....:...:....::.::...:.:..:...::::.....:.::..:......::::.::.....:::....:..:...........:.:......:.:.::.::..:::.....:......:::...::::...:......::.:..::::.---::..::.:::.:.:.....:.:*...:.+..-**..................#:::.=#:::#****=.*####
--:-::--:*#%#:+%%##:.....:-:#:#*###+*%%%#*###..#*###*#**++#:::.:...#**.##-%%%=.#*#**+#.%%=.%#%.....-.=-%#:.##:#*..**#######.*#####%%#......#%%##+*#...####%####*...:#*::::.::.:.:::.::::..-::::::......:::...:......::.:.:.....:......:.::..:.......:...::.::...:.:..:.....:....:::.....:::.::.:.:::::.:::....::.::::..::::::::::::::::::::::::-:-.:::--::+.:::-.:#:::*......................:.:.....=***+*%.##%
-::.::::::.*#%##:::::..::::#:::::#%**#%#%%#%%##%%%##*#.=*####%#%*---:**%##%#%#**#*#+#*###%###%#.:###...###.%%.%#%##**#%-.%%%%*%###*..........-##*#+*###%**%####%###%###::::::.:::.:..::::::::::..:::::::.::.....::.:..::::::..:::...::::.:....::.:.::::...:.::.:...:::::.:...::..::::.::.:::.::::.:::::.:::.:.:.:.::.:::::::.::.:::--.=:---:::-=--::::.-:*-:%*=.*-::.......................*%#-..#.:.::**+*##*%*
:::.:.::.:::..::..:::.--::-=:#:=*-.#***#%#*%+##%####%**#*.##*#%%##:.**##%%#.:###*+:****#.##%%##:.###%%..+%=###=%##**##%%%#..:#.##................:*%*%##.*%%#%*%#%##%#**--.-:-.::.::::.::::.:.::::::.:::.:.:.::.:::..:.::...:.:.::.:::.:.:::.:::.::::.:.::.:.:.....:..::.::::.:::::::::::::.:::::::::.:.::::---::::::.::.:--::-.:---:-----=--:--------=-###+-*#.:::#...........................:.:#*#*++#**%###*
*.:.:::.::::::.:::.#::*::::+::#::.-*..**%###%#::##:.#%+..*-#**###-:.%++*+%####::#**..***#%#%%%..###.#+=*:##.##::%###***%%%#%%#%#.......................:=%%##%%#######*+*#::=-:.:::::-:-::::.-::.:::::.:.:::::.:::::.:...::.:::.::::..::::::::::::::::..:..:::.:...::..-::::::::::::::::::::::.::----:::::-::----:-:-:-----:-:-----=------=----==--#.=#**##**:*::=....................#-###.:..:...:*+*****##%#*
#-#:--.::-:-:.:.=::#-:*::::::*-+::=:*#%-:#%#*%###%%#%%%##**%.###:+###%*###%%%%#-#%**#****#%#+:%%####%#%#.%###%####-#%#:-#%#.###:.............................=#####.##%#**%---:-:-.-::------.::::::-:-::.:::::---::::.::..-::.:::::::::.::-::.::::::::::-::::::::::.:::::::::-::::-:-:::::::::-:::::::.-:-:-=-:::-----==--=---=--===:::======--==-#-#*###**::-::=.....................-:::.:+......=******##*##*
.#-%:#.::#-+:::::::-:-::::::::#.:-:*-.##*#*:##*#.#*.:###%%#******%####%#*###%%:#%%%##%:*+*#%%#%%%#+#%..%:#####%##%**###%##*###.................................##..##%##*..#-----:--=:-:-=-:=----:----:::-:::::...--:-:-:::::-:--:.:-.---:::::--::-::::--::--:-:.::-:-:::::-:..::-:-:-----::::::-:-:--:---::-=:==--==--==:-==-:==-=-=====-====::.#*#*###*:::--*...........................:::.:..#*%:#*##***+***
::-:--::#::::-.:#:--::::::::-::.:.....:..::::+*#######%####**##**##*.%%##.#*##-##%###%###+#.*##%%####%%.%%%###..+#...#%%%%###...................................####=:+###*+#===--=-====.=-:---..---------:-----.-:---:::-::..:--::-:-::::-:--::::-:-::-:::::-.---:-----.--:-::-:--:--:--:-.-:----=--------=----===--==-==-=--==-====+==+=#:++#**#**#****:.#*..................................:::-%%##*****####
--::##:+:::.:#.+:+.:#::-::::..:...::.#:%:.#::#.*#-#####%#..###**###*%*:####.#*%#=.*%#%##*#+*#+#%#%###*#%%#%:###%####%##.#%#-.....................................#####%%####*#--=---:=--=-:==--=====--=---:----------:---.:--..=-------:-:-------:-=-----::-::---::-::----:----:-------:----:------=-=-==-==========-=+-==++=========---=*:%%***#...=+#--+:........................=#....**-:.....:.#####%###%%#
..:+#*::-::::::.::.::.*:::::::.:++##:=#.*.*.#:%:+++::##%###%%###*###*%%####%##*#%%#####%##*++*+**#@#%#%*%*%#%#.....%...%*..........................................##.##%###*+*--==-=-=:.=+-=--=========-=====:=+-----=-=-:-=---:-------:-===---==.====----=--------==-=-=---------===-===-=====-=======-==-=======+==+=+=+======++-+*+#=*#**##+*-+**%**#.........................::..:.*=.#**+*####.:####%%%#%#
+:.:+#:::::--::..-#--+:::::-:..#-:**-.:=..*:::.:#-*=#-#:+:#:%%%%%#*##*#%:%:::#*###*##:*%.#%%.**##*#%.%-%*#%#.##...##.:=.............................................%#*#%####.#====+==:=.=+==::=+====-=.---++==:==+-=-=-=====-==+==---=-==--+====--=---=-==----=-=-===-+=+:===-==.===-=--==-===========+====+===++=++=+=+++++=++-+=+=*##**#..:##*#*:#=*=......................*....:*.::.-*******#####.%##%#%##*
::.:::-:::*---*:+::::*:::-:.....::.=..#:::.*::..:*::*=%*+#*-::#%+%##***#####%%#%#*###*##.##*##*.#*###%##+%*##:.#*..#+.................................................#%%*%###**======+==+:...====+===-==+:+==:===-==-=-=::+=-=++========+=+=====+=-===+=++====+==+=---=+=+========+====+=+++==+-++++=+===-====+=+=++=++====++=+++=+++***#*:..:#*:=%*#:....................:.-:.-:*:.####:.#***#*******###***#*#
-==:::-*:=:#::%:*:**:::::-:........:-:-:-#:::.#:.::-.%#:.#=::#%#+:#%%#%##+*##%%%%%#%*+::#%#-.%##-******#%#%%%=##%##.................................................=-.###%##%##*#+:+=+===..:++++-++-====+==-=+===+=+-=====-+++===:====+==-=-+++=+====-=+====+=+=+==..=+====+=++++====+====++=+++++=+=+++++=-+=-+=+=+==++===+=++=###*##***#*#+#:.#*#..........................#+#**+#:%#%##-=****#**##********+#
:..*--#::::=-+*::-::%-::::....:....-+*..#.#.:..:%+*=+:.:=:..:#=.*-#:.:#:##%#####%%%##%%*:.*###%%#%#**.#*##*##%%##:..................................................+:...*##*#%%###-+*+====+==:++=++=+++=+===+-=+====+=+=+=++-=+++=+=+++=++++-+-=+++====+=*-===+====+++--======+=++====++=+=+++=+*+++==++=====+=++*=+=+++++++==+**###...:*%#.%.:=*.................:..........:+%%**##*######%###%##%###%%####%%
::.+:-:+-:*#-=*:--:#*-::.:..+.::+#:..*#=::+#.:##+-...#..::+:.#:.*-=%==#+#:*..*%#**#%#%%.#%*=#%##%#%#%#=.**#**#*#.........................:*#.........................+.#:...#######**+*+++=+++++++==++=+==++=++=+==++*++-==+++++++++-+++++=+++=++++==++=++=#.#.#:*+++-====+==++==++=+=++++++++==+=+=++=++=++++==+++++++++=++==+**#***#+=#-==.+-*..............*.....::.....##..:###+*######%############%#%#-.:-
=:--::--:::=:::+:-:.-:+##-.:.:.-.*#:.=.=*-**:#:.:-#...:*::+.:*:::*#.::.###:*#+%+-..*#%%#%#.##+++%##%%#%%###**#............................:::.........................#::.....###%##**+%=++++=:++-+++++++++++*++==++=+++=+=+++++=++++++++++++++=++=++=+=+-........*++=+====++++==+==+=++==+=++++*+++++++++++++++++=+=+++++===+*..:*#**=*#::=:*...................*.*+**+..::**##=#####*+#######******+##*.:.::%.
#--=-:---:*%%#%%%:::#+:::.+..%#%###--.%=:.::-=:..:::%:*.:=.::#=::.:#-::..::.+###%###%#.%###%.-####**#%#%%##*.................................##.........................%......:##*#####*#=++=+++=+=+++**=++=+=+=*+++++++++++++++++=+++++=+++++++=+++=+-............*+==++=++=++++++++++=++++=++++++++=+=++=+==++=+==+=+=+++++..:#+##.:##:=............:+.#*..*..::+**#*##+:#**#*#*#**##%##%###%##%*#..::::*....
::----::-##%%%%%#=::###%%%#:+%%%#%#**#:.:.:+-::*#:-.-*=::*:#:::*.:...:::*::::.#:*.:#**::::.+#-#*#%#%%*+##...............................=.:::...=:%#............:.........*:*......:####%###.+++#+++++:*++++++++==+++=+++++=+*-+++++=+*+=+++++++++++=+...............=++=++++=+=+++++++=++==+++=++++++++++++++++=+=====++=+++++***#:::::*...........*#.......*....:..*%#%%*#.##*#*#######%%####**...::::*....:..
--=-:-::##%*%%#%%:=#%##%%::#..%######**.-:-%.=%::#*::*.#*#..*::::::.%..:.:==:#..#:....::.::%::::*:....................................#::.::*...*.........................=...:........*###*#+*++*+++++*++++-+*+*++++++++++++++*+++++++++++=+++++++*...................#+++++++++++++++=+++++++=++++++++++++=+==++-+=+=*===#::.::::::*.............::..:....:::....::::-####%%######*####%#**-...:::::*...:....:
::--.:.:#%%#%###.*###...###%:.##%%#%#*##:#:.:.=#+...+%:::::*:::..#.::..+:.%:=*:::*+**..:.:...#.........................................=.::=*-.............................+:*..................#%*+*++==++*++++++++++-+*+++*++**+***+++++++++=++#.......................#=+=+=++++++++++=++++=+++++++=++=++==+#++++++=#-:::::-:::.+................:..:#...%*=..:****.:::.=##*#%#*%###*#:....:-::.:*..:........
.:.:::.:#%%#%%####*#%:::%##%=..*#%##.:%#*#:.=.:-=:##:::##.::.:+**.::#::#:=-#=-==#.:..#####.+.......................................#*=...*.................................:#..#:................-#==*%++++*++++++++*=*++++**#**++=+++++++++**#........:...........:......-*===++*+=+++++++++++++=+++*+*++++**:..#*#:::.::-::::.#......................+#**#.++*#..#*#%%%#%%%#*******:.....::.:::.#............:
.:..:::::*%#%%#%*#*###*:##%.*%*#*%##%%#%*##:#:::#:=.:**.::-:#:+:..:#+:=:#-###%####-..##*##.:.:..............................::*+...-:.:-..:+*.................................+....................#*++++++=*++++=+++++*++*++-:-*#=++*+++*+=++.............................::#+++++**+++*++=++++++++++%####%#**#:::::::::::#-#.........................:..*#****###.#%%#%###%###*:.....::::=*#+**:.............:
.:::::.:::##%#%#:%#*##:.:#%%#%##-*##%+#######.:+:.=#+#.::#%:#*#*#:+*#:#.+**#######%#*#%%....................................::..:..::.....:.:#.................................*...#...:*-#%:#:::....#+++++*+++++++=+++++++*+==*::::%#***#......:.....+*........................#++*=++*+++=++++++#..:###*#.:-::-:::::::-**............#+.....:##...:+::.:......######%##*##*.....::::.=*++****.........::::::::
.::::::::::####%###*##*#-%#%%%%%#*##%#%%####*##+:-+:*:.%=-=:**+#::##=.::+=##*#**%###+:..........................................=#........:*:#...................................:......:::::.::::.....#+**=+++++++*+*+++++++*++++#::::.-+#=...-:.*###*#..#%......###.............:#++++++++++*++#-=*=:-:-:::-:::::::**:.............:.:..##.......#....:..:+*.:..#*.:##%.........::#*+*+***#...........::::..::
.-::.:..::::#%%:#%*#--%-#%.:-%*-#%#-*%%#%%%###***#.::*.:..%-..=:###...:.::.:.#.##...................................::......=#+..........:.:*#.+*:.....*+.........................*.:*....+.:.=...:::....#+++=+=*+=++++*+++*++++++*#-*:::::::-+=#:#####:###%....=.*#*#......:.........+%+##*#*#=:::::::::::::.::-#=+...................#=.+.%.:**:**:#..*+:.#****.:#:..:....:..:..*#*=*****.......::::.:......::
...-:::..::::=%#%%####:-%%%%%%%%#-###*##%%%..%%#**#%.::.#-..:::.#+=#%::...*+.:..................................##*.*::...:::.:.*..:.:+=..:****:..#...*::*-.....-:+#................#.*..:::*.....::.:.....+*+++++++*=++++++++#...####.:#::::::::::*-+######+..:##.####%.##.%+:.+####+++**+#%*::::::::-:.:::-#+#..........::::+.::.#..:::.:.:.:#+#*+++:.*****.*#.....::...:.....::*#***+#:......:.-.......:...::
.:::.::::::::..:*%*#*#:*:##%#%%.:##%##*.:%*##%%###%#:.......:..:...####.....::.................................%:..:=:.:....::::..=...:*..+.:....:.+.................*...............#......:.*...:.:.........#+**#*###%#*#:*.:#*%#%#*%##%#%::::::*+++++*+++*+++++*++#+=#++++#+=###-%%%*%#*++**:::-::.::+#=#:.........::...:.::.......-***:..**:#******#=*+...........::.:..*#**#+*=**#.....:::.:.:.::....::..::
.:..:...:.:.:.::-::=*#*#%%#.##=##%#%+.##%#***##:..:...:::..........:..........:................................#-:.:::...........#.*:..:*.*:............*.:*.....*#*#*.*...*:.........*.......:#................####%###%#%%####%%#*%###%#####%%::::-*-:--:+:*#*==**%##*+#+#+#+*+#%%+=###++****#*+-**+*#............:-#=.+-:**#.:.*****#*#**+**++***#+......:::...:...:.*+****#****#:.....::::.:.:.:::.::...:.::
:.:.:..::.:.....::.:.:::.=*####%###%*+:..:.......:......:.:.:............:.::::::................................*::.:......#.=#:.*..::*.#:..:.....::+.::.:.:+..::.:..:.....:.:..........#*#.::.:-:..................:*#%####%%%#######%###%%##%###=::.#+*#-=-=*-=*#%%%###***++##**+#+*#*#++**#*+#*...................::=.:****#++.***********+*......:...:..:..........:::.=**+-#....::::-:..::..::.::.:.....:+
..::::::..:...:::::...:....:.............................:..:......:......:-::--:::::...:....:.:.............*::.#.::.......:::.-#.#:::-::.................:..+.:.::#%:..#=:...:........#:::#.*:::-........:-.................-*######%######%%###%##%#:.#*+*#+**+*++#+*#*%+#+#:++**::-***+#*................::**:........:.**********#**#:....:.....::.....:.::......:.:.:-%#**....::...::.::.:.:::..::.::*****
:.:-..:...:::::::...:.:..................:............::.:................%#-::::::::::::....................*-.....:..#:#-.#::.:#.:.:.::...........*#*..=....:#+.:#***#:..:.=#........:.*.:...+***=-....:=***#...........:.:.....#-+#*%%%%#%%%####%####%##*#++%=.*#+.::-.::-##+*+###:................:....:..:::.::..::..*%.-#*****+.....:..::.:.:.....:::..:+##**#**++***+#:.....:.:...:::::.:.:::.:.:***###**
:::.:.::...::..::::....:::........:....:...........:...........:........::::---::::::::::::.........*.:==......:#..+***.+::.*:.::+::::....#::.......::..*..:..:...:#-*%*#*.....:-.........#.....*#**+:.....*+#**#.......::.:::........#:.......+%***#%%####%*###:..+=+##=-:.............................:-***#..###*::..:#*+#=........::.::::.:..:.......*****############*......::::::...:.:::.-:::**********##
..:::...:..:::.::..::..:........:::....:.........:::::-:............::....:-.#::-.:-:--:-:::..::..-:*#:-:#.#+:#.=..+::::.::.::::..:......+::#=:::*:.:....#:...+.::.#-*%=.**:.*:..:.........-+**+.*#*%**..:::*#**#*#.*%...:*##.::.:::......=#=.........:.................................#:......#::#*###..#****#*=**+:..........:::...::::.......::.-+-#*+*#######**+*###:...::::::::.:::::::::-::.*#****#******
:::.:::::...::.:::..::::::...:..:...-..........::.::::-::...:..:..:..........:...#--::-:.::::.....:::::::..:..:*#.-...*..:.::.::............:..:.:..:....:..***#.:..:-:-##*%.*.:::.#.........%***.%%%%%#=...::+#.#%+-.:....**#*#.:.:..:...........*##=....::....:...:::...:....:.::-...::.*=##...:..*###-.....................:-:..:..::.:::.::::::.:..:****%#%#####%%-:.:::.:...:..::.::.:::-::::.:::*******%#%
...-:.:.:.:.::::--::-:--::...............:.....:::.-::::::.................:.::-+..:::::.:::::.....::::.*.#:.::.::.:*.*..:.:...............+=:...::.*:.:...****##*::#:--#####.*.:.:::.:%.......+++:######*:.:.:.*=.###.:-:.:*####*:.:.:.:::.........:..........:-*####*=--:--:-=+##*+::.....................................:.:..::.:.:.:.:***+*******##*=*+:.::.:.=.....:::.::::.::::.:+*#*********##*#=-::%##%
:...:...:::::::--:::-::-:::-:...:....:...........-#:::::::..:.....:....:...-*::::-#:::.::::::::......::.::.::.....:...........................:..:::..::...#*#==*##:#*#:-:-**%#.:.:::-.+*%........##+#*####-..:*****.##:.+:.:#*#####...::..:.....................................................................:..:.:.:.......*#%##*%#%#%########%%#%%###%%#%###.....::..::..:.::::.::**+**********#%#%%**#***
::::..:..:::--:-:-:--:-::::::::::..:::........::....::::::.:............:.:#--:::::::::::*#*:-::.........:.......:..#+...........................+.:.:......*-###....*.#-:-+**.:.**#..-#+*:........#*#####%##..**+##*#.##..:..##%###*##:::....:.:.....:..::....:........................:......:........::.........::.:..............+*###%####%*#########%###=*.......:::.::.++#****#*===-:#****+#%%#%#%%##%###
.:..:.:.:.:.-------##---::-::::-:::.:.........#=##.#::::::........:...........=+.::.-:.......:::......................::::##..................#++.=:.:......**#####::***#-:--*#-.=#*+%.-#**#........:##%####%*:-**#%####%*#:::.#%#%##*##*:::::.:.:......:...:.....:....................:.:.:::.:.......::::....::::..:...::.::.:.::::.:................::::::#.......:-::.:+###***#*****##*#%#***+=:-*%%####%-=#
.:::::::.::.:::::::*-=-----=::.*:::**..++*::.=:::.:.:::::::...:......:*:-::##.:-::.:........:#::......................::..:..#..=##.........:::.....:.......##+..###.-**..=-::-##:...**:.#*+#..........:######%=-+#%##%#*=##**:..###%##**+*:::.::.:..:.......:......:.......:.::.:.:.....:..:::.:.....:.:....:::....:::....:.++****#******++*#*##*#*##*%*+=#.............:.:.*+*#%###%#%#%%#%##%##%%%%###*=+-:=#
::....:..:.::::::::#+=##-::..*::-:::#.#..::*..*::.::.::::...*####...::-:.::.#.#......*.::#...::::.......:............*.::...:=.....#....#*..+:.:.:.:.........###%####:*=.+=#:::-:##.##.**.#*##:.:...:.....#*###%+#+#########%#*#:.+#%####%**+::..:....:.....:...:..:.:.::.....::::.:::::....#**#:::.:.:..::......:******++%#-:..*+*+***+*****###+**#####%=..:...............:::=#######%%#%####*##+::.:.........
:::::::::::.::.:.:::::..::..+---:::##::::.-:::.::.::..:::..#####%%:.%::-:%..=+.......::.::#.=.:........:..............**::.:.:-=:...+..#*:*...#::::..........##:-%#.*#+:#*##-.---:-##+#%***%*+%..#:.........+######%#*#%####*###*.:.**##%###*#*:::::...::.....:.....:.:..:.:.....::::::::::....*****+*#=-::::-::....:**+*+**#**+#*#%=####*##%#%#####%##.....................................:......:..::-:+**-++
:.::.::..:::::...:::....::.:...+#+**:::::::#.::::::::::.:..#####.::#.:::-:-.:.:...:=.*::.#+*::::......:-*##......::.....:.:::::..:..+..#.:.:*.#....+.*........%%###%#%:=.:###:*::--:-*#+#****=+*.:**-...........%###*+#%*###%#*#%*#::.#%%%##%##%+-:..::.:........:::.:::.::.:.--..:.:::..::.:::....#*#+**=*+*+*++*=::.......-=###%####%#%%###**###*==..........:::::.:::....:..:::-.::-..:-:-*#+*****#+******###
:::.....::-:.:.::...:-::..::.:....:......:.:.::.:::::........+#%#**..:::.#::*....#:.--::::::::.:.::::...::-.....::::.:..#*-:.:-.:...:..#..:.+.#....#...+.......%##:###**#*###%#=.-::---*:**#*##+.*.=**.........::...#*###%%%##%##%#*#::.#####%####*=::..::..::.....:+##+#*=+:.::::......::::::::::::..-*#*#%#%%%#*+***#+*+##%***==:....*#*########+.......:.::.::::::::.:::.:::.::::.:*********%%%##%##%##%#%#%#
:::.:::::::::::.:.:.:..:+###-...#:..:::+%#%...%-::.::.:%*#:..###*###+:::*.#:-#:......#::-::......:::::......:......::.*::..#:-:*:..*:#.::..-.%.......=#.........%#####%+%*%%###:##-:----=-%::=*%***..*+*.#::............#%%%####%##%##*=.:#*%##%#####*#..:::::.::..:..*#%%####*.:..:::.....:.%#*#+:::.:::..-####%*##%%###*####%****#*++*####***.+.......:::::::.:..::...:::::::.=**#****#%####%#%#%%%#%%####%#%#
:::-:.::::::.:::::*-#::-:-:::*.::.##%#*#.#%#.::.:::-:.#%##=..##%*#*...::=:::-#..::....:......:...-=::.::+***.....:..:.:::..*..:-...:.....*#*...:#:*#..+:::......######%%#:**#%##%#%*--:-:-#*%:*.-:.*--#*#*+#**#...-=:.....###%%##%*#####+#-.:#%######%##%+::.::::::.....##%##%####%#-..::.:..-#####%####=::-:::..-####%##%#%######%##*#####*##....:...:::.::::.:::.::::.::-###*****%%########%#%%%##%######%#%#%
.:::::::...::::-::---++-.::::*:.::+###=..:##:%###%%:.:#%##:%###***%##-=:::::*:.*:::#.#....*::-*#..%:::::::.:-#.:...::.:..*:#...-..#.*...#......#::::.#.::::......##-#######*###%#####------%::+###..::..*#*+*+***#:.#+**:....%###%%#%#####%**#:%######%#####*-:.::-::::...:#####%%#######::::....+#%####%########=.:::.....-+*#######%%#%##.........:::.:..:.::-::.::.::=***###%%%#%%######%####%##%#%#*-..::.=+
::::-.::::::::::#**+*+*#*#::::::::-:.##*:.%%#%%#%##:::###%%##%#***#-::::..::-:.:::::#.....-:::::::*.:::::..:*..:...*.....=-:.#:**:.::.#.-=#**:..:.:.::#::.........=#%####%*:##%###*%%%#::--:.:*%#=%-#:#%..:::.*=***%.=*#***:::::+*####*#%#####%+**##%###%#%%%%##**.:..:::....**#%+%####%#%###=:::....+*#%#######-.:.+#*.-::#-#-#.#::::#%-........::::.::.:.::::***##*****=-:.---=+**#::::--+#**=....:......:...:
-::--:::::::..#%%#***%%##%%:.:%%%#%:.-*..*%##%#***#:.##%#%##***+#*+.**:.:.#-:::::-...:##..:.::-**:#.:.::=#:..:::%#::+*#.:==:.::.:.....-+.:=:..=.=..%**...:......:...###########%%#%###**#--*##*::#*+#:.:..**:*.:::.:*##***#*#*--:.:..-####*#%##%####=%%###*##%###%%##=:::::::...*#%#%##%%%%%%###%#*:::-:.::*#**.-##%**-::#-*+:...%%*%*...:......:::-.-:.::#***#*%####%#%#####%%*%%%%##%#.:..::..:+-*+*******+#*#
:::-:..:::.=*#.#%#**=###%%#=.#%#+##%::%%%#**#%##%##%#**##******##+....:###:.#:::::..-:::*.:-::::=-...::.::::......#:.:*.::.:.....*###:...#***#.*..:.:.:*.::..........=%%%#%%#.*#%##%%#*##%#---#-%:::.::#=##=.:::*#-*#.%.::.:*#*+*::..:::...*###%#%#%#%#*-##*#%#########%#-::::::...-#*###%#%###*###%%##*#.###*#**##******#%#*-::*#+................:..::-.-:::**+*-*####*#%#%####-:.........-*****#*****##*##*#*
:::.::.::::#%%##*#**+%##**::#::#%%%##%#%*##%%::%#=%%#%#*#*****#+....::::-:::#:...::.#::-*#+:::..::..........::....#.::+-#:..:.:#######..#*+*#*#%......:-=*:::..:....:.:#%%###*##########**%##:----*--=:.#:::.:*%==:...-+#=#+:.:..-:=*#*:::.::....=#%%%%####*#%##%%#%%##*##%#%*:::-:....=#%###**##*##%#*###*#%%%%%*#**%%##***#*%=.:........:...:...:..:.....................:............-******#**#***#*****#*#%
::::::::.*##%%##%#**##*#.*--:%%.:%%%#%*###.=###%%%%%#%::=*-=-::.....-##-:::.:+%%#*.:.:-::::....::::**....:+::.:#..=.:::::.::...##%####.*+**#**+.+#*%..=::.:.-+..#:.....-#%#%%#***##%####%***###--=-=*----=++-*.-:.::-**%##.*-:.%#*+#*=+::--:=**#-:::::::...:=*###%@%:%*%#######%#*%%-:-#*#*#*#%.:##**##*#=%**##.::*#*+***###..............:...........:::-.+=+=+=++-*=*=++=**+#++#*##*********##%%%##%%##%#%%#*%
:::.::::%##%###%%##**#-*+##%%##%-#%#-**#%%%%%-=%%-+##*:..:..:-:::=#...:.:...+##%#%+#::.....::-::::.:.*:..::..::::#-...:...:::..##%%%#%*#:#=....##***#*=::..::::#::::.....##%%%#%*#*###%%%%%**##*#+----*=-----#:+-*#*:#*:=:.:###+-*#*::--:-:-::--:------:--+*#***-.=:#####*#%%#%##%*#=.+-::####:.:.#**#+::::#*##::-:####*#..........:......::-+**##**#*#*******#*#******###*###*****##**###*%#######%##%%##%##%#%
-:-::::%##%#%%#*:#+**##-:#%#%%#%####*%#:.%#%%%#*.*%%%##+.....::#%#%#+:%#%#:.:###%%*##%%##:--::*::::::.*.:#:::+#:##:::::::.:::...*#%##**######%..#*#*#*......::::#:::......#%%######*###*####****###%--:=+-----==-:=----::+#**#*.*#.*.:*=:-:-----:=::--=-----:-:-:-:::--::---:----:::-+#-:.#####*:.#-*##+:..###*%:##+#...............:.:::::**#**#*+#*#****#**#**##+**##*#*#*%####%%%#%##***+##***###*#*#***####%
:::-:::%%%%#***.%%%#**+...:::-%#%%**#%%%#%##*%##**%%%#%#..:..:#%%#%%#=%####..%%*:#-=%##%#..:::.::::.::*:#::.:..:..:::.:::.....:...#%######%###*.%##**......%#..::.:::.:....:-####%%%*####%#%*##***%%%#-==-=***=-------:----------++--*#==--::------:-:---:-:::---:--::---:::-:----:-+**#*=:*%-#***###+=###-::-#%#.........:...::::::::-:.*+********+#*#************####*#*#**###%#%%#####%%#%%#%%%%%##%%%%*%%%##
:::-::###%#-###::%%##**--:=%#-:.#***#%#%%%%##.:*%#:%%%##.:--::.###%#%##-*%#.%%#%#%%*#####.:%#*:.:..:*:-*::::.::::-:.::..............###%%%##%##*:####=+#..:*#*#:::::.:.......::*%%#%#%%***##%%%###***###%==---+--::--:=**#+----:--::---:::--:--::-----:--------:-----:--::----:--------#*-:--=-#-*:--+**#+#*#...........:::::::::::-::.:::+**#%%%##%%%####%#%%%%#%*#%%#%%%%%**##*#*#********###***#*#*###*##*%#%
--::::%%%#*##--*#%###+##-:%%#%%:#+++%*%%%#%*.#*%#%#%#%*:.#*#*%=-%%%%#*%%####%##%**+%%%:.*%%**###:....:::::::...:........:...:.............###%###%##*+..+#..%##*#.:::::...........*######%##*###%%##*#+*###=-----*-::..:..:::::.:::=##++=::----------=-----:--:----::--::::-:--::-:--:---------:::-----#%...:........:.:::.::.:-::.::.:**:::=######%%%%#%%%##%%%%%%%#%%%%%##%%%#%####-::--=*%###%##*%#%#%%#%%%#%
::.::#%%#+####%*%*%##+#::##%##-#**+#%:##*%#***#%*%%%%%%%%%#=*%#:#%#*%%#%%-##%##=*%%:##%%%##%%%##:..:..............::.........................%#%%%####.#**:.%*#*#*-.................*%%##%##****%##*###**#*###=--:-=+:::::.:.::...-:::::::.:::::::::..:++*####***=--------#--=:--==----=-==-=--#--+%:.............:::.:-::-=*##**#%%%%##**#*-:::.:-#%%%##%%%##%#%####%####***.:....................:..:.-=#%#%#%
.::::#%%#*########%##%##%#####%#*=**%#%#%*#.**%#:**%%%%###+%%*.%#%-*%##-%##%######%%##%%****###*...:.::.:.:.....%%#%#::..........*+.##:.:.##:....%%%##=:*#*-.##%%%##::...............:.##%%%%#%**#%#%###%#+*###%#*----+.:::::::::.:::::::.:.::::::::..:::-::.::-:.:::::.::::.:.::......:.::::+#*.............:-::::+**#***#*#*#%%#######%%%#%%#****#####=:.::::.##.:.................:...:.............:..:.:..:
.::::#%%#*%%###%++####::-####-=#*.:*%%#%##*+*%%#%%%%%#%%#*+%..-%#*=%##%#%#%%###*%%#%%%**##%##%+.::::....:==:*...:#####%+..........:###%##.#:-###..%%#%%:%***.%%%%%#**.:.::%:..:::....:.-.*%%%%%##+**#######%#######*#----=-:::::.::::::::::::.:::::..::.:::::::::::::::.:::::.:.:....::-#*........:.....:+-##**#*###%%%%%##*##%%#%%#%%%%%#%%#%#####%#%%%***#*....:.......:.................:.........:.:..:.....
.:-:::%%%+%##*%*#+*%#%-##%###%##+*+*%%%#*##**%%%#%%%%%%%#-###:%%#-##:#%%%#:%**#%%%%:%**%%##%%#*##::....::::::-*.:#%%#####...*.+....%##%%#:..::.:...#%#%%:.*##%#%##%%#*::.::.::.:.::...:....:#%+%#%%#*#+#%##%%%%%####%%*##+--:#::::::::::::::.:::::..::::...::::-::::..::.-*%#%###%*=.:...............:+*#%%%#%##*#%%%%%%%%%#%#%%%%#%%##%%%%#%%######%##+..:...........:......:::.:::.::::::::::::.::::::...:..:.
.::::=###+#%#####=.*##*:%#*####%##:+%##%%%***%%%%%%%%%%%**%%%%#%=:%%%#*%#%#%*:*#%%%%#*%%#%#%%#%-:::.:......-.#--**##%%%##*..:.*##=..#%###:..-.=#%%%.:%%%#%:#%%%%%%##%#.:%-...:.#:.............:*%%%%%%#**##%%#%%%%####%%%%*#*#####%#%%%**######%%*:::::::-#*##******#**%%#%%*=....:....................=%%%#%#%%##%%%#**#%###*###%%#%%####%%%%#%*+...:..........:-::::-:.::::::....::::::.:-::::::::--.::-.:::::
.:-:-%%%%**#####%*+*##*#*%###%##%++**#%#%%***#%##%.%%#%##*+%%%###*%##%###:##*+*%=%%***##%%%#%#*:::..:..%:-*::::::*##.*%%%%..:-%%%%%..%*+.::::.#*%%#%+%%%%%%:%%##%%%%%#-=#+*+::.#..%#..::::..:..:....%##%%#%%*###**#%%%%##*###%%#%%%####%%%%%#%%%%%%######%#####%%%%%##:.....................................=###*###%#%#%%#%#%##%%%#%#+:..:.:........:.:::::-::::::::::::.::::::.::-::::.::::-::::::::-:::::::::
:::.-%%%#++##%*#%*#+%##*#%####%#%#+#=*#%#*#=++#######%#%*:=%#%%#**+#####%%%%***%%#%%*%%#%###%%*....::::...=-#%%::::::-%:-%:+::%%%#%#*:...%:-::...#:%%*%+..#%%:%%%%%#%%#***#*+.#:.::::..:#:.......:.......-+#%%%#%%#*#*#%%%%%%%###*##*#%%%%#%#%%##%%#%#%#%%%*##-.......................::..::-::........................:..::.........:.:..:....:.:-::-::::::..::-:.:::::-:::.::::::::::::::::::::::::--::::::-::
..:.##%%#**+%%:#%%*+%##%####*%#%%###**%%%%%+:*#%%%##%#%##*:#%%%##%+%#::#%%##%*-*%#**=#%%@:::::....::*::-...%%#%#%-.::::.:::..:#***:#::+#.::::%:-#.-::......=%%%%#*##%#%#+*%%**:::::::::.#::::...............:...::.+**##%#%%%#%#%%%%#%##%%*##*#*%##*+::.:.................::::-:::-:::::::-::::::::::.::.:.::...............:.:...:..:::.::::::::..:.:::-::::::::::::::::.-:::.::::-::..-::::::::::::-:-.-::::--
.:+#####=+*###%###%#**##::%#+#*%%%#%***%%%#@*:+#%%#%#%%%%#+##%%%#%+#%%%%:=%%%:##%%###+#%###%%*%#%%::*##%#=.##**+%#..-#:::#...-......:=.:..-::::::::-.::....:.%##*#%%%%%%#%%%#++-:-##%=::-#:::..:.........::....:.............:.-...:.:::.....:..:.::::.::::.-..:::..:....::.:::::::::::::::-:::..:::::::::::::.:::-::::-:::::::.::::::::::::.:::--:::.::::-:::.::::::::::-::::.::::-:::.:::.::-::::-:::::.::=---
.######=+****#**##+###%#%####%##%%##**#+%##%***#%%%%%%%%%#%#**%#%%***%%#%%%%#%#*#%%%*++##%#%#%%##%#-#%%###:##%+#%#*:-::.::.::.:......:%#...#.:.:::.-.:=##...:.:.=#####%%%#%%%%+#***%%%%#:-.:-::*....:=**:..:..:::.::-:..:.:...::.:.:...:....::::::-::::..::::::::::::::::::::::-::::::::::::-:::::::::::::::::::-:::::::::::-:::::::::::::.::::::::::.:::::::::::::::::.::::::::..:=-::::--:--::::::.:---::::-..