----------------------------------------------------------------------------------|-----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---------------------------------------------------------|---------------------------------------------------------------------------------|