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