----------------------------------------------------
----------------------------------------------------
-----3-3---3-3------2-2--2-2-----2-2----2-2---------
---5-----5-----5--3-----3----3-0------0-----1-------
----------------------------------------------------
----------------------------------------------------