--------------0-0-0-2-------------------5-4-2-0-------------------0-0-0-2-------------------0-------- ------0-3-2-0---------2-3-0-0-0-3-2-0-----------3-2-0-----0-3-2-0---------2-3-0-0-0-3-2-0-----0-2---- --3-3---------------------------------3---------------3-3---------------------------------3-------3-- -----------------------------------------------------------------------------------------------------