----------st--------
--fl------------fr--
-------amf----------
---------------mc---
----------dm--------
--dl---dc--dc--dr--