--------------------------------------------------------------------1-----1------1--------1---------------0----------------------------01 
----------------------0-----------------------------------------------------------0-----------0-----------1----------------------------01 
-------------------------------------------------------------------------------------------------------------------0-------------------01 
--1------------------------------------------------------------------0-----------------------------------------------------------------01 
-----------------0-------0----------------------------------------10-------------------------------------------0---0--------------------- 
------------------------------------------------------------------------0-------------0-------------------------------------------------- 
------------------------------------------------------------------------0-----------------------------------------------------------01--- 
----------------------------------------------------------------------------------------------------------------------------------------- 
--------------------------------2-------232-------2------------------------------------03---2--2-----------------2---2--------2-2---2---- 
----------------------------------------------------------------------------------------------------------------------------------------- 
