acdccadbddbadcdbdaaadacbcccacbbdcdabbbbddbcbccdbabccacdbbacccdccccccaaadcabaaabbaadacbbddbacbcbcccbb