GHGGHHDEDEFFFGFEFECDDEFECDDDEEABBCDCDEDABBBCBBCCAABCCBCCAA