defdfdfcddccbfafbcceedcdcffacadacefeafffceecdeeaeddadfedaccbbeecbdaabdadbdcffeccdcfeaafedebbcaebdcb