import java.util.*;
import java.io.*;
import java.awt.Point;
import java.util.regex.*;
import java.math.*;
import java.text.*;

public class _3 {
    static int[] DX = {1,0,0,-1};
    static int[] DY = {0,1,-1,0};
    static char[][] arcGrid = new char[10][10];

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        Scanner fin = new Scanner(new FileReader("DATA3.txt"));
        PrintWriter fout = new PrintWriter(new FileWriter("OUT3.txt"));

        
        while(fin.hasNext()){
            Point start = null;
            for(int x=0;x<10;x++) {
                String sLine = fin.nextLine();
                for(int y=0;y<10;y++) {
                    arcGrid[x][y] = sLine.charAt(y);
                    if(arcGrid[x][y] == 'A') start = new Point(x,y);
                }
            }
            fin.nextLine();
            
            fout.println(BFS(start));
        }

        fout.close();
        fin.close();
    }

    static int BFS(Point start) {

        int nCount = 1;

        Queue<Point> q = new LinkedList<Point>();

        q.add(start);

        while(!q.isEmpty()) {
            Point next = q.remove();
            for(int nDir=0;nDir<4;nDir++) {
                try {
                    Point around = new Point(next.x+DX[nDir],next.y+DY[nDir]);
                    if(arcGrid[around.x][around.y] == '#') {
                        arcGrid[around.x][around.y] = '.';
                        nCount++;
                        q.add(around);
                    }
                } catch (Exception ex) {
                }
            }
        }
        return nCount;
    }
}

