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