---------------------------------------------------------------------- ---------------------------------------------------------------------- ------1---------------2----------2--------------4--------------------- ---------------------------------------------------------------------- ------------------0---------0---------1-2---2-------2----------------- -----------0--------0----------2--------------------------------------