__________ad88888888888888888888888a,
________a88888"8888888888888888888888,
______,8888"__"P88888888888888888888b,
______d88_________`""P88888888888888888,
_____,8888b_______________""88888888888888,
_____d8P'''__,aa,______________""888888888b
_____888bbdd888888ba,__,I_________"88888888,
_____8888888888888888ba8"_________,88888888b
____,888888888888888888b,________,8888888888
____(88888888888888888888,______,88888888888,
____d888888888888888888888,____,8___"8888888b
____88888888888888888888888__.;8'"""__(888888
____8888888888888I"8888888P_,8"_,aaa,__888888
____888888888888I:8888888"_,8"__`b8d'__(88888
____(8888888888I'888888P'_,8)__________88888
_____88888888I"__8888P'__,8")__________88888