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