CABCBBABBDBAAACBDDABDAABCABBDBDCABCCAADADCDCDB