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