----------------------------------------------------------------------------------|
-----2---------------------2------------------------------------------------------|
-------2--------0--2-----2----2---------0---2-------------------------------------|
-------------2--------0--------------2--------------------------------------------|
----------0-----------------------0-----------------------------------------------|
----------------------------------------------------------------------------------|
--------------------------------------------------------------------------------------|
--------------------------------------------------------------------------------------|
----2-------0----------2--------0-----------------------------------------------------|
-------2-------0-----------2--------0-------------------------------------------------|
-------------------0--------------------0---------------------------------------------|
--------------------------------------------------------------------------------------|
---------------------------------------------------------------------------------|
------2^-------------------2^----------------------------------------------------|
-----------0--------------------0------------------------------------------------|
---------------4--------------------4--------------------------------------------|
--0--------------------0---------------------------------------------------------|
---------------------------------------------------------------------------------|
|