aefbaddfcfaaabbaaceaaccdbbcecdfaedfbccdbbedcbacdeeebbbfcefafaebfefcccacdedecabbcdcebdbbcdfddfbebccabebadfaeccccedeceeebcfeccddebdcaabbefbbaecdaedcfdbafabbbafaeaedabafdebdcedbcfefdefcefceedffedbcfddbe