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