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  ##    ## 
 ""    ""  """"""""  """"""""  """"""""  """"""""  ""    """
                                                            
                                                            
---:::-::::-::::.::::::.::::::-:::::::::::::::::::::::::.:::::::::::-::::..:..:::.::::::::.::::::::::.::..:...:::::.::::::::.....:..:...:.:.:::::.:...::::.::...::::::.::::.:::::::....::.:.::..:.::......:.............:..:.:...:.::..:.::.::....:...:..:..:::.:.................:...:....:..:...:..:::.:-....:.:.....:......:.:::......:.::::....::........:.::....:.:........:.:....:.....:........:.:..:....
-::::-:-:::-:-::::::::::::::::--::::.-:::::.:::::::.:::..:.:.::::::-.::::::::::::::::::-:::.:.::::..::...:.....::::.::.:.......::...:..:.:::....:...:.:::.:..:...:..:.::::::::.:..:.....:.::...::...::.......:.:.....:........:..:.:.::.:.:......:......::........::..................:...........:..:.:...................::.:...::.:..:.::.::::..:.:.:....:.........:.......:...:...:..:........:::.::::.:::::
-::---:-::::::::::::::-::::::::::::::::::::::.:.:::::::.:.:::::::::..::::.::::::::::::::::::..:::::...::.....:.::.....:.......:.::....:....:.:.....:......:.:......::.::.:::..:..........::......::.:...............................:....:.....:............:............::.::....::.....:..::.........:....::..:.....................:....:....::....:......:....:..:..:.:..........::...:........:..::.:...:::
---:-::--::::::-::::::::::::::::::.:::.:::.::...::.::::..:::.:::::::::::::::::::::::::::.:.::.:::::...::.::..::...:.::..::......:.......:..........::.::..:.:::..::.............:..:......:..:::...:..:.:::.:..:.:......:.......:..:.:......:.....:...............:.......::..:....:.:..:........:..:..:................:.........................::..:....:.....:.:........:........:.....:.........:.....:::::
-:-:-:-:::::::::::::::::::::::::::::::::::....:.::.::...::..:::::::::::.:..:::.::.:::.:::.::::::::.::.::.:.:::........::..:....::..:.....:.......................:............................:....:...:.:::.......::...................::..........................:...:..::..................................:......................................:....:.:.:...::.......:...:.::::..:.::.....:...:....:::::.
:-:::::::::-::::.:::::::::-::::::-::.:.::.:..::::::.:::.:..:::::::::::...-::::.::::..:::::::.::..:.:.::..:......:....::....::.......:......:::...........::...:......:.:.........................:.::::..:.............................:....:.....:....:::.................:..........................:.:::.:.:................::................:.........:.....:....:..::..:......::....:.:........::.....::..
-::::::::::::-::::::.:::::::::::::::::..:...:.:.:::::..:.:.:::::.:..::::.::::::.:..:.:::...:..:.:.....:........::....:.::...:.:::.:...:::..............:........:.................::.:.....::.:..:...:..............:.............:..........................................:.:...:.......:.......:..:......................................:............:........:...........:............::.......:.....:::::
:-:-:::::-:::::::::::::::::::::::..:.:.:...::::.:..:::::..::.:.:...:.:::::::.:::.::..:.:......:.:........:......:....:..:..........:.:.....:.....:......:..:..........................:......:..:.....:.:............:...:......:......:...................:.............:........:............:...:...............::...............................:...:.:..:......:.:.::....:....:.:..:...:............:.:::::
::-:-:-:.:::::::::::::::.:::.:.:....::.::.:..::...:..:::......:....:.::.::::...:.:.:.:..::.....:....:.::.::..:::..................:.....:::..::...:.....::::...........................:....:.:.:.............................::............................................:.:...............:.....:.:...::.........:....................:.............:.:........:....::.....:.:.:.....::.........:..:::::.::.
:--::-:::::::::-:::::::::::..:::.::::.::.:....:..::::..:.:.:::.::.::.:.:.:::.:::::.::.:..::::...:..:...:.:..:....:.::.:.:..:......:...::.......:..:.....::..::..:.:.......................:.:.....:.:.:....:...:.....................:..................:.................:...................:.......::...:..................................=......:..................:.::.:........:...:.......:::..:.:::::::
:-::-:::::::::::::::.:*#***#####*##=:......:..::...::.::::.:::::::.:::.::..::::::...:.:::::.::..::.:...............:....:..............:....:....::..:.......................:....:..:....:..:.....:..:.............................................................:........::.........................:.....................................:...............:........::.::..:::.:.::..........:...:..:::::::::
:-:::::::::::::::::::::::*+#%##:.-*=::::..:.:.:..:::.::::::.:.:::::.:.:::.::::::::::::.::::..:..:.:............:.:..:.:.:.....:..:::...................:....:.............................:..:.....:..:............:....:........:....................................................................:.....:..:....:..........................:..::...:.............:.:.:.:..:.....:...:....:.........:.:::::..
-:-:::::::::::::::::::.:...##.:...+::::..:.:.::::..::.:.:.::.::..:::.:...:::::::::..::.::..:....:..:.:..........:::..:..........::...........::..........:.:.......:...:.....:.:.:.:....:..::.::....::..::::...:....::..:.....:......................::..::....:...:....:................................::.....................................:.:...::....:........::..:.::::.:::.:...:.::.......:...::.:::::.
-:::--::::.::::::::::::...+:-:-...+-::::.::.:........::::.::::.:.:.:::::::::::::.::..::..:::.:.::........:.:...:::...:..:........:....::..:##................+:.:.........:..:.::.............:.:.:::...:...........:..:.............:..................:...:...:...........:.........................:...............................:.:.......:....:.......:......:...:..:..:...:.........:....:...:...:.:.:::
--:::-:::::::.::::::.::.::.:......--::..:.....:::..::::.:.:.:::::::::::::::::.::::::.:..:.:...:.......:...:...:....:..:..:.-####++:++=.:..:........................-*...:.:.:........................:.:::.:...........:......................................:..................:..........................:................:......:.:.......:......::..........:.:.......:::......::.......:.....:.......:::..
:-:--::-::..:::::::::.:.:.*##*:..::+:::::::.....:::.:.:::.::::.:::..:.:::::...-.:::..::::.:.:..:::........:.........:.*#......................................................:..............:................:.................:................:......::...............:..................................:..........:...........:...................::............:....:::......:...:.:..:.....::......:.::::
::-:::::::::::::-:::::...:*%:#:.:.++.::..:::....::::.:.::::.:..:.:::::..:.:::....:::..:::.:..:..:...:.:.....::...-##=....................................##*-*#.....:.#=-#+..........:.:.........:.......:.:............:.........:.........................:..:........................................:......:.:...............:..........:..:............:...:...........:..::..:......:...:.......::....::::
-:---:.-::::::::::::.:.::#+##.+...#+..:.:.::......::...::.:.:::::::.:.::.::..:..........:....:..:.:.....::..=#*...........................................:.*+.:*.+:.*.........::......:................:::...........................:....................::.:..:................................:.............................:...:....................:..............:...:..::.:..:............:.....:.:.::.:
:-::----:::::::-::::.::....::.....**...::::.::..::::::...:::::.:.::::::::.....:.::.....::.:....:........:*.........................................=::+..:.#:::.##::*.:............##........:.........:..................:.:.........................:....:........................:.....................:................:.........::.........:......:.:........:.:..:....:..:...:...::....:........:..:....:.
--::-:::::::::::::.::..:.:.#*+:...*+.::.:.:.::.:..:....::.:.:::.:..:..::...::...:.......:.............*.......................:.....................##+:#...:....:.:..................*...:..:.:.......:........................:..........................................:......................................................::..:....:..:..:................:............:.::..:.:.:...:.:...:...:.:.::..:
-::::::::::.:::::::::::.::::*:....--:::.:.::.:....::.::::..:::::::.:::.:...................:....:...#.......-......................................:......#..*........:...#...-++:.....-..:....:............:.:.........................................................................................................................:...........................................::.....:..:.......:......:::
:--:::::::::::::::::::::::-:%:....:::::.:..::...:.....:.:...:.::::.::...:.....:..................#=..................................................#..:.:*:.........:..::%.+:...........+........:..:.......:......................................................................................:..........:........................:.......:........:.......:........::....::.::.::::..::....:...:::.:::::
:-::::::::::::::::::::..:.---:.:....::::.:..::......:::::::.:....::...:........::.....:.......#-................................................=#+..#...::....:.:........*:#..::..:.::.....::..+.............:....:..........:...............................................................:..................................:.....:..:...........::...........:....:.........:.:..:..:...:.......:.....::::
:-::::::::::::::-::-:..:::.=:=:.....:.::.:::.:::.:.::.::...:.:::.:.....:...:..:..........=#:......................................................:#.#.....#:*..............:...*..*:.............*...............:...........:.........................................................................................................:.::.:.....:.:..:....:...:.::.......:.::......::.::::.:::.:..:..:.::.:::
::::-::-::::-:-:::::::.....=*%:....::::::....::..:..:...::::::.:....:..:...........:::#..............................................%..*::.:=.#.::=..:-.:.#-##:..........#..:.:.*..........:.*+....*..........:.....:.....:....................................................................................................................::..:::.::..:::....::::.:........::..::.:...:::..:.:::::..::::::
--::--:::#:::*#-::::::::.:..#....::.:::::::::.:...............::.:....:....:..:....=#.:..........................................#%##.*.%:.:*.=.......::........#.:...........#..:.:#:.#..*..:.:#.:*.......:......:::..:.......:......................................................................................................:....:.:.:.:.:.:::::.::..:...:.:::...::.::.:....::.....::...:..:::.::.::.:
--:::::::-#::#:::::::=:..::*+=.:..::::::-..::.:...:....:.:..:.......:............*#.......................:.:.:.................:::..=....-.:.:..*#......::...::#.#%.=......#.-:...-..%:..:-....*..::.:...:.......::......:..:..........................................................................................................:..:..:::....:..:..:..:...::::.:.:....:.:......:::..:::..::.:.:.:::.::::
:-::-::-:::::::::::::-:..::.::::....:::::::::....:.....::.....:.:::...........:+#.:..................:......:.:.:....:.............-*+.....-:.-.#:::#=...:..###+.#.:..:..+...#......#:.***..#.#+..*.......:.......::...:..:....::.:....................................................:.:................:.........................:..:....:.:..:...:....::::..:..:::..:::..:.:.:.:::::.:.:.::::...:.::::::::::
:-::-::::::=:##-:-:::-:::::..*..*...-:.:::::::..:..:.:.:.......::.:.......:..+#:...............................-:..-.-*..::.......+.:*%.:#..#..:.:%#*.:#.+..::..:.*..=%.*#:...%.....::.....=.=.%*................::.......:.::...................................................................................................::....:.:...:::::::.::::..::.:.::::.:::...::.:..:::.:::.::.:.....:.::::::::::::
:--::--:-::#*#::-:-::::..::..*-+*#..::.:::::...:....::..:...:........:..:..##.............:..............*=*-#-.#..:+.#::...#::.....#::%#%-.:....%#%%#%%.....::#+.*:.:#+..:.:..#.....:#:.-..........#....:.:..........:..:..............................:...............................................:.........:............:........:..::::...:...::::::.::::....:::...::::::...:.:::...:.::....::..:::.::::
---:::-:---:-:::-:-:::.:.::::+.#*...:::::::::.::.:....:.::::....::.......*...:..........................*::...--.:..........*:.*::#..*.-...#####..##%##.%......###.:..:....*#:.#.....#:..:*..-#::......=...:.::.....:.::::::.:................................................................................:::..::..:.......:.:........:.:..::..:.....::....:..:.:.:.:...::.........:.:..::..:::..:::::::::::
-:::-:::---=-#::-::-:-..::.....#..:..:::::::.:.-..:.::........:..:.....#..................................*#.-::::.#%%%####%...::.:.#.*:-####%###.#*#*###*-.#..#...*..:.....:.-.-#*...#.::#.+.-#..-::..*.=:..:..:..:.:.:.................................................................:..................:.:......:.......:....:..::::..::..:::..:.::...::.:::..::::::::.........:..:::..::::::::::::::.:::-:
--::::::::#=-::-:-::-=......:.###:.:.::::::::::::.::-:::.:.:.:..:::.:#.:.:............................#.:.#.#:..%:*#%###%%#%%.*%%%...*...###%*++=##%%%%%%@.*::...=.......:.:.*..:..:..*:.+:..::**..*.::-.:::.:::..:::.....:.........:...:..:.....:............................................:......:....::.::...:.:.........:...::.......::.:..:.:.::::::..::::..:..::::.:.::......::....:..::::::::.:::::::::
---::::::--:*:--:-:.:-:...:...*:-=.-.::::::::::::::::::..:.:::::::.#.:...:......................#::#:#...::#...:..=%:.%%##%##.%%#*#-..+::...%%##%*#%#%%%#%###..:..#............##-..*...:-.::::-:.--.:::.::-::::::::::.........................................................:.............................:..........:....:.......:::::...::..:.::.:::::::..:.::::.::.:::.:.:...::.::.:.:::::..::.::.::::::::
:::-:::-:-*:**:-:-:::-..::.+.:.-.+.+-:::::::::::::::::::::::::::**........:....................#::::::::*::-:......::*:..#%*##*##%%%..##*#::#%#%####%#%%%%%%#....:...:*#=...#:#..:.:#::...::::....::::..:::...:::......................:....................:................................:.........:..:..:::.:...::..:.::....:...:::..:.:...:.......:.::.::.:....::..:::.:..:...:::::::.:.::.:..::::::::::::
::------:::-#-::::::--:...##:.*.:#.==--:::::::::::::-::::::::#+:..................................#....#......:*...#%#%%#.##%#%###%%.+%*####..%#%#%%%%%%+.#+:.##....+.....#.*:.................:....%::+.::..**=#+:...........:.........:.......................................................:..........:..........::........:.:..:::.:.::.....:.:..::.....::.::.::::.::.:....:.::.::::..::.:.:.:::-:::.:-.::
--:--:-::###=#-::::---.:::::..:..:.*#::-:-:::::::::::::::::#..:...........:.....................-::.#*#+...*::+=-:...#%##+%%#%#%%#+.####%%#%%.#%%%####*##%#%%##%##....%.:=.#:...*.-::#..........................:....-+..:....:....:.........:..........:.....................................:..:....:.....:.......:..::....::::..:::.::::.-:::::..:.::::::.::::.:.:.:..-::::::::::....:.:..::..:::.:::.::::::.
---::--:::#*-*:::::::+::=.#*.:*:+..#%:::::-::::::::::::::#.....:.........:............:..........-::::::*.:*#%%#.%%#.#*#%#%##%%*+**##%#%#%%%%.%##***##%#*##%%###*##.#:.::........=#+..:+#*.........................#*#.-...:**:......:.:..:...:..................:...................:..........:.::........:....::.::..::.:..:.:......:::..::.::::.:.:::::.::.:::..:::::::::.::..:::::.:::.::::::.:::..::::-:::
-.---::::::::-:---::-*:::*=::.#:..+##::---::::-::::-:::#.......................:.:......::#::::*#..-.##%.=.#%##%#####.:##%#%%**#**#%%%%%%%%%%%*####%*#####%%#%%###.=.:......#:...=::.:...:#...#.:.+.-..............::...+..*:::.:*..:.................:....................:.............:.....:...:.:..:..:..:......:...:.........::::::::::::-:.:.:::::::::.::::::..:::::::::.:.:...::.:.:::::.:::::::::::-:::
-----::-:**-::*:::---%=:*-*#..#:..:#+:::---::::::::::-#.:....:.:...........:.............#:.%#%%.#.#%%**%%..%#%#%#*#%+.#%###***%##%%%#%%#%%***#%%#*%%%%#%%%:####%%.......*..%*=..#......:::#.*.....:...........+::#.*:..-:.#*.:.#....:.::.....:...:..:................................:....:..::.................:::::.::..:..:..:.:.::::..:::::.....:::::::..:.::::.:::.:...:.:.:::...::::::..::::::::-:::.:.::
----:::--:::#::--::::#+..%:::.....:*-::::::::-::::::#*.......:.:....:......................#%####.*########.#%%**%%%%#%##%*#**#%%##%%%####+**##%*%%#%#%%####%%%=...%##%...=***%....*.::.:::#.++:++..+..........:..*:::.#*-..*.:...#...................:.................................................:.:..:..:..::...:::.:..:.:......::.::.:..:..:::::::.::::::..:::.::::::..:...:::.::::::::::::::::.::--:::
---::--::-=:-:-:-::-:*###**+-=-::...:--:----:-:::::*......:..................:......:.....=###%%%+.##%##%:.%##*#%%%%#%%%+*##%%%%%%%%###%****%##%%%%%#%%%*.#%**#**#**####..**#*%%..%:.:..:.++..::.*.......%.:.:#..#:.:.+...=.....::..:..:..............................................:...................:...::....:.......:...:.:::...:::..:::::...:::::.::::.:::::.::.::.:::..::..:..::.:..::.:.::.::::::::.:
----::--:-*:-:---::-----:-:-:--:::::--:::--::::::+...:.........:........:...............:.:##%%%:%*###%%%%%##*#%%%%#%##.#+*%##%%%%##%#%*####%##%##:#%#%%%##*#%%%%%#%%#*.###-*+**#..:....-*..:::.::..#-#...::.:.#..::...=:::...:.:.:.:.........:........................................-................................:::..::..::.:.....:..::.:...:::.:.:...:::::.:.:.:::::..::.::::.:::.:.:-:::::::::::::::.:
---:---::-:**-----:---:::-:-:-:--:-:::::-::-::::#....:....:.....:......:...................%#%%##**%%#%%#.####%%#%#%#***.*%##%#%%%%%#*.***##*#%%%###%%#=*#*%%%##%###%%%#%%#..:-#.#..*:.*..+..::.%.#+.#*.*.:#.............:.:.*....:...#.............:....::.......:..............................................:.:....:.......:....::..:..::.:::::..::.:.:::::::..:::::.:.:::::::::::::::::::::::::::::::-:::.
----:::--::*+::-:----:--::-----:-:-::::::---::#...::.......:...:...........................###%#%##%%%##%##**#%%%%#%###*#*#####%#%%%###**%%#%##%%%%%*#**#%%%%%###%%%%%###%=.............*#.....##....::.=.:.......#=..#...........#.*:..:.....:.....:.......................:.................:.....:..........:...:..:.:::....:..::..:.:::.::::..:.::::::::-:::::.::.:::.:::..:.:::::::.:::-::::::::::::-::::::
::---::---::=-:-::::---::--:------::-:---:-::#...:.......................:.................@#%%%%*#%%#%-#%*#%#%%%##%+-*%*##.##%%%%#**#*#%#%##*#%##%**###%%%%%#%%%%%#%%%%#.:%#.:#....#..:+......:..:*...#.#.-...:....:..#...........#::*.::::..:...............................:..............................:.....:.....:......:.::.::.:.:.:::::..::::....::.:::...:.....::::.:...:::::.:.:::.:::.:.:::.::.::.:
::----::::::-------:--:::-:-::---=----:::--*:.:................:.....:.:.....................%%%#*#%%:%###**%#%#%%###+.#%%%##%#%+##**.*#%%##.#%%#****%#%%#%%%%.#%##%#%#%#%%%#%::.......-..=:.:..:.:#......#:#...:*..:...:...:.....:.::....+....:.............................:...................................:..::.:::.....:.::....:.:...::.....:.:...:::::::..:..::...:.:.....:.:.::.....:...::.:.:.:::::.:
::-::::--::--:::----:-:-:-:-:---::--::-::#+.:.:..............:................................#%*##########-%+##%%%*#*#*###.%##%##*-#*%###%%%#%#*##*%#%%%%%##%%%####%%#**#*#::.......:.**.###..*::.:.*##...:...:..#.........::.#..#:#-:.=*..*.........:......................................................:.:......:.:......:..:...::.::.::.....:.::....:..:..............:.........::.:::.:.:.......:.::::::
---:-:-::-:-::::-:::--::::--:::=--=-:::*#::::..................................................#**%#-@#%#%#*#%#%%#%#**##%..#%#%#%**#**%#%#%%=%#*.**###%%%#:.%%#%%#%#*#.=#%+..::.=*.:...#*:..:*.#+=#*.:...#..*....*--%.......*+#:..*..:.:.:.+..:.....:.............:.......:...................................:.....:.............:.............:....:.:.......:.:.::......:..:...:....:...::.....::.:::::.::..:
--::-:-::-::--::::-::-:::-:-:--=-:--:*#:-:.........................:...:....:....................**##*####@.=%##*#%:#:*%%%%##%%%#*#**%%#%%#%#%*.##%#%%.%%##%%#%%#******%##%%**:...-.-#.....%.-........:.:*.*........###........-.#......................:::................................................................:...........:...:........:........::......:..::.:...::......::.:..:....:.:.....:.::::
:---::::---:-----::::---::::---:--:*:.:....::..:...:............:::....................................-....::##%####%#%%##%%%%##*+*##%###%.%##**#%##..##%#%#%###.##.+***##%..::#:......-....#..-..#-.+:-.+:.......*...#..#+*...#.....::..:...........::........:..................:..........::..:....................................::.::.::..::.::......:..::..:................:...:.......:......::..:.:..
:-##=:::-::-:::---:-::------:=*-##:.:::::.........::..................:..................................:.....+.....-*..###%%###***%#*%#+%#%#.**%%%%%%#%-#%%*.**##*#+%*#-....:#:...:...-..:::.:...+.....+.....:.....+.=.+..:-=.#:.....::..:..:........:........:.................:.....:.........:..................................:......:..................:......:............:.:...:.......:::::.....:::::
::----:-:##---------::-:**+--###.:........:.::..................::-:---...........................................#.##%%#-%%%%##+##%#..-#%%###.*%##+.#%#.%#%#*.**#***:#:..:........:..:##.#..:..:...:#:+#:..=*........:#.+.#.:*.+.......:.:......:.:..................................:.::..........:....:..:.......................::....:.....:.........::...:....:...:..:...:......:.:.:...:..:...:.:.:.::..:
--------:-----------=*+#+*###:....::..:............:...........::::::::..:.................................#::#:..%:#*%#%.%%%%%**#*%%%%%%%##*#*####%##%###%##.#**#***=::...:.:......:.#%%..:+...*:..:.....+..........:...#.....=....:...::.:...::.......:................................:...........:-....................:........................::..............:....:.:..............:.........:..:.......:
*#**+=*+*#*##%##%#*####*-#*...:.::.::..:::::.:......::.......:::::::=+.+.:...................:.::............###:......##%##%##+*=+#%:.#.#%*###.##%%#%%##%%#*=###**#.:......:...............%...:-.+::....+.:..#.......=.=+:.*..#--+.:.......::.::..:............:............::..................:..:.........................:.............................:..........:..::...........:..............:.....::.
#############+:####::*##::.::...::.:......::..::..:::...:...-::::::.-:-:...................:=:..............:::.#.%#*-.###%%%#%#.-##%#######*+%%########%%%**-**#*#.............:...........#.:#%:-.--..::.%.:..#.................::.#:..:....:.....:.......:.............:................................:............................................:....:............:.............::.......:...:.........:
#*###**#%#####*######.::::.......:.....:..:::::...:-#.:.:.::::::-:#..-.:...:..-............=--#::.:..........::-:#%##%.=#%#%#%#-%*+%%%*%.%####%%##-.###%#%*###*#**:.:.:....:...:.....:...:#..#.......+:.::......+.*..#...*...:#..-.#*.:%...::............:.:.:..:...:.....:.............:...:.........:............:..........................................:..:....:....:........::.:....................:.:.
#**#####*#####+=#::.:...:::..:.....:....::..:::::#.:..*.::::::-:----+........:................*-.:::#:...........######*%###...%#.######:#%**%#####%%%#%%***##**#:.:...................:.##=....:..#.*.:......*..**-=....:..=+:#.#....:=#......:..:.::...:.............:.................:..:.....................:...........::...........................:...:...........::...:...:::::..::...:::.....:.:.:::.
+++#*##*###*-..:..:::....:.:....:......:.:.:.::.::..::::::::::#:#::#......:......:::......-=#..=:::..-.*-.........*##*###......##=.:+..:##%*###.%#%######******#+.::..:......:...:..::....:......:-**.::...:.....:::...........#.#:..:-.*:....:.::.:..:.:..:...............:.........:...............:.....................:.......:.:.................:............:.........:..:..:.:..:..........:...:...::#.
#########*.:::.::.:....::.::..........::......+:::#:.::::-::.:-#:...:--........=##-:::......*:.*..:*.=+.::#....:.:...-..:........:#%#%#%%.##*%#%%%%%###%##**.=**..........:..........:..................:::..::..:........*.:.=#.....:.:.:::.....:..............:..........................:....................................:........:..................::.......:........:..:........:.....::.........+....
*##%*.-:....:.:.:::.:..:.:...:.......:..:..:**:.=*=#-::::#...#-:::#.....+:........#::::..*-::#.:::::.::::*...##*...........*:.##..#%*.@#%%%**#.#%%%%###%###*#*##......:.............................:.....:.........#.......#*-....:...........................................::..:.:....:............................................:.......:...........:.:.......:....:......:.....:..........:......*......
::::.:::-::::...:..:::::...::-::...:.:......:::::::--:.:....:#--::::::::-:-#......#-:::...#:-..#-::::.#-::=*:.........::......#.#.####%#*########%%######**##*##:..:......::.....:....:...........................%..#.*..%.....#.............:..............:...:.........................:...........................:....:.................................:.:....................:.............::.:-........
.:..::::...:----::-:..:.:-:.-::-..:..:...:.**::::::.:::.......:-#-#*::::-.#+#..-:::::........*:::.:...........-::*.....::...#..=#%###*+.....###::::.:+%**##*:#*%::.....................:.......:................::=........*-::-...:.............................:...:........:....:...:.....:........:............................:.............................:....:.......:.:.....:............:.....:......
::::.:.::-:::--:::-:--::::=:#:.+.......:.:::#:::..::..:.............#:::-###:.#-.:-.......##...*.....##.....:..:::.:.*::..*.=..........:#...:..::=##%%+-**#*####.:.................:...........:............:....::.....*.+.....-..:..:.:.....:.:.........::...:.....................................:...:..:.:.:...........................................................................:.....=.............
:::::::::::::::-::::--:--:-+-#.:=.:::#.-:+*##+:.:=:.:.:........:::.=--:-:##::...:-:#..::...--.#....##::-..:..%:.......::.::#:...::....#*=.*.#::#-######.#******-:...:.:......:...................................:...:.=*...:...=:...::..::........:.:...::................................:...:.....:..:........:.:.........:.:.......:....:....:..............:......:.:..:........:...:.:....=...............
::..:...:-:.--+*:--:::--#:.=:-::#..:#-:#*#****#--.:.*::..:::.:+*.:#::.-.-#:.....:*:%.*..=:=..:.:#.-:::#.#::.=.:##...#......#...::.:..::.+=-#-:::..##%##%#######::.::.........:..:...........:..........:...............:.:.:.....:...:.:...:.:..::.....:.............................:.:.:.:..:..:.........................:.........:...................................:.:.......:........................::::
::.::..:::::::.::+#-:-#:.*-+:##.:.*:##+*#**#+#**##*#::::*:::.:::-::.:::-:--::#....%%::-.%.:#*##%#.%...::-=:.:.#%####......:%*%-..*:....::*.+**###..%#%#%%#+**##....:..........:..................:.....:........::....:.:....::.:..:.-.....:.......:....:....................:..............:................:................:.....:..........................:...:....:....:.........:..::.#.................#
:::.:.:::::::::--:-:*:::::--.::---:-:::....####%*#*#:::%###:.#:-#:-::::-:.+++#.......#:.:..%###%%%##%..##%#+.+*###..#.......#-:#....+...#####**##%.#####%*##**-.:..:..........................:...:...:....:.:..:.....::.:::.:.....:.....:......................:.....................::.....................:...........:......::....:....:....:..............:.......:......:......:..::.#.............:..*:*.
:..:::::..:::::-:::#:*:-:-:-::::-:::-:.#%%*.#%%%#...=####*.*#=..:.::.-::--##:*##:-*..::....##%=##%##-.#%%#%..###*.%%#..#.:.#.*%=#..::##-.#%####%##:%#%####**=*::...........:............:.....:.:....::.....:....:.:::........:..:..:...::::..:..................................:..........:.......:....:......:.:.......:...............:...........:...............:..........:..:..::................:..:..:
.:::.:-:.:---:=::#::*:+-:#::.*:::::::.:..+#####*****%#%:##%#%%..:.--:::....#.#::#:..:#-:..:#%#%%%#...%###%##%%*:*%#*..##%%#..........#*%-#%##%#*###%-##%%%.#*#..:.......:..:............:..........:......:...::.....::...:.:=...:.....:....::.......................:.......:..:..........::...:..............:::.....:...............:............................................:...*...................::.#
.::::::-::-.*%-::#--:::...:#--.#.:#:.::=..=###***+####%%%#%#%#:......::##:..*:::::::::::..:.#:#%##%%##:#%%%%#%%#*%%%##.=##%...###........####%**#%#%#%#####**#=.:.::.........................:............................:......:......:...::........:.....................:...::.:.....:.:.:..:..............................:.........:.:.:........................:.......:::..........................*%##.
:::::::::::::-+-*:--::.=##-:.-.::#.*.-...+.####*+*####%%%%#:..:...:..::::#.:.+:::::::::.:....:=**..%=%##....%###**##..%#*%#..%#%=..###**:.-%#%#**##.-#%%##*#***:..:.:........::..............:.....:...............:.....::......::.:...:..................................:...........:................:.:.:..........:.::..............:.:.......:......:..................:.:...:.#..:....................:.:
:::.-:--+:.-:::::::.*:::.*-#:::--:*::.*.:*.+.+#:**####::#%%#####...::::+##*...#::::--::....:......-##=...=*#.+%###%%#%%**+-%#####::##%####.#%%%#**#%%#######*.#*......:............:............:...:..:................:.....::..:...........................:....:..............:............:............:::.............:..:.:.:......:.......:.....:...:......:........:.....:.+...:.:...........+#*##-:=::
:::.-%#-%:*-=:.:==+:=-:##---:::***::.+:-%#..#..:....#*##.=#%:%###.#..:...:.:.:..#::-.::..::::.+.*:........:..%%#%*+%#%##+*###%..##.#%..#*#.#%%%%######.-#%#%#*##::..........:..............:......:...:.....:...:...........:..:......:..:.....................:...:.:......::.:.......::..:.....................::......:...............:.:...:.......:..:.......:::...:..:::.::.=:.................-::::.:.%..
::::::=##:#-:*:-:#=*-:%#-.-:::.:..::%:::.*-:-#.=.*##:.#%%####%#:.*:.::::#.=::-*.*:.......:.::%.#:......*:..=:#%#%##*%#=+#%*###%##.#%####*+##%%%#=.*%%##%####.*#*-:::...:......:...........:............:.........:...........:...................................:............:..:::..:.....:................:.....:...:.:....:.:....:....:.....:................:....::.:.:.....*:......................:##*#%:
::#=:---#.::::+.-:-*:###%#:*:::.::--..#..-.*#*::**#*%#.%#%%#%###=...-:::=:#:::..%..:::.*:.::-:....:-:*.*=:::.######*###%##**###%###....%#***%%%#%**#%#%%###%%*.#*:.::.:..:..:............:.............::......::...............:...............::.............................:...:............:.............................:.:.......:...........:.........:.....:...........*..........................:.:::
::--:--*=*:**.:::::::#%*##:###:###**%.:....#*++*#+*#*.####.+#%##......-:-:-:::#...*-:::-:........:-::..#:-#*.+......%%#%%%#*#*#..=#%...%%%%#*%%.-#*#%%#....##=.##..:.::.....:::.:..:.:..:::.:::.......::...::..:..:..:......:....::...:......:..:...........................::..........:..:..:.....:........::.............:..:........:..:::.::...:........:...:..:................:....................:=-:##
:::::..:.:::--=-:.-::+*##%#%***:#**#*.+%#-.:#%%##*#*###%+##%##:.::-*.+::.:-#:##.-%:-::#..:..:*..:..%+.::.=:=+.:######.**%#%%*:*###...#*..#####%%#%**###*+*###%*#*#........::......:...:..:.:.:.:........:...:..::.....:..:........:..:.:.::.....:::.....:...:.:..:...............:.........:.................:.....:.........::......::::....:::....:.....:.:.............*.*#....................:.....:..*.#**
:.::-::+*::*:*##::.:::-*##*##%#:#***####%#:.##%##+#:*####:..:.--:::.:*::::::#*:-:*######%..+=.+..........::#**.####%%+#*###%.*#%=##%%%%%###%.###*%#*%%##%%###*#*#*........::.::.....::..:....::.:...:........:....::.:..........:::........::.............:......:..::.:.....:..:.......:....................:.:..........:..:....::.::::::....:.:...:::........#-.......+-.*..................*+*#+=..#--::.:#*
*::.--::.+:::*#*:#::::::-#%:%##%##**#%%*#*%.+#%%###*+**#*#%##%-:=+:#--..=#..:.:.**%%%:##%.#:.:#.#::.*......:**.**#%##+***##%###*##%%#.#%%%%#*:#%##%#*#%%%%###.%####.....:....::.:....:::.:...:......:..::..:...:....::.:.:.........::..........:...:.....:.........:.::....::.:...:..:.....:.:..:.........::.....:.:..:.......::..:..:.:..::........:::.::...:#.+:...:..-:-..................::.:..-:.+.:.###.=*
-=:*-.#:*#*#:.#%%##:::::.++##%-:*%+*%#%%###::##%##*+*#**##:+-:#:::.:-..%##.#%%..:**#..%.*##.#..*:=##:..#%#:..:*.*##%%%####*%####*%#+%%%-=-##%#*%#..%+.#%#:.#%%%%#*-#.::::..:...:..:...::.:.:.:::.:::...:...:.:.:....:.:::..::..:.:.:.....:....-..:........:....:.....:....:..:...:.:..........::...:......:...::..::..:.:.:::.:.:::::.:..:::.:.:.:..:::::.:.::#:+....#.#+*.....................-*:.....:#+#*#**#
=.:----:#*%*%:#%####*####*==%%#.%#+**##%#--####%##%#*#:+*%#####:..:##%.=%#####=.#*#*%######..::::::::.+#####%.##.*%#.%#%##*##%.#####%:.#%##+#%#+##:-.#######%%###.-##::..::....:...:....::.::...:.:..:...::::.....:.::..:......::::.::.....:::....:..:...........:.:......:.:.::.::..:::.....:......:::...::::...:......::.:..::::.---::..::.:::.:.:.....:.:*...:.+..-**..................#:::.=#:::#****=.*####
--:-::--:*#%#:+%%##:.....:-:#:#*###+*%%%#*###..#*###*#**++#:::.:...#**.##-%%%=.#*#**+#.%%=.%#%.....-.=-%#:.##:#*..**#######.*#####%%#......#%%##+*#...####%####*...:#*::::.::.:.:::.::::..-::::::......:::...:......::.:.:.....:......:.::..:.......:...::.::...:.:..:.....:....:::.....:::.::.:.:::::.:::....::.::::..::::::::::::::::::::::::-:-.:::--::+.:::-.:#:::*......................:.:.....=***+*%.##%
-::.::::::.*#%##:::::..::::#:::::#%**#%#%%#%%##%%%##*#.=*####%#%*---:**%##%#%#**#*#+#*###%###%#.:###...###.%%.%#%##**#%-.%%%%*%###*..........-##*#+*###%**%####%###%###::::::.:::.:..::::::::::..:::::::.::.....::.:..::::::..:::...::::.:....::.:.::::...:.::.:...:::::.:...::..::::.::.:::.::::.:::::.:::.:.:.:.::.:::::::.::.:::--.=:---:::-=--::::.-:*-:%*=.*-::.......................*%#-..#.:.::**+*##*%*
:::.:.::.:::..::..:::.--::-=:#:=*-.#***#%#*%+##%####%**#*.##*#%%##:.**##%%#.:###*+:****#.##%%##:.###%%..+%=###=%##**##%%%#..:#.##................:*%*%##.*%%#%*%#%##%#**--.-:-.::.::::.::::.:.::::::.:::.:.:.::.:::..:.::...:.:.::.:::.:.:::.:::.::::.:.::.:.:.....:..::.::::.:::::::::::::.:::::::::.:.::::---::::::.::.:--::-.:---:-----=--:--------=-###+-*#.:::#...........................:.:#*#*++#**%###*
*.:.:::.::::::.:::.#::*::::+::#::.-*..**%###%#::##:.#%+..*-#**###-:.%++*+%####::#**..***#%#%%%..###.#+=*:##.##::%###***%%%#%%#%#.......................:=%%##%%#######*+*#::=-:.:::::-:-::::.-::.:::::.:.:::::.:::::.:...::.:::.::::..::::::::::::::::..:..:::.:...::..-::::::::::::::::::::::.::----:::::-::----:-:-:-----:-:-----=------=----==--#.=#**##**:*::=....................#-###.:..:...:*+*****##%#*
#-#:--.::-:-:.:.=::#-:*::::::*-+::=:*#%-:#%#*%###%%#%%%##**%.###:+###%*###%%%%#-#%**#****#%#+:%%####%#%#.%###%####-#%#:-#%#.###:.............................=#####.##%#**%---:-:-.-::------.::::::-:-::.:::::---::::.::..-::.:::::::::.::-::.::::::::::-::::::::::.:::::::::-::::-:-:::::::::-:::::::.-:-:-=-:::-----==--=---=--===:::======--==-#-#*###**::-::=.....................-:::.:+......=******##*##*
.#-%:#.::#-+:::::::-:-::::::::#.:-:*-.##*#*:##*#.#*.:###%%#******%####%#*###%%:#%%%##%:*+*#%%#%%%#+#%..%:#####%##%**###%##*###.................................##..##%##*..#-----:--=:-:-=-:=----:----:::-:::::...--:-:-:::::-:--:.:-.---:::::--::-::::--::--:-:.::-:-:::::-:..::-:-:-----::::::-:-:--:---::-=:==--==--==:-==-:==-=-=====-====::.#*#*###*:::--*...........................:::.:..#*%:#*##***+***
::-:--::#::::-.:#:--::::::::-::.:.....:..::::+*#######%####**##**##*.%%##.#*##-##%###%###+#.*##%%####%%.%%%###..+#...#%%%%###...................................####=:+###*+#===--=-====.=-:---..---------:-----.-:---:::-::..:--::-:-::::-:--::::-:-::-:::::-.---:-----.--:-::-:--:--:--:-.-:----=--------=----===--==-==-=--==-====+==+=#:++#**#**#****:.#*..................................:::-%%##*****####
--::##:+:::.:#.+:+.:#::-::::..:...::.#:%:.#::#.*#-#####%#..###**###*%*:####.#*%#=.*%#%##*#+*#+#%#%###*#%%#%:###%####%##.#%#-.....................................#####%%####*#--=---:=--=-:==--=====--=---:----------:---.:--..=-------:-:-------:-=-----::-::---::-::----:----:-------:----:------=-=-==-==========-=+-==++=========---=*:%%***#...=+#--+:........................=#....**-:.....:.#####%###%%#
..:+#*::-::::::.::.::.*:::::::.:++##:=#.*.*.#:%:+++::##%###%%###*###*%%####%##*#%%#####%##*++*+**#@#%#%*%*%#%#.....%...%*..........................................##.##%###*+*--==-=-=:.=+-=--=========-=====:=+-----=-=-:-=---:-------:-===---==.====----=--------==-=-=---------===-===-=====-=======-==-=======+==+=+=+======++-+*+#=*#**##+*-+**%**#.........................::..:.*=.#**+*####.:####%%%#%#
+:.:+#:::::--::..-#--+:::::-:..#-:**-.:=..*:::.:#-*=#-#:+:#:%%%%%#*##*#%:%:::#*###*##:*%.#%%.**##*#%.%-%*#%#.##...##.:=.............................................%#*#%####.#====+==:=.=+==::=+====-=.---++==:==+-=-=-=====-==+==---=-==--+====--=---=-==----=-=-===-+=+:===-==.===-=--==-===========+====+===++=++=+=+++++=++-+=+=*##**#..:##*#*:#=*=......................*....:*.::.-*******#####.%##%#%##*
::.:::-:::*---*:+::::*:::-:.....::.=..#:::.*::..:*::*=%*+#*-::#%+%##***#####%%#%#*###*##.##*##*.#*###%##+%*##:.#*..#+.................................................#%%*%###**======+==+:...====+===-==+:+==:===-==-=-=::+=-=++========+=+=====+=-===+=++====+==+=---=+=+========+====+=+++==+-++++=+===-====+=+=++=++====++=+++=+++***#*:..:#*:=%*#:....................:.-:.-:*:.####:.#***#*******###***#*#
-==:::-*:=:#::%:*:**:::::-:........:-:-:-#:::.#:.::-.%#:.#=::#%#+:#%%#%##+*##%%%%%#%*+::#%#-.%##-******#%#%%%=##%##.................................................=-.###%##%##*#+:+=+===..:++++-++-====+==-=+===+=+-=====-+++===:====+==-=-+++=+====-=+====+=+=+==..=+====+=++++====+====++=+++++=+=+++++=-+=-+=+=+==++===+=++=###*##***#*#+#:.#*#..........................#+#**+#:%#%##-=****#**##********+#
:..*--#::::=-+*::-::%-::::....:....-+*..#.#.:..:%+*=+:.:=:..:#=.*-#:.:#:##%#####%%%##%%*:.*###%%#%#**.#*##*##%%##:..................................................+:...*##*#%%###-+*+====+==:++=++=+++=+===+-=+====+=+=+=++-=+++=+=+++=++++-+-=+++====+=*-===+====+++--======+=++====++=+=+++=+*+++==++=====+=++*=+=+++++++==+**###...:*%#.%.:=*.................:..........:+%%**##*######%###%##%###%%####%%
::.+:-:+-:*#-=*:--:#*-::.:..+.::+#:..*#=::+#.:##+-...#..::+:.#:.*-=%==#+#:*..*%#**#%#%%.#%*=#%##%#%#%#=.**#**#*#.........................:*#.........................+.#:...#######**+*+++=+++++++==++=+==++=++=+==++*++-==+++++++++-+++++=+++=++++==++=++=#.#.#:*+++-====+==++==++=+=++++++++==+=+=++=++=++++==+++++++++=++==+**#***#+=#-==.+-*..............*.....::.....##..:###+*######%############%#%#-.:-
=:--::--:::=:::+:-:.-:+##-.:.:.-.*#:.=.=*-**:#:.:-#...:*::+.:*:::*#.::.###:*#+%+-..*#%%#%#.##+++%##%%#%%###**#............................:::.........................#::.....###%##**+%=++++=:++-+++++++++++*++==++=+++=+=+++++=++++++++++++++=++=++=+=+-........*++=+====++++==+==+=++==+=++++*+++++++++++++++++=+=+++++===+*..:*#**=*#::=:*...................*.*+**+..::**##=#####*+#######******+##*.:.::%.
#--=-:---:*%%#%%%:::#+:::.+..%#%###--.%=:.::-=:..:::%:*.:=.::#=::.:#-::..::.+###%###%#.%###%.-####**#%#%%##*.................................##.........................%......:##*#####*#=++=+++=+=+++**=++=+=+=*+++++++++++++++++=+++++=+++++++=+++=+-............*+==++=++=++++++++++=++++=++++++++=+=++=+==++=+==+=+=+++++..:#+##.:##:=............:+.#*..*..::+**#*##+:#**#*#*#**##%##%###%##%*#..::::*....
::----::-##%%%%%#=::###%%%#:+%%%#%#**#:.:.:+-::*#:-.-*=::*:#:::*.:...:::*::::.#:*.:#**::::.+#-#*#%#%%*+##...............................=.:::...=:%#............:.........*:*......:####%###.+++#+++++:*++++++++==+++=+++++=+*-+++++=+*+=+++++++++++=+...............=++=++++=+=+++++++=++==+++=++++++++++++++++=+=====++=+++++***#:::::*...........*#.......*....:..*%#%%*#.##*#*#######%%####**...::::*....:..
--=-:-::##%*%%#%%:=#%##%%::#..%######**.-:-%.=%::#*::*.#*#..*::::::.%..:.:==:#..#:....::.::%::::*:....................................#::.::*...*.........................=...:........*###*#+*++*+++++*++++-+*+*++++++++++++++*+++++++++++=+++++++*...................#+++++++++++++++=+++++++=++++++++++++=+==++-+=+=*===#::.::::::*.............::..:....:::....::::-####%%######*####%#**-...:::::*...:....:
::--.:.:#%%#%###.*###...###%:.##%%#%#*##:#:.:.=#+...+%:::::*:::..#.::..+:.%:=*:::*+**..:.:...#.........................................=.::=*-.............................+:*..................#%*+*++==++*++++++++++-+*+++*++**+***+++++++++=++#.......................#=+=+=++++++++++=++++=+++++++=++=++==+#++++++=#-:::::-:::.+................:..:#...%*=..:****.:::.=##*#%#*%###*#:....:-::.:*..:........
.:.:::.:#%%#%%####*#%:::%##%=..*#%##.:%#*#:.=.:-=:##:::##.::.:+**.::#::#:=-#=-==#.:..#####.+.......................................#*=...*.................................:#..#:................-#==*%++++*++++++++*=*++++**#**++=+++++++++**#........:...........:......-*===++*+=+++++++++++++=+++*+*++++**:..#*#:::.::-::::.#......................+#**#.++*#..#*#%%%#%%%#*******:.....::.:::.#............:
.:..:::::*%#%%#%*#*###*:##%.*%*#*%##%%#%*##:#:::#:=.:**.::-:#:+:..:#+:=:#-###%####-..##*##.:.:..............................::*+...-:.:-..:+*.................................+....................#*++++++=*++++=+++++*++*++-:-*#=++*+++*+=++.............................::#+++++**+++*++=++++++++++%####%#**#:::::::::::#-#.........................:..*#****###.#%%#%###%###*:.....::::=*#+**:.............:
.:::::.:::##%#%#:%#*##:.:#%%#%##-*##%+#######.:+:.=#+#.::#%:#*#*#:+*#:#.+**#######%#*#%%....................................::..:..::.....:.:#.................................*...#...:*-#%:#:::....#+++++*+++++++=+++++++*+==*::::%#***#......:.....+*........................#++*=++*+++=++++++#..:###*#.:-::-:::::::-**............#+.....:##...:+::.:......######%##*##*.....::::.=*++****.........::::::::
.::::::::::####%###*##*#-%#%%%%%#*##%#%%####*##+:-+:*:.%=-=:**+#::##=.::+=##*#**%###+:..........................................=#........:*:#...................................:......:::::.::::.....#+**=+++++++*+*+++++++*++++#::::.-+#=...-:.*###*#..#%......###.............:#++++++++++*++#-=*=:-:-:::-:::::::**:.............:.:..##.......#....:..:+*.:..#*.:##%.........::#*+*+***#...........::::..::
.-::.:..::::#%%:#%*#--%-#%.:-%*-#%#-*%%#%%%###***#.::*.:..%-..=:###...:.::.:.#.##...................................::......=#+..........:.:*#.+*:.....*+.........................*.:*....+.:.=...:::....#+++=+=*+=++++*+++*++++++*#-*:::::::-+=#:#####:###%....=.*#*#......:.........+%+##*#*#=:::::::::::::.::-#=+...................#=.+.%.:**:**:#..*+:.#****.:#:..:....:..:..*#*=*****.......::::.:......::
...-:::..::::=%#%%####:-%%%%%%%%#-###*##%%%..%%#**#%.::.#-..:::.#+=#%::...*+.:..................................##*.*::...:::.:.*..:.:+=..:****:..#...*::*-.....-:+#................#.*..:::*.....::.:.....+*+++++++*=++++++++#...####.:#::::::::::*-+######+..:##.####%.##.%+:.+####+++**+#%*::::::::-:.:::-#+#..........::::+.::.#..:::.:.:.:#+#*+++:.*****.*#.....::...:.....::*#***+#:......:.-.......:...::
.:::.::::::::..:*%*#*#:*:##%#%%.:##%##*.:%*##%%###%#:.......:..:...####.....::.................................%:..:=:.:....::::..=...:*..+.:....:.+.................*...............#......:.*...:.:.........#+**#*###%#*#:*.:#*%#%#*%##%#%::::::*+++++*+++*+++++*++#+=#++++#+=###-%%%*%#*++**:::-::.::+#=#:.........::...:.::.......-***:..**:#******#=*+...........::.:..*#**#+*=**#.....:::.:.:.::....::..::
.:..:...:.:.:.::-::=*#*#%%#.##=##%#%+.##%#***##:..:...:::..........:..........:................................#-:.:::...........#.*:..:*.*:............*.:*.....*#*#*.*...*:.........*.......:#................####%###%#%%####%%#*%###%#####%%::::-*-:--:+:*#*==**%##*+#+#+#+*+#%%+=###++****#*+-**+*#............:-#=.+-:**#.:.*****#*#**+**++***#+......:::...:...:.*+****#****#:.....::::.:.:.:::.::...:.::
:.:.:..::.:.....::.:.:::.=*####%###%*+:..:.......:......:.:.:............:.::::::................................*::.:......#.=#:.*..::*.#:..:.....::+.::.:.:+..::.:..:.....:.:..........#*#.::.:-:..................:*#%####%%%#######%###%%##%###=::.#+*#-=-=*-=*#%%%###***++##**+#+*#*#++**#*+#*...................::=.:****#++.***********+*......:...:..:..........:::.=**+-#....::::-:..::..::.::.:.....:+
..::::::..:...:::::...:....:.............................:..:......:......:-::--:::::...:....:.:.............*::.#.::.......:::.-#.#:::-::.................:..+.:.::#%:..#=:...:........#:::#.*:::-........:-.................-*######%######%%###%##%#:.#*+*#+**+*++#+*#*%+#+#:++**::-***+#*................::**:........:.**********#**#:....:.....::.....:.::......:.:.:-%#**....::...::.::.:.:::..::.::*****
:.:-..:...:::::::...:.:..................:............::.:................%#-::::::::::::....................*-.....:..#:#-.#::.:#.:.:.::...........*#*..=....:#+.:#***#:..:.=#........:.*.:...+***=-....:=***#...........:.:.....#-+#*%%%%#%%%####%####%##*#++%=.*#+.::-.::-##+*+###:................:....:..:::.::..::..*%.-#*****+.....:..::.:.:.....:::..:+##**#**++***+#:.....:.:...:::::.:.:::.:.:***###**
:::.:.::...::..::::....:::........:....:...........:...........:........::::---::::::::::::.........*.:==......:#..+***.+::.*:.::+::::....#::.......::..*..:..:...:#-*%*#*.....:-.........#.....*#**+:.....*+#**#.......::.:::........#:.......+%***#%%####%*###:..+=+##=-:.............................:-***#..###*::..:#*+#=........::.::::.:..:.......*****############*......::::::...:.:::.-:::**********##
..:::...:..:::.::..::..:........:::....:.........:::::-:............::....:-.#::-.:-:--:-:::..::..-:*#:-:#.#+:#.=..+::::.::.::::..:......+::#=:::*:.:....#:...+.::.#-*%=.**:.*:..:.........-+**+.*#*%**..:::*#**#*#.*%...:*##.::.:::......=#=.........:.................................#:......#::#*###..#****#*=**+:..........:::...::::.......::.-+-#*+*#######**+*###:...::::::::.:::::::::-::.*#****#******
:::.:::::...::.:::..::::::...:..:...-..........::.::::-::...:..:..:..........:...#--::-:.::::.....:::::::..:..:*#.-...*..:.::.::............:..:.:..:....:..***#.:..:-:-##*%.*.:::.#.........%***.%%%%%#=...::+#.#%+-.:....**#*#.:.:..:...........*##=....::....:...:::...:....:.::-...::.*=##...:..*###-.....................:-:..:..::.:::.::::::.:..:****%#%#####%%-:.:::.:...:..::.::.:::-::::.:::*******%#%
...-:.:.:.:.::::--::-:--::...............:.....:::.-::::::.................:.::-+..:::::.:::::.....::::.*.#:.::.::.:*.*..:.:...............+=:...::.*:.:...****##*::#:--#####.*.:.:::.:%.......+++:######*:.:.:.*=.###.:-:.:*####*:.:.:.:::.........:..........:-*####*=--:--:-=+##*+::.....................................:.:..::.:.:.:.:***+*******##*=*+:.::.:.=.....:::.::::.::::.:+*#*********##*#=-::%##%
:...:...:::::::--:::-::-:::-:...:....:...........-#:::::::..:.....:....:...-*::::-#:::.::::::::......::.::.::.....:...........................:..:::..::...#*#==*##:#*#:-:-**%#.:.:::-.+*%........##+#*####-..:*****.##:.+:.:#*#####...::..:.....................................................................:..:.:.:.......*#%##*%#%#%########%%#%%###%%#%###.....::..::..:.::::.::**+**********#%#%%**#***
::::..:..:::--:-:-:--:-::::::::::..:::........::....::::::.:............:.:#--:::::::::::*#*:-::.........:.......:..#+...........................+.:.:......*-###....*.#-:-+**.:.**#..-#+*:........#*#####%##..**+##*#.##..:..##%###*##:::....:.:.....:..::....:........................:......:........::.........::.:..............+*###%####%*#########%###=*.......:::.::.++#****#*===-:#****+#%%#%#%%##%###
.:..:.:.:.:.-------##---::-::::-:::.:.........#=##.#::::::........:...........=+.::.-:.......:::......................::::##..................#++.=:.:......**#####::***#-:--*#-.=#*+%.-#**#........:##%####%*:-**#%####%*#:::.#%#%##*##*:::::.:.:......:...:.....:....................:.:.:::.:.......::::....::::..:...::.::.:.::::.:................::::::#.......:-::.:+###***#*****##*#%#***+=:-*%%####%-=#
.:::::::.::.:::::::*-=-----=::.*:::**..++*::.=:::.:.:::::::...:......:*:-::##.:-::.:........:#::......................::..:..#..=##.........:::.....:.......##+..###.-**..=-::-##:...**:.#*+#..........:######%=-+#%##%#*=##**:..###%##**+*:::.::.:..:.......:......:.......:.::.:.:.....:..:::.:.....:.:....:::....:::....:.++****#******++*#*##*#*##*%*+=#.............:.:.*+*#%###%#%#%%#%##%##%%%%###*=+-:=#
::....:..:.::::::::#+=##-::..*::-:::#.#..::*..*::.::.::::...*####...::-:.::.#.#......*.::#...::::.......:............*.::...:=.....#....#*..+:.:.:.:.........###%####:*=.+=#:::-:##.##.**.#*##:.:...:.....#*###%+#+#########%#*#:.+#%####%**+::..:....:.....:...:..:.:.::.....::::.:::::....#**#:::.:.:..::......:******++%#-:..*+*+***+*****###+**#####%=..:...............:::=#######%%#%####*##+::.:.........
:::::::::::.::.:.:::::..::..+---:::##::::.-:::.::.::..:::..#####%%:.%::-:%..=+.......::.::#.=.:........:..............**::.:.:-=:...+..#*:*...#::::..........##:-%#.*#+:#*##-.---:-##+#%***%*+%..#:.........+######%#*#%####*###*.:.**##%###*#*:::::...::.....:.....:.:..:.:.....::::::::::....*****+*#=-::::-::....:**+*+**#**+#*#%=####*##%#%#####%##.....................................:......:..::-:+**-++
:.::.::..:::::...:::....::.:...+#+**:::::::#.::::::::::.:..#####.::#.:::-:-.:.:...:=.*::.#+*::::......:-*##......::.....:.:::::..:..+..#.:.:*.#....+.*........%%###%#%:=.:###:*::--:-*#+#****=+*.:**-...........%###*+#%*###%#*#%*#::.#%%%##%##%+-:..::.:........:::.:::.::.:.--..:.:::..::.:::....#*#+**=*+*+*++*=::.......-=###%####%#%%###**###*==..........:::::.:::....:..:::-.::-..:-:-*#+*****#+******###
:::.....::-:.:.::...:-::..::.:....:......:.:.::.:::::........+#%#**..:::.#::*....#:.--::::::::.:.::::...::-.....::::.:..#*-:.:-.:...:..#..:.+.#....#...+.......%##:###**#*###%#=.-::---*:**#*##+.*.=**.........::...#*###%%%##%##%#*#::.#####%####*=::..::..::.....:+##+#*=+:.::::......::::::::::::..-*#*#%#%%%#*+***#+*+##%***==:....*#*########+.......:.::.::::::::.:::.:::.::::.:*********%%%##%##%##%#%#%#
:::.:::::::::::.:.:.:..:+###-...#:..:::+%#%...%-::.::.:%*#:..###*###+:::*.#:-#:......#::-::......:::::......:......::.*::..#:-:*:..*:#.::..-.%.......=#.........%#####%+%*%%###:##-:----=-%::=*%***..*+*.#::............#%%%####%##%##*=.:#*%##%#####*#..:::::.::..:..*#%%####*.:..:::.....:.%#*#+:::.:::..-####%*##%%###*####%****#*++*####***.+.......:::::::.:..::...:::::::.=**#****#%####%#%#%%%#%%####%#%#
:::-:.::::::.:::::*-#::-:-:::*.::.##%#*#.#%#.::.:::-:.#%##=..##%*#*...::=:::-#..::....:......:...-=::.::+***.....:..:.:::..*..:-...:.....*#*...:#:*#..+:::......######%%#:**#%##%#%*--:-:-#*%:*.-:.*--#*#*+#**#...-=:.....###%%##%*#####+#-.:#%######%##%+::.::::::.....##%##%####%#-..::.:..-#####%####=::-:::..-####%##%#%######%##*#####*##....:...:::.::::.:::.::::.::-###*****%%########%#%%%##%######%#%#%
.:::::::...::::-::---++-.::::*:.::+###=..:##:%###%%:.:#%##:%###***%##-=:::::*:.*:::#.#....*::-*#..%:::::::.:-#.:...::.:..*:#...-..#.*...#......#::::.#.::::......##-#######*###%#####------%::+###..::..*#*+*+***#:.#+**:....%###%%#%#####%**#:%######%#####*-:.::-::::...:#####%%#######::::....+#%####%########=.:::.....-+*#######%%#%##.........:::.:..:.::-::.::.::=***###%%%#%%######%####%##%#%#*-..::.=+
::::-.::::::::::#**+*+*#*#::::::::-:.##*:.%%#%%#%##:::###%%##%#***#-::::..::-:.:::::#.....-:::::::*.:::::..:*..:...*.....=-:.#:**:.::.#.-=#**:..:.:.::#::.........=#%####%*:##%###*%%%#::--:.:*%#=%-#:#%..:::.*=***%.=*#***:::::+*####*#%#####%+**##%###%#%%%%##**.:..:::....**#%+%####%#%###=:::....+*#%#######-.:.+#*.-::#-#-#.#::::#%-........::::.::.:.::::***##*****=-:.---=+**#::::--+#**=....:......:...:
-::--:::::::..#%%#***%%##%%:.:%%%#%:.-*..*%##%#***#:.##%#%##***+#*+.**:.:.#-:::::-...:##..:.::-**:#.:.::=#:..:::%#::+*#.:==:.::.:.....-+.:=:..=.=..%**...:......:...###########%%#%###**#--*##*::#*+#:.:..**:*.:::.:*##***#*#*--:.:..-####*#%##%####=%%###*##%###%%##=:::::::...*#%#%##%%%%%%###%#*:::-:.::*#**.-##%**-::#-*+:...%%*%*...:......:::-.-:.::#***#*%####%#%#####%%*%%%%##%#.:..::..:+-*+*******+#*#
:::-:..:::.=*#.#%#**=###%%#=.#%#+##%::%%%#**#%##%##%#**##******##+....:###:.#:::::..-:::*.:-::::=-...::.::::......#:.:*.::.:.....*###:...#***#.*..:.:.:*.::..........=%%%#%%#.*#%##%%#*##%#---#-%:::.::#=##=.:::*#-*#.%.::.:*#*+*::..:::...*###%#%#%#%#*-##*#%#########%#-::::::...-#*###%#%###*###%%##*#.###*#**##******#%#*-::*#+................:..::-.-:::**+*-*####*#%#%####-:.........-*****#*****##*##*#*
:::.::.::::#%%##*#**+%##**::#::#%%%##%#%*##%%::%#=%%#%#*#*****#+....::::-:::#:...::.#::-*#+:::..::..........::....#.::+-#:..:.:#######..#*+*#*#%......:-=*:::..:....:.:#%%###*##########**%##:----*--=:.#:::.:*%==:...-+#=#+:.:..-:=*#*:::.::....=#%%%%####*#%##%%#%%##*##%#%*:::-:....=#%###**##*##%#*###*#%%%%%*#**%%##***#*%=.:........:...:...:..:.....................:............-******#**#***#*****#*#%
::::::::.*##%%##%#**##*#.*--:%%.:%%%#%*###.=###%%%%%#%::=*-=-::.....-##-:::.:+%%#*.:.:-::::....::::**....:+::.:#..=.:::::.::...##%####.*+**#**+.+#*%..=::.:.-+..#:.....-#%#%%#***##%####%***###--=-=*----=++-*.-:.::-**%##.*-:.%#*+#*=+::--:=**#-:::::::...:=*###%@%:%*%#######%#*%%-:-#*#*#*#%.:##**##*#=%**##.::*#*+***###..............:...........:::-.+=+=+=++-*=*=++=**+#++#*##*********##%%%##%%##%#%%#*%
:::.::::%##%###%%##**#-*+##%%##%-#%#-**#%%%%%-=%%-+##*:..:..:-:::=#...:.:...+##%#%+#::.....::-::::.:.*:..::..::::#-...:...:::..##%%%#%*#:#=....##***#*=::..::::#::::.....##%%%#%*#*###%%%%%**##*#+----*=-----#:+-*#*:#*:=:.:###+-*#*::--:-:-::--:------:--+*#***-.=:#####*#%%#%##%*#=.+-::####:.:.#**#+::::#*##::-:####*#..........:......::-+**##**#*#*******#*#******###*###*****##**###*%#######%##%%##%##%#%
-:-::::%##%#%%#*:#+**##-:#%#%%#%####*%#:.%#%%%#*.*%%%##+.....::#%#%#+:%#%#:.:###%%*##%%##:--::*::::::.*.:#:::+#:##:::::::.:::...*#%##**######%..#*#*#*......::::#:::......#%%######*###*####****###%--:=+-----==-:=----::+#**#*.*#.*.:*=:-:-----:=::--=-----:-:-:-:::--::---:----:::-+#-:.#####*:.#-*##+:..###*%:##+#...............:.:::::**#**#*+#*#****#**#**##+**##*#*#*%####%%%#%##***+##***###*#*#***####%
:::-:::%%%%#***.%%%#**+...:::-%#%%**#%%%#%##*%##**%%%#%#..:..:#%%#%%#=%####..%%*:#-=%##%#..:::.::::.::*:#::.:..:..:::.:::.....:...#%######%###*.%##**......%#..::.:::.:....:-####%%%*####%#%*##***%%%#-==-=***=-------:----------++--*#==--::------:-:---:-:::---:--::---:::-:----:-+**#*=:*%-#***###+=###-::-#%#.........:...::::::::-:.*+********+#*#************####*#*#**###%#%%#####%%#%%#%%%%%##%%%%*%%%##
:::-::###%#-###::%%##**--:=%#-:.#***#%#%%%%##.:*%#:%%%##.:--::.###%#%##-*%#.%%#%#%%*#####.:%#*:.:..:*:-*::::.::::-:.::..............###%%%##%##*:####=+#..:*#*#:::::.:.......::*%%#%#%%***##%%%###***###%==---+--::--:=**#+----:--::---:::--:--::-----:--------:-----:--::----:--------#*-:--=-#-*:--+**#+#*#...........:::::::::::-::.:::+**#%%%##%%%####%#%%%%#%*#%%#%%%%%**##*#*#********###***#*#*###*##*%#%
--::::%%%#*##--*#%###+##-:%%#%%:#+++%*%%%#%*.#*%#%#%#%*:.#*#*%=-%%%%#*%%####%##%**+%%%:.*%%**###:....:::::::...:........:...:.............###%###%##*+..+#..%##*#.:::::...........*######%##*###%%##*#+*###=-----*-::..:..:::::.:::=##++=::----------=-----:--:----::--::::-:--::-:--:---------:::-----#%...:........:.:::.::.:-::.::.:**:::=######%%%%#%%%##%%%%%%%#%%%%%##%%%#%####-::--=*%###%##*%#%#%%#%%%#%
::.::#%%#+####%*%*%##+#::##%##-#**+#%:##*%#***#%*%%%%%%%%%#=*%#:#%#*%%#%%-##%##=*%%:##%%%##%%%##:..:..............::.........................%#%%%####.#**:.%*#*#*-.................*%%##%##****%##*###**#*###=--:-=+:::::.:.::...-:::::::.:::::::::..:++*####***=--------#--=:--==----=-==-=--#--+%:.............:::.:-::-=*##**#%%%%##**#*-:::.:-#%%%##%%%##%#%####%####***.:....................:..:.-=#%#%#%
.::::#%%#*########%##%##%#####%#*=**%#%#%*#.**%#:**%%%%###+%%*.%#%-*%##-%##%######%%##%%****###*...:.::.:.:.....%%#%#::..........*+.##:.:.##:....%%%##=:*#*-.##%%%##::...............:.##%%%%#%**#%#%###%#+*###%#*----+.:::::::::.:::::::.:.::::::::..:::-::.::-:.:::::.::::.:.::......:.::::+#*.............:-::::+**#***#*#*#%%#######%%%#%%#****#####=:.::::.##.:.................:...:.............:..:.:..:
.::::#%%#*%%###%++####::-####-=#*.:*%%#%##*+*%%#%%%%%#%%#*+%..-%#*=%##%#%#%%###*%%#%%%**##%##%+.::::....:==:*...:#####%+..........:###%##.#:-###..%%#%%:%***.%%%%%#**.:.::%:..:::....:.-.*%%%%%##+**#######%#######*#----=-:::::.::::::::::::.:::::..::.:::::::::::::::.:::::.:.:....::-#*........:.....:+-##**#*###%%%%%##*##%%#%%#%%%%%#%%#%#####%#%%%***#*....:.......:.................:.........:.:..:.....
.:-:::%%%+%##*%*#+*%#%-##%###%##+*+*%%%#*##**%%%#%%%%%%%#-###:%%#-##:#%%%#:%**#%%%%:%**%%##%%#*##::....::::::-*.:#%%#####...*.+....%##%%#:..::.:...#%#%%:.*##%#%##%%#*::.::.::.:.::...:....:#%+%#%%#*#+#%##%%%%%####%%*##+--:#::::::::::::::.:::::..::::...::::-::::..::.-*%#%###%*=.:...............:+*#%%%#%##*#%%%%%%%%%#%#%%%%#%%##%%%%#%%######%##+..:...........:......:::.:::.::::::::::::.::::::...:..:.
.::::=###+#%#####=.*##*:%#*####%##:+%##%%%***%%%%%%%%%%%**%%%%#%=:%%%#*%#%#%*:*#%%%%#*%%#%#%%#%-:::.:......-.#--**##%%%##*..:.*##=..#%###:..-.=#%%%.:%%%#%:#%%%%%%##%#.:%-...:.#:.............:*%%%%%%#**##%%#%%%%####%%%%*#*#####%#%%%**######%%*:::::::-#*##******#**%%#%%*=....:....................=%%%#%#%%##%%%#**#%###*###%%#%%####%%%%#%*+...:..........:-::::-:.::::::....::::::.:-::::::::--.::-.:::::
.:-:-%%%%**#####%*+*##*#*%###%##%++**#%#%%***#%##%.%%#%##*+%%%###*%##%###:##*+*%=%%***##%%%#%#*:::..:..%:-*::::::*##.*%%%%..:-%%%%%..%*+.::::.#*%%#%+%%%%%%:%%##%%%%%#-=#+*+::.#..%#..::::..:..:....%##%%#%%*###**#%%%%##*###%%#%%%####%%%%%#%%%%%%######%#####%%%%%##:.....................................=###*###%#%#%%#%#%##%%%#%#+:..:.:........:.:::::-::::::::::::.::::::.::-::::.::::-::::::::-:::::::::
:::.-%%%#++##%*#%*#+%##*#%####%#%#+#=*#%#*#=++#######%#%*:=%#%%#**+#####%%%%***%%#%%*%%#%###%%*....::::...=-#%%::::::-%:-%:+::%%%#%#*:...%:-::...#:%%*%+..#%%:%%%%%#%%#***#*+.#:.::::..:#:.......:.......-+#%%%#%%#*#*#%%%%%%%###*##*#%%%%#%#%%##%%#%#%#%%%*##-.......................::..::-::........................:..::.........:.:..:....:.:-::-::::::..::-:.:::::-:::.::::::::::::::::::::::::--::::::-::
..:.##%%#**+%%:#%%*+%##%####*%#%%###**%%%%%+:*#%%%##%#%##*:#%%%##%+%#::#%%##%*-*%#**=#%%@:::::....::*::-...%%#%#%-.::::.:::..:#***:#::+#.::::%:-#.-::......=%%%%#*##%#%#+*%%**:::::::::.#::::...............:...::.+**##%#%%%#%#%%%%#%##%%*##*#*%##*+::.:.................::::-:::-:::::::-::::::::::.::.:.::...............:.:...:..:::.::::::::..:.:::-::::::::::::::::.-:::.::::-::..-::::::::::::-:-.-::::--
.:+#####=+*###%###%#**##::%#+#*%%%#%***%%%#@*:+#%%#%#%%%%#+##%%%#%+#%%%%:=%%%:##%%###+#%###%%*%#%%::*##%#=.##**+%#..-#:::#...-......:=.:..-::::::::-.::....:.%##*#%%%%%%#%%%#++-:-##%=::-#:::..:.........::....:.............:.-...:.:::.....:..:.::::.::::.-..:::..:....::.:::::::::::::::-:::..:::::::::::::.:::-::::-:::::::.::::::::::::.:::--:::.::::-:::.::::::::::-::::.::::-:::.:::.::-::::-:::::.::=---
.######=+****#**##+###%#%####%##%%##**#+%##%***#%%%%%%%%%#%#**%#%%***%%#%%%%#%#*#%%%*++##%#%#%%##%#-#%%###:##%+#%#*:-::.::.::.:......:%#...#.:.:::.-.:=##...:.:.=#####%%%#%%%%+#***%%%%#:-.:-::*....:=**:..:..:::.::-:..:.:...::.:.:...:....::::::-::::..::::::::::::::::::::::-::::::::::::-:::::::::::::::::::-:::::::::::-:::::::::::::.::::::::::.:::::::::::::::::.::::::::..:=-::::--:--::::::.:---::::-..

Welcome to my webpage! I’m a scientist and engineer who has hands in oceanography, atmospheric science, mechanical engineering, and chemical engineering (and computer science). Hit me up if you want to do some research!

Selected Research

Gulf of Lion: Air-Sea Fluxes and Deep Convection

Deep convection occurs periodically in the Gulf of Lion (located in the northwestern Mediterranean Sea), when water at the surface of the ocean is cooled enough to mix freely with the deeper water below, sometimes reaching the sea floor. It’s an important part of the overall circulation of the Mediterranean Sea that leads to an explosion in the phytoplankton population in the following spring. In the gulf, the surface cooling is caused by the atmospheric transition from summer to winter and the Mistral winds. The latter is a cool, dry northerly wind that flows through the Rhône Valley out over the gulf. We found seasonal forcing to have a larger role than the Mistral, due to elevated average wind speeds during the winter.

Mistrals Driven by Rossby Wave Breaking

The mistral is a northerly low-level jet blowing through the Rhône valley in southern France and down to the Gulf of Lion. It is co-located with the cold sector of a low-level lee cyclone in the Gulf of Genoa, behind an upper-level trough north of the Alps. The mistral wind has long been associated with extreme weather events in the Mediterranean, and while extensive research focused on the lower-tropospheric mistral and lee cyclogenesis, the different upper-tropospheric large- and synoptic-scale settings involved in producing the mistral wind are not generally known. This analysis provides a new perspective on the variability of the mistral and of the Genoa lee cyclogenesis in general, linking the upper-level PV structures to their surface impact over Europe, the Mediterranean and north Africa.

Contact


dg.kllr.jr
(at)gmail.com