--------------------------------------------------------------------------- ---------------------------------1---1--1---------------------------------- -----2--2---0-----------2--2---2----2--2-2----0--------------2--2-0-------- ---3---3-----3-0-------3--3----------------3----3-0--------3---3-----3----- -3---------------3---3------------------------------3----3----------------- ---------------------------------------------------------------------------