.:::::::::::::...:::::.        .:::::.        .:::::.       .:----:.       .::::::::::::::.        ::::::::::::::.::::::.
          .=..............::.......-=.   -:.......-=.   --.......-=::==:..:--:..:==: :-................:=:   =.......................=-
          =.=+++++++++++++#=++++++##.-: := ++++++##.=: .= ++++++#*.=..++++++++++++:.++.=++++++++++++++*#:-- :=.+++++++++++++#+++++++#+.=.
         .= =============#%+=====+%%+:- --:======%%+:- --:=====+%%*:=================..===============%%#.=.=:-============+%======*%%--:
         --::::::-======+##-::::-*##-=-.+.:::::-###-=:.=.::::::###-::::::-+*+=::::::-#=====:::::-====*##+--:= :::::-=======##-::::-###:=.
         =.:.....+*****###*.....:###:=.:=......:###:=.:=......:##:.....-#######:.....+#=+#+.....=#######.=:-=:.....=########=.....=##+--
        :=            =#= .     =##=--.=:.     +##=-- =:.     +#+     -###+.-+-.     =##...     *##:====-..=:.          .*- .    .*##.=:
        =::++++++++++++##:=++++=*##.=:.+ =++++=*##:=:.+.=++++=*#=++++++##=-=-+.-++++==##. +++++=##*.+.    := +++++++++++=##++++++=##*.=
       .=.------++++++*#*.-----=*#*:+===:-----=##*:+===.-----=##=-----+##.+++.------=*## ------=##=-+==-:.=-:-----======+##=-----+##=--
       -=:------+++++++*=------=++=:::. ------=++-:::. ------*##=-------*. .--------###= ------##*. ----.=+.------########*------##*.=.
       =:-------------+#*-------------##-------------##------###.-----------------=%### :------##*-------*.:------##*.===::-----=##+.=
      .+.-------------*#+------------=*+-------------*+-----+##*:=.-------------=*###*..------*##=------=*#=-----*##=--.=:------*##-=-
      .=:*************#***************#*********************#**:===-:**+====+*#****+:-+.+*****#**..=--=**********#**:=. -.+*****#**.+.
       :=:-#############- +#############.+#############.+#####*.=. :==.-########+:.==..=-.*#####+:+-:#####-..*#####+:-  .=-.*#####=:-
         :-====================================================-      :===----===-.     .-======-:.:==:::-=--=======:     .-======-:
    


..............   .....................................................................................                ..............   ..............   ....................................
.....::::::::::.......::::::::::.....::::::::::.....:::::::::::.:::::::.:::::::....::::::.....:::::::::....           ......:::::::::........:::::::::........:::::::::......::::::....:::::....
......         .:-:::..         .:--:.         .:--.          :=:     .--.     .---.     :--:..         :-::..         ......        .:-::::..         :-::::..         .--:.      .--:     .--:..
.....            .-=:.            .-=-          .=+:          .+=.    .-*:       :+:     .+=.             .--:..       ....             :=-.             :=-.             .==.      .-+.     :+=:...
..:.     ...     .=+.     ...     .=+.          .=-.          -*-.    .*+.       .-.    .-*:     ....     :=-:..      ....     ...     .-*:     ....    .-*-     ....     :+-        .-.    .=+=:..
..:.     .*#=-----=+-     .*#:     :*=            ..          .*+.     -*:               .*+.     =-:.....:++-:..     ...:.     .::..:*#**=.     =#=.    .++.     -%+.     =*.               :++-:..
..:......-*+=---===-......-#=......=*:........................-#-......*+................-*-.....:-.......:+=:..      .................=*+:.....:#*:.....-*-......**:.....:*=................=+=:..
..::::::::*+=-:::::-:::::::+*-::::::#=::::::.:::::::::::.::::::+*::::::-*-::::::::::::::::++::::::-::::::::++-:..      ...:::::::::::::::+=::::::=#=::::::+*::::::=*=::::::+*-::::::::::::::::++-:......................
..:------+#=--------------=#+------+*=------=-----------------=*-------**------:----------#=-----=##------=*=-...     ...::-=++*%#------=*=-----=**-------#=------*#-------#+------:---------=*=-:::::..::::::...:::::....
...-++++++++++++++=+=++++++++++++++=#++++++++++++++++++++++++++**=++++++#=+++++=*=+++++++=**++++++++++++++=++-:..      ..:++++++++++++++=*+++++++++++++++=**=+++++++++++++++*=+++++=*=+++++++=*+++++++--=+++++---+++++=-::..
..::+###########*=*+=+###########*=**+#####+#+*######*+#*#####+*+#####**+*####*+#+*#####*+*+=*##########*=++=:...      ..:=###########*=+*+=###########*++*+=*###########++*=*####**#+*#####*+*+#####=++*####*+++####*=+-:..
...:-=########*=*+=---=########*=**+-*####*+*+*######+*+*####*++*#####+*=#####+*+=+#####*++==-*########+**+-:...       ..:-=*########=**+=---*########=**+=---*########++*+=+#####+*+=*#####**=*####*=++#####++=#####*+=-:..
...:--=++++++==--::::--==+++++==--::--=====---==+++===--======--===+===--======----==++==-:::-==++++++==-::...         ..::-==++++++==-::.::-==++++++==-::.::-==++++++==--::-=====----==++===--=======-===+===--======-:...
.....:::::::::........:::::::::......:::::...:::::::...::::::...:::::...:::::.....:::::......:::::::::.....           .....:::::::::........:::::::::.........::::::::......:::::.....::::::..::::::...:::::...:::::.....
.............    ............   ......................................................   ............                 .............     ............     ............  ............................................

  

                            **++*#######*#%@%%@@@@%####%%%#####%%@%%%@%#***#%###@@@@@@@@@@@@@@@@@@@@@*=-=*##############%#########
                            %%%%#####*++*#%%%%#%%##%@@@%#####%#*##%%%#########*#@@@@%@@@@@@@@@@@@@@@@#*+*##########*##%%##*##%%%%%
                            @@@@@@@%%#%%@%%@@%%%#%@@@%%#%%@%%%%%###**+#%%%#**##%@@@@%@@@@@@@@@@@@@@@@%***###############%#####%%%%
                            @@@@@@%###%%%@@@#*#%@@@@%%%%####*******+==+##%%%##*%@@@@@@@@@@@@@@@@@@@@@*+**########%%%%####%%####%%%
                            @%####*==+***##*++#%%%%%####*++#####*++=::++***#+++%%@@@@@@@@@@@@@@@@@@@#++###**#*#########**####%%%@@
                            %#%%%##++##*+***#%@@@@@@@@%#***#***#****#####**#***##@@@@@@@@@@@@@@@@@@@*==*#***+**#%%%%%%#***###%%##%
                            *****####%%#######%@@@@@@%#######*++*############%###@@@@@%@@@@@@@@@@@%@#++###*#####**####**+*#%######
                            ******###%%%%%%%######%%%*+*%%####*+***+*****####**##%@@@@@@@@@@@@@@@%%@%*+*########**#**####%%%%%%%%#
                            *********#%%@@@@@%#######%##%##*****#*++*##**+++*+++%@@@%@@@@@@@@@@@%++***#%####%##%##%%%#**#####%%%%%
                            *********####%@@@@%%####*******##%####****##%####*++#@@@%%@@@@@@@@@@#==+*#%%%%##**##%%#%%%############
                            %##**++******#%@@@@@%%####*###*#%##*#%%#***##%%%#***#%@@@@@@@@@@@@@@@@@%##%##%#****#######***#########
                            *%%#*+++*+**###%@@@@@@@%%%%%%%####%%##%%%%%#%%%%#*+##%@@@@@@@@@@@@@@@@@#*#%%###*****######**********##
                            ++##*++++++*####%@@@@@@@@%#####***######%%%%%%%%%+====#@@@@@@@@@@@@%%@%#**##%%%######*****++**###*+++*
                            +++*+******++**##%@@@###@@%%%#**++**####**##%#+--=--:::::-=%@@@@@@@@@@%#*+***####%%%#***##**#####***++
                            +++*###****++++**#%%@%#***##*###*++*###*+++=-:-=+=============-+@@@@@@@%%@%#***##%%%%%##***###%%%#***+
                            *+==#%@@@@@%%###***#%%%@%#*+++#%##**#****========----:::::-----===+%@@%**##%%%#*##%%%%%%#**########%%#
                            @@%##@@@@@@@@@%###*###%%@@@%#**###%%%%#+====-==-:::............:::--=%%*++**##########%#**####**#%##%%
                            %%@#*#@%###%@@@@%%%@@@@%%@%%#####%%@@%++++=====--::...............:::-##*******###***#%%%%*##%#**#%###
                            #%#+==%@%%###%@@@@@@@@%%%%#*+**##%%%%=+*+=+======---::---:::::...:..::-***########***######*#%%%######
                            %#*===*##%%%#*#%%%%%@@@%%@%#*#####%%#+*#%@@@@@@@@@@@@@@@@@@@@@@@*==-:::+#%%%#####%%#*###**#%##########
                            #%%#**#*+++##%%#**#*########%%###%%%#**#@@@@@@@@@@@%***@@@@@@@@@@@@@%+=*############**#%%#%###********
                            %%#*==*#******%#*#########**###*#%%%#%@@@@@@@@@@@@%*+=+%@@@@@@@@@@@%#+%%%##+-:-+%@@@%#####**#%%#*#%@@%
                            %%#+==*%%%%##*****%%@@@@%####***#%@@@@@@@@@@@@@@@@#+==-#@@@@@@@@@@%%%@@@%%%*-:-+####%%%%%%%%%@%##%%%##
                            #%#*++*%@@@%%##***#%%@@@@@@@@%*++%%@%#@@@@@@@@@@@@#+++-+@@@@@@@@@@@@%####*#%%%%%%#*****#%%%*#%%#%%##**
                            ****+=+*#%##**+***#@@%%%%%%%%@%##%%%%%%#%%%%%%@@@@#=*%+@@@@@@@@@@@@%#**%%#%%%###%####****##++*#******#
                            *##+==+*#%#%##%%%%@@@%######*###**#%%%#**#%#%%@@%@#:-+=#@@@@@@@@@@@@%#%%%##%%#####**++++*****+==+*###*
                            +*****##%@@@%########****#%#****+++*%%##%##*##%%@@#::. =@@@@@@@@@@%++*##%###%%%%%###**++****###*######
                            ==+++#%%%%@%######%%%######**++****%%########*=+#@*-.  =@@@@@@@@@@%*+*%%%%%%###%%%%%#***###**#%%%##*++
                            -===--=#%#***#%#%%%##**##*+++=--+*#%%###%%@@%***@@*-   :@@@@@@@@@@%%##*======+*%%%%%%***#*#######%%*+*
                            --=-::-=#%%######%%%#*###***+=--=*#%#####%@@@%#@@@*:   .@@@@@@@@@@%%##+-::=***######%###*+*###****++*#
                            +==-::-==++#%%%%%@@%######%%##***#@@%##*#%%%@%%@@@*:   :@@@@@@@@@%##%##*++*************##*++*###**++**
                            ##*+====--=*%@@@%%%%##**##########%%##%%%%@@@@@@@@*:.  :@@@@@@@@%#########***+++**++++*#%#**#%%%#%#***
                            %####*+=====*#@@%%%%########%%##%%%%%%%%@@@@@@@@@@+    :@@@@@@@@%#########%#**++***+++**#####****##***
                            %%%###%##*+===+*#%%%%%%%%%%@@@%%@@@@@@%%%%@@@@@@@@+    :@@@@@@@@@%##%%##**##*++++++++++***+*###*****##
                            %%%%%%%%%%%#*+==+*%@@@@%%@@@@%%%@@@@@%%%@@@@@@@@@@+     @@@@@@@@%%%%%@%%%%%####*******++**++*##*++****
                            *#%%%%%%%%%%%%#*+++*%%%%%%%%@%##@%%%%%@@@@@@@@@@@@*     @@@@%%@@%#*#%%%#%%%##%%#*+===++*#*****#*+*#*+*
                            ==+**########%%%%#***#%@%%%%@%##@%%%@@@%%%%%@%%%@@+     %@@#*#%@@#=+*##**#%##%%***%%*++##**##%%%%**+++
                            ======++======+++++++#%@@@@@%##%%@@@@@%####%%%@@@@=     *####%@@@@####**#%@%#%%%%%%@%##*****####+++*##
                            ========----------==*%@@%%@%#*##%%%%%###*+*#%%%%%%-     ++*%%@@@@@%%%%%###%@@%###*********++==++++**##
                            =======---  .----=+#%%%%%%%%#*#%%%%##*#*+=+#######-    .%%%%%%%%%###%%%#**##%%%###***######*+--=++++++
                            +=====----..--==+#%%%%%%###***#***####**####*####*:    .##*####**#####%%#%%%%###%%***###%%%#=--===+=-:
                            #+====------==+%@@@@@%%%%##*###****###*##%%####%%#:    :#**+**###%#######%@@@%**#%#***++==+++**++=====
                            @%+===-----==*@@@@@@@@%%%%%#*+=+++*###########**##:    -#****#%%@%#%%%%#####%###%%#*++=--+***+**+=====
                            @@%*+=---=+*##%@@@@@@@@@%*+++++==+*%%%##****###**+.    =+==+*#%%%%#**###%%#***++***####***#*+++=---===
                            @@@@*+==+#@@@@@@@@@@@@@%%#*#%#+=+*#%%%%###*****#*=     *#+++*****+===*#*****#*+==+####*+=+*****+======
                            @@@@@#**@@@@@@@@@@@@@@%%%%%%#*++*##%%%%%#**#%#***=     *%%%%%%@@%#+=+***+++#%#***#*#%#+=-=*++++++=+*+=
                            @@@@@@@@@@@@@@@@@@@@%%%%%%@%*++*####%%%%###%%#***-     *#####%@@@@@@@%#++++++=--+++*#%#**###*+*=--=+**
                            @@@@@@@@@@@@@@@@@@@@%%@@%%%#++***##########%%%%%#:    .##*#%@@%%#*+*#%#+=====+*+==+**+++++######++**+*
                            @@@@@@@@@@@@@@@@%%@@%%@@@@@#**###%%%%%%###%%%##%#:    :####%#*+++==*%@%*======++=-=+======++***#%%####
                            @@@@@@@@@@@@@@@@%%%%%%%##%%*+####%%%%%##*##%@%%%*..   =####*+=+***#%@@@@%*+++**+===---=+***++***##%%%@
                            @@@%%%%@@@@@@@@@%%%%%%%###*+*#%##%%#+++*######%#=.....*##%%%#####%%@%*++++==+*##*+===+*#**####*###**##
                            %%@@%%%@@@@@@@@@@@#**#@%%**+#%@@%####**#***####%=.....###***#%%@%@@%#***+++++#%%#*++*###*****+===+++*#
                            @@@@@@@@@@@@@@@@@%#++#%%*++*#%@@%##%%%######**##+:. .:*%@%#####%%%%@@@%#***+++****#**+#%@%%%#+==+===-=
                            @@@@@@@@@@@@@@@@@@%####*++*%@%%####%%%**#%##*#%%*-. .:+*#%%%###%%####*+++###*+++*####***%%#%@#+=-===-=
                            @@@@@@@%+=------=+*##%#***%@@@%%%@%####**%%####%*--..:***#%%###%%#*+**+++++*##++*#********==+*+=--===+
                            @@@@@@*--:::::------======+*#####%%##########**#*=--::*##%@%%####**#%%%%*++*##*#####*+***+=---=+=====+
                            @@@@@@=::....:::---------=========+++****#######*=--:.*%%%@@@%%%#***##%%#***+++***#*******+=--====---+
                            @@@@@@=::.....:::::---------============+*####%%*=-:..#%%%%%@@@@@%%#+=+#%###*+++++*###**#%#*++++====-=
                            @@@@@%=::::...::::---::--------=====---====+*#%#*=-: .*#*#%%%%%#%%%%+=+######**%#**###**#%#+=+++++*+==
                            @@@@@*=-::::::::::::::-----------=-===--=====++++=-:.:***#%@@%**##%%#*#%%#***##%%***######*+======++**
                            @@@@@*=--:::::::::-::-=-------------------=====++==:.:****##%##**######%%#*+*#%%%%%#*#%####*+--+*+=+*#
                            @@@@@*=----:-:-:::---==--------------------===++*==..:*##*####%%##**#%@@@%****#####*+*##*##%#+==+#**##
                            @@@@@*+=---:--------==+====-------=-------====+++--:.:==+####%%%%%%%%@@@@##**+**++**++****%%#*+=+*+=+*
                            @@@@@%+===----------=+*+========-=====-----====++--:::----=+#@@@%%%%%%#####%%**==-*#**#%**#**++++*++**
                            @@@@@@%++=-----=====++*+++==+=============-===+*+=-:::::.:---==+#%%%@@@%%%%%%%#*=+****#%#*+===+*#*++*#
                            @@@@@@@#++=========+++*#*+++=+=====++++======++**+=-:::....:::----=+%@@@%%##%%%%%#######%*==+**##%*+##
                            @@@@@@@@#*+++++==+++++*%#***++++++++++++===+++**++=-::-::.....::::-=*++****+*%@@@%####*##*++*****#%%%*
                            @@@@@@@@@%****++*******#%%#******+*+++++++++++*#*+==----::.......:::-=+=+++++#@@@@#**#%%#*+++*=--+%%*=
                            @@@@@@@@@@%##********##%%@%%##**********+++===-------===--::.....::::--=++++*%@@@@%*#%%%#*##*#**+*#%%%
                            @@@@@@@@@@@@@%%#######%%@@@@@%#**+++*+++=-::::--::::::::-=--::...::::---=++**#%@%%%%%%%##*######****%@
                            @@@@@@@@@@@@@@@@@@@%@@@@@@#**+++=====----=-------:::::::::----::::::::--=+***#%%*+=+*#%%%%%%%#*####**#
                            @@@@@@@@@@@@@@@@@@@@@@#*++++====-----==+===----:::::::::....:--:::--:----=+=++%%*=--+#%@%%#####%%#**##
                            @@@@@@@@@@@@@@@@@@%*++++====-------=+===-----:::::............:----------=+===*%%*==*#%%@%#+*****=+#**
                            @@@@@@@@@@@@@@@#*++++========----=+==------::::.................-==---====+++**#%@%####%%#**#*+**++**#