aefbaddfcfaaabbaaceaaccdbbcecdfaedfbccdbbedcbacdeeebbbfcefafaebfefcccacdedecabbcdcebdbbcdfddfbebcca