-------0-------------3--3/5-3------2--2-3-2-0--------------------------| -------0-------------0-------------3--------1--------------------------| -------0-------------0-------------2--------2--------------------------| -------2----2-3-2----0-------------0--------2--------------------------| -------2----------3--2-------------0--------0--------------------------| -0-2-3-0-------------3-------------0--------0--------------------------| -Intro-