acdccadadcbadcdbdaaadacbcdcacbbdcdabbbbddbcbccdbabccccdbbacccdccccacaaddcabaaabbbadacbbddaccccbcccbb