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