a a a a b b a b b a a c a c d d d e e f f e f f e g g e