#include <iostream>
#include <cmath>
#include <algorithm>
#include <ctime>
#include <string>
#include <vector>
#include <sstream>
#include <stack>

using namespace std;

typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int,int> ii;
#define sz(a) int((a).size())
#define pb push_back
#define all(c) (c).begin(),(c).end()
#define tr(c,i) \
    for(typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define present(c,x) ((c).find(x) != (c).end())
#define cpresent(c,x) (find(all(c),x) != (c).end())
#define fi first
#define se second

void wait(int sec)
{
    clock_t start = clock();
    while(clock() - start < sec*CLOCKS_PER_SEC){}
}

char grid[12][12];
bool used[12][12];
int Ax, Ay;
void input()
{
    for (int i = 0; i < 12; i++){
        grid[i][0] = '.';
        grid[0][i] = '.';
        grid[i][11] = '.';
        grid[11][i] = '.';
    }

    for (int i = 1; i < 11; i++){
        for (int j = 1; j < 11; j++){
            cin >> grid[i][j];
            if (grid[i][j] == 'A'){
                Ax = i;
                Ay = j;
            }
            used[i][j] = false;
        }
    }
/*
    for (int i = 0; i < 12; i++){
        for (int j = 0; j < 12; j++){
            cout << grid[i][j];
        }
        cout << endl;
    }
*/
}

int ff( int x, int y, int total )
{
    int dx[] = {1, -1, 0, 0};
    int dy[] = {0, 0, 1, -1};
    used[x][y] = true;
    for (int i = 0; i < 4; i++){
        if ( grid[x+dx[i]][y+dy[i]] == '#' && !used[x+dx[i]][y+dy[i]] ){
            ++total;
            total += ff( x+dx[i], y+dy[i], 0 );
        }
    }
    return total;
}

int main()
{
    freopen("DATA3.txt", "r", stdin);
    freopen("OUT3.txt", "w", stdout);
    for (int i = 0; i < 5; i++){
        input();
        cout << ff(Ax, Ay, 1) << endl;
    }

    return 0;
}

