'########::'####:'##::: ##::::'###::::'########::'##:::'##:
##.... ##:. ##:: ###:: ##:::'## ##::: ##.... ##:. ##:'##::
##:::: ##:: ##:: ####: ##::'##:. ##:: ##:::: ##::. ####:::
########::: ##:: ## ## ##:'##:::. ##: ########::::. ##::::
##.... ##:: ##:: ##. ####: #########: ##.. ##:::::: ##::::
##:::: ##:: ##:: ##:. ###: ##.... ##: ##::. ##::::: ##::::
########::'####: ##::. ##: ##:::: ##: ##:::. ##:::: ##::::
........:::....::..::::..::..:::::..::..:::::..:::::..:::::

'########:'########:'########:::'#######:::::
..... ##:: ##.....:: ##.... ##:'##.... ##::::
:::: ##::: ##::::::: ##:::: ##: ##:::: ##::::
::: ##:::: ######::: ########:: ##:::: ##::::
:: ##::::: ##...:::: ##.. ##::: ##:::: ##::::
: ##:::::: ##::::::: ##::. ##:: ##:::: ##::::
########: ########: ##:::. ##:. #######:::::
........::........::..:::::..:::.......::::::

:'######::'########:'########::'##::::'##:'########:'########::
'##... ##: ##.....:: ##.... ##: ##:::: ##: ##.....:: ##.... ##:
##:::..:: ##::::::: ##:::: ##: ##:::: ##: ##::::::: ##:::: ##:
. ######:: ######::: ########:: ##:::: ##: ######::: ########::
:..... ##: ##...:::: ##.. ##:::. ##:: ##:: ##...:::: ##.. ##:::
'##::: ##: ##::::::: ##::. ##:::. ## ##::: ##::::::: ##::. ##::
. ######:: ########: ##:::. ##:::. ###:::: ########: ##:::. ##:
:......:::........::..:::::..:::::...:::::........::..:::::..::