fast -------------------------------------------------------------------------| --3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-4-4-4-4-4-4-4-4-2-2-2-2-2-2-2-2-2-2-2-2--| -3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3-3---| -------------------------------------------------------------------------| -------------------------------------------------------------------------| -------------------------------------------------------------------------|