-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
--O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O----
-O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O---
O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O---O--
-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-O-----O-
------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O-------O
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------