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