#include<iostream>
#include<string>

using namespace std;

#define ROW 8
#define COLUMN 8

void get_ans( string *matrix_str , char& ans );

int main(void)
{
	int matrix[ROW][COLUMN];
	string matrix_str[COLUMN];
	char c;

	while(1)
	{
		char ans = '0';
		int flag = 0; // 二重ループ脱出用
		for( int i = 0 ; i < COLUMN ; i++ )
		{
			cin >> matrix_str[i];
			if( cin.eof() )
			{
				flag = 1;
				break;
			}
		}
		if( flag == 1 )
		{
			break;
		}
		get_ans( matrix_str , ans );
		cout << ans << endl;
	}

	return 0;
}

void get_ans( string *matrix_str , char& ans )
{
	for( int i = 0 ; i < ROW ; i++ )
	{
		for( int j = 0 ; j < COLUMN ; j++ )
		{
			if( matrix_str[i].at(j) == '1' &&
				matrix_str[i].at(j+1) == '1' &&
				matrix_str[i+1].at(j) == '1' &&
				matrix_str[i+1].at(j+1) == '1' )
			{
				ans = 'A';
			}

			if( matrix_str[i].at(j) == '1' &&
				matrix_str[i+1].at(j) == '1' &&
				matrix_str[i+2].at(j) == '1' &&
				matrix_str[i+3].at(j) == '1' )
			{
				ans = 'B';
			}

			if( matrix_str[i].at(j) == '1' &&
				matrix_str[i].at(j+1) == '1' &&
				matrix_str[i].at(j+2) == '1' &&
				matrix_str[i].at(j+3) == '1' )
			{
				ans = 'C';
			}

			if( matrix_str[i].at(j) == '1' &&
				matrix_str[i+1].at(j-1) == '1' &&
				matrix_str[i+1].at(j) == '1' &&
				matrix_str[i+2].at(j-1) == '1' )
			{
				ans = 'D';
			}

			if( matrix_str[i].at(j) == '1' &&
				matrix_str[i].at(j+1) == '1' &&
				matrix_str[i+1].at(j+1) == '1' &&
				matrix_str[i+1].at(j+2) == '1' )
			{
				ans = 'E';
			}

			if( matrix_str[i].at(j) == '1' &&
				matrix_str[i+1].at(j) == '1' &&
				matrix_str[i+1].at(j+1) == '1' &&
				matrix_str[i+2].at(j+1) == '1' )
			{
				ans = 'F';
			}

			if( matrix_str[i].at(j) == '1' &&
				matrix_str[i].at(j+1) == '1' &&
				matrix_str[i+1].at(j-1) == '1' &&
				matrix_str[i+1].at(j) == '1' )
			{
				ans = 'G';
			}
		}
	}
	return;
}