-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
----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------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------