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