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