:::: ::: ::: :::: :::: ::::::::::: ::: ::: ::: ::: ::: :::: ::: ::: ::::::::: :::::::::::
:+:+: :+: :+: :+: +:+:+: :+:+:+ :+: :+: :+: :+: :+: :+: :+: :+:+: :+: :+: :+: :+: :+: :+:
:+:+:+ +:+ +:+ +:+ +:+ +:+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+ +:+ +:+
+#+ +:+ +#+ +#++:++#++: +#+ +:+ +#+ +#+ +#++:++#++: +#++: +#+ +:+ +#+ +:+ +#+ +#++:++#++: +#++:++#+ +#+
+#+ +#+#+# +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+#+# +#+ +#+ +#+ +#+
#+# #+#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+#+#+# #+# #+#+# #+# #+# #+# #+#
### #### ### ### ### ### ### ### ### ### ### ### ### #### ### ### ### ###########