B D H A C G F E D H F G E C B A F B E H A D G C G A D C H F E B H C B F G E A D E F C D B A H G C G A E F B D H A E G B D H C F