import java.io.*;
import java.util.*;

public class prob5 {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new FileReader("DATA5.txt"));
		PrintWriter pw = new PrintWriter(new FileWriter("OUT5.txt"));

		int[] dirx = {1,0,0,-1,0,0};
		int[] diry = {0,1,0,0,-1,0};
		int[] dirz = {0,0,1,0,0,-1};

		LinkedList qx = new LinkedList();
		LinkedList qy = new LinkedList();
		LinkedList qz = new LinkedList();
		LinkedList qv = new LinkedList();

		for(int t=0;t<5;t++){
			int n = Integer.parseInt(br.readLine());
			boolean[][][] maze = new boolean[n+2][n+2][n+2];
			int[][][] value = new int[n+2][n+2][n+2];

			for(int i=0;i<n+2;i++) for(int j=0;j<n+2;j++) for(int k=0;k<n+2;k++) value[i][j][k] = 10000000;
			int ax =0, ay=0, az = 0;
			int bx=0, by=0, bz = 0;

			for(int i=0;i<n*n;i++){
				String str = br.readLine();
				for(int j=1;j<=n;j++){
					if(str.charAt(j-1)=='.') maze[i/n+1][i%n+1][j] = true;
					else if(str.charAt(j-1)=='A'){
						maze[i/n+1][i%n+1][j] = true;
						ax = (i/n)+1;
						ay = (i%n)+1;
						az = j;
					}else if(str.charAt(j-1)=='B'){
						maze[(i/n)+1][(i%n)+1][j] = true;
						bx = (i/n)+1;
						by = (i%n)+1;
						bz = j;
					}
				}
			}


			qx.addLast(new Integer(ax));
			qy.addLast(new Integer(ay));
			qz.addLast(new Integer(az));
			qv.addLast(new Integer(0));

			while(qx.size()>0){
				int cx = ((Integer)(qx.removeFirst())).intValue();
				int cy = ((Integer)(qy.removeFirst())).intValue();
				int cz = ((Integer)(qz.removeFirst())).intValue();
				int cv = ((Integer)(qv.removeFirst())).intValue();

				value[cx][cy][cz] = cv;

					for(int d=0;d<6;d++){
						if(maze[cx+dirx[d]][cy+diry[d]][cz+dirz[d]]&&value[cx+dirx[d]][cy+diry[d]][cz+dirz[d]]>cv+1){
							qx.addLast(new Integer(cx+dirx[d]));
							qy.addLast(new Integer(cy+diry[d]));
							qz.addLast(new Integer(cz+dirz[d]));
							qv.addLast(new Integer(cv+1));
						}
					}




			}

			pw.println(value[bx][by][bz]);

		}

		pw.close();
	}

}

