f f f f ff f f f f f f f f f f v v c v v c xc x cx v v v c c c v dc c x x c d d d d d d sd d d c c c sd d