aadbcdcdabababdddadacdccadccabacbcbaaccccadcbcaabaaaccbaaccdaabccabcbcbbdacdbdaaabbbccbabdcadacccbadbddddccabbbdcaadcbbdbddbadbccdbdddaccbdcacacbcadbabacbcddcbcbabadadabdabcdabbddabaaabdbdddcccadcbcaa