Go: package main

import (
	"bufio"
	"os"
	"strings"
	"strconv"
	"reflect"
	"fmt"
)

var scanner = bufio.NewScanner(os.Stdin)

func scanBoard() [][]int {
	ret := make([][]int, 8)
	for k := range ret {
		ret[k] = make([]int, 8)
		for l := range ret[k] {
			ret[k][l] = 0
		}
	}
	for i := 0; i < 8; i++ {
		scanner.Scan()
		row := strings.Split(scanner.Text(), "")
		for j := 0; j < 8; j++ {
			ret[i][j], _ = strconv.Atoi(row[j])
		}
	}
	return ret
}

func main() {
	for {
		var board [][]int
		var ans string
		if board = scanBoard(); reflect.DeepEqual(board, [][]int{}) {
			break
		}
		fmt.Println(board)
		for i := 0; i < 7; i++ {
			for j := 0; j < 7; j++ {
				if board[i][j] == 1 && board[i+1][j] == 1 && board[i][j+1] == 1 && board[i+1][j+1] == 1 {
					ans = "A"
				}
			}
		}
		for i := 0; i < 5; i++ {
			for j := 0; j < 8; j++ {
				if board[i][j] == 1 && board[i+1][j] == 1 && board[i+2][j] == 1 && board[i+3][j] == 1 {
					ans = "B"
				}
			}
		}
		for i := 0; i < 8; i++ {
			for j := 0; j < 5; j++ {
				if board[i][j] == 1 && board[i][j+1] == 1 && board[i][j+2] == 1 && board[i][j+3] == 1 {
					ans = "C"
				}
			}
		}
		for i := 0; i < 6; i++ {
			for j := 0; j < 7; j++ {
				if board[i][j+1] == 1 && board[i+1][j] == 1 && board[i+1][j+1] == 1 && board[i+2][j] == 1 {
					ans = "D"
				}
			}
		}
		for i := 0; i < 7; i++ {
			for j := 0; j < 6; j++ {
				if board[i][j] == 1 && board[i][j+1] == 1 && board[i+1][j+1] == 1 && board[i+1][j+2] == 1 {
					ans = "E"
				}
			}
		}
		for i := 0; i < 7; i++ {
			for j := 0; j < 6; j++ {
				if board[i][j+1] == 1 && board[i][j+2] == 1 && board[i+1][j] == 1 && board[i+1][j+1] == 1 {
					ans = "G"
				}
			}
		}
		for i := 0; i < 6; i++ {
			for j := 0; j < 7; j++ {
				if board[i][j] == 1 && board[i+1][j] == 1 && board[i+1][j+1] == 1 && board[i+2][j+1] == 1 {
					ans = "F"
				}
			}
		}
		fmt.Println(ans)
	}
}

Python: while True:
	try:
		x=[[int(i) for i in input()] for j in range(8)]
		count=0
		num=[]
		for i in range(8):
			if x[i].count(1)!=0:
				num.append(i)
				count+=1
		if count==1:
			print("C")
		elif count==4:
			print("B")
		elif count==2:
			for j in range(8):
				if x[num[0]][j]==1:
					if j==0:
						if x[num[0]+1][j]==1:
							print("A")
						else:
							print("E")
					else:
						if x[num[0]+1][j-1]==1:
							print("G")
						else:
							if x[num[0]+1][j]==1:
								print("A")
							else:
								print("E")
					break
		else:
			for j in range(8):
				if x[num[0]][j]==1:
					if j==0:
						print("F")
					else:
						if x[num[0]+1][j-1]==1:
							print("D")
						else:
							print("F")
					break
		input()
	except EOFError:
		break

Python: import sys
f = sys.stdin

figures = {'A':['11','11'],
'B':['1','1','1','1'],
'C':['1111'],
'D':['01','11','10'],
'E':['110','011'],
'F':['10','11','01'],
'G':['011','110']}

def figure_in_board(figure, board):
    for i in range(len(board)):
        index = board[i].find(figure[0])
        if index != -1 and i + len(figure) <= len(board):
            for j in range(1, len(figure)):
                if index != board[i + j].find(figure[j]):
                    return False
            return True
    return False

while True:
    board = [f.readline().strip() for _ in range(8)]
    for k, v in figures.items():
        if figure_in_board(v, board):
            print(k)
            break
    
    if f.readline() == '':
        break

Python: while 1:
    try:
        n=[]
        for i in range(8):
            s=input()
            n_s=[]
            for j in s:
                n_s.append(int(j))
            for j in range(3):n_s.append(0)
            n.append(n_s)
        n_s=[0]*11
        for i in range(3):
            n.append(n_s)    
        for i in range(64):
            if n[i//8][i%8]==1:
                break
        p_x=i//8
        p_y=i%8
        if n[p_x][p_y]+n[p_x][p_y+1]+n[p_x+1][p_y]+n[p_x+1][p_y+1]==4:print("A")
        elif n[p_x][p_y]+n[p_x+1][p_y]+n[p_x+2][p_y]+n[p_x+3][p_y]==4:print("B")
        elif n[p_x][p_y]+n[p_x][p_y+1]+n[p_x][p_y+2]+n[p_x][p_y+3]==4:print("C")
        elif n[p_x][p_y]+n[p_x][p_y+1]+n[p_x+1][p_y+1]+n[p_x+1][p_y+2]==4:print("E")
        elif n[p_x][p_y]+n[p_x+1][p_y]+n[p_x+1][p_y+1]+n[p_x+2][p_y+1]==4:print("F")
        else:
            if n[p_x][p_y]+n[p_x+1][p_y-1]+n[p_x+1][p_y]+n[p_x+2][p_y-1]==4:print("D")
            elif n[p_x][p_y]+n[p_x][p_y+1]+n[p_x+1][p_y-1]+n[p_x+1][p_y]==4:print("G")
        s=input()
    except:break

Python: import sys

while True:
	sur = []

	for _ in range(8):
		sur.append(list(map(int, input().strip())))
		if 1 not in sur[-1]:
			sur.pop()

	if len(sur) == 1:
		print("C")
	elif len(sur) == 2:
		if sur[0].index(1) == sur[1].index(1):
			print("A")
		elif sur[0].index(1) < sur[1].index(1):
			print("E")
		else:
			print("G")
	elif len(sur) == 3:
		if sur[0].index(1) > sur[2].index(1):
			print("D")
		else:
			print("F")
	elif len(sur) == 4:
		print("B")

	try:
		line = input()
	except:
		break

Python: while True:
    try:
        cnt = 0
        for i in range(8):
            inp = input()
            if cnt == 1:
                if inp.count("1") == 1:
                    print("B")
                elif inp.index("1") == ind:
                    print("F")
                else:
                    print("D")
                cnt = -1
            elif cnt == 2:
                if inp.index("1") == ind:
                    print("A")
                elif inp.index("1") == ind + 1:
                    print("E")
                else:
                    print("G")
                cnt = -1
            elif cnt == 4:
                print("C")
                cnt = -1
            elif "1" in inp:
                ind = inp.index("1")
                cnt = inp.count("1")
        inp = input()
    except:
        break

Python: import sys
l=[t for t in sys.stdin]
i=0
while 1:
    pt=[i.find("1") for i in l[9*i:9*(i+1)] if i.find("1")!=-1]
    if not pt:break
    if len(pt)==1:print("C")
    elif len(pt)==2 and pt[0]==pt[1]:print("A")
    elif len(pt)==2 and pt[0]<pt[1]:print("E")
    elif len(pt)==2 and pr[0]>pt[1]:print("G")
    elif len(pt)==3 and pt[0]>pt[1]:print("D")
    elif len(pt)==3 and pt[0]<pt[1]:print("F")
    else: print("B")
    i+=1

Python: while True:
    lst = []
    try:
        for i in range(8):
            lst += list(map(int, input().split()))

        cnt = 0
        for i in range(len(lst)):
            if lst[i]:
                cnt += i
        cnt -= lst.index(1) * 4
    
        if cnt == 18:
            ans = "A"
        elif cnt == 48:
            ans = "B"
        elif cnt == 6:
            ans = "C"
        elif cnt == 34:
            ans = "D"
        elif cnt == 20:
            ans = "E"
        elif cnt == 34:
            ans = "F"
        else:
            ans = "G"
    
        print(ans)
    except:
        break

Python: while True : 
    try :
        temp = input()
        if temp == '00000000' or temp == '' : pass
        else :
            if '1111' in temp : print('C')
            else : 
                onetwo, place = temp.count('1'), temp.index('1')
                temp = input()
                if onetwo == 1 :
                    if temp.count('1') == 1 :
                        print('B')
                        input(),input()
                    elif temp.index('1') == place : print('F')
                    else : print('D')
                elif onetwo == 2 :
                    if temp.index('1') == place : print('A')
                    elif temp.index('1') == place + 1 : print('E')
                    else : print('G')
    except : break