-1----1----3---0----1-----3---5---5---6---5---3---1----3----1---0---1-|
----------------------------------------------------------------------|
----------------------------------------------------------------------|
----------------------------------------------------------------------|
----------------------------------------------------------------------|
----------------------------------------------------------------------|
---5----5----5----5----3----1---3---3---3---3---1---0---3---1---0---1-|
----------------------------------------------------------------------|
----------------------------------------------------------------------|
----------------------------------------------------------------------|
----------------------------------------------------------------------|
----------------------------------------------------------------------|
--3---5---6---3----0----1--------------------------------------------|
---------------------------------------------------------------------|
---------------------------------------------------------------------|
---------------------------------------------------------------------|
---------------------------------------------------------------------|
---------------------------------------------------------------------|
|