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