import java.io.*;
import java.util.Scanner;

public class P4 {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(new File("DATA4.txt"));
		PrintWriter out = new PrintWriter(new File("OUT4.txt"));

		while (sc.hasNext()) {
			char[][] forest = new char[10][10];
			String[] input = new String[10];
			for (int i = 0; i < 10; i++)
				input[i] = sc.nextLine();
			sc.nextLine();
			for (int i = 0; i < 10; i++)
				for (int j = 0; j < 10; j++)
					forest[i][j] = input[i].charAt(j);

			int t = 0;
			char[][] future = deepCopy(forest);
			boolean trees = setFuture(future);
			/*
			 * for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++)
			 * System.out.print(forest[i][j]); System.out.println(); }
			 * System.out.println("--------------"); //
			 */
			
			while (trees) {
				t++;
				/*
				 * System.out.println("TIME IS " + t); for (int i = 0; i < 10;
				 * i++) { for (int j = 0; j < 10; j++)
				 * System.out.print(future[i][j]); System.out.println(); }
				 * System.out.println("--------------"); //
				 */
				if (equal(forest, future)) {
					t = -2;
					break;
				}
				forest = deepCopy(future);
				trees = setFuture(future);
			}
			out.println(t + 1);
		}
		out.close();
	}

	static char[][] deepCopy(char[][] a) {
		char[][] r = new char[10][10];
		for (int i = 0; i < 10; i++)
			for (int j = 0; j < 10; j++)
				r[i][j] = a[i][j];
		return r;
	}

	static boolean setFuture(char[][] forest) {
		int trees = 0;
		char[][] copy = new char[10][10];
		for (int i = 0; i < 10; i++)
			for (int j = 0; j < 10; j++)
				if (forest[i][j] == 'F') {
					copy[i][j] = 'F';
					if (i > 0)
						if (forest[i - 1][j] == 'T')
							copy[i - 1][j] = 'F';
					if (i < 9)
						if (forest[i + 1][j] == 'T')
							copy[i + 1][j] = 'F';
					if (j > 0)
						if (forest[i][j - 1] == 'T')
							copy[i][j - 1] = 'F';
					if (j < 9)
						if (forest[i][j + 1] == 'T')
							copy[i][j + 1] = 'F';
				} else if (forest[i][j] == '.')
					copy[i][j] = '.';
		for (int i = 0; i < 10; i++)
			for (int j = 0; j < 10; j++) {
				if (copy[i][j] != 'F' && copy[i][j] != '.') {
					copy[i][j] = 'T';
					trees++;
				}
				forest[i][j] = copy[i][j];
			}
		return trees > 0;
	}

	static boolean equal(char[][] a, char[][] b) {
		for (int i = 0; i < 10; i++)
			for (int j = 0; j < 10; j++)
				if (a[i][j] != b[i][j])
					return false;
		return true;
	}

}

