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