a b a b a b a b c c c d d d d d d d d d d