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

----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
-0--2---4--5--7---5--7--8--7--5--0--0---2--3--2--0--------------
-------------------------------------------------------------0--0
-----------------------------------------------------------------