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