/------------------------------/
/----------------------5-5-5---/
/----3-3-3-4-4-4-5-5-5---------/
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3