#include #include #include #include #include #include #include #include #include #include #define ll long long #define mod 1000000007ll #define N 100009 #define inf 1000000000ll; using namespace std; typedef pair II; int dx[]={0,0,-1,-1,1,1}, dy[]={-1,1,0,-1,0,1}; int n; char s[100][100]; int d[100][100][1<<4],in[100][100][1<<4]; queue Q; int get(char c){ if(c=='.') return 0; return 1<<(c-'A'); } void update(int x,int y,int z,int v){ if(d[x][y][z]==-1||d[x][y][z]>v){ d[x][y][z]=v; if(!in[x][y][z]) in[x][y][z]=1,Q.push(x*1600+y*16+z); } } int main(){ while(scanf("%d",&n),n) { memset(s,0,sizeof(s)); memset(d,-1,sizeof(d)); memset(in,0,sizeof(in)); while(!Q.empty()) Q.pop(); char c; for(int i=1;i<=n;i++) for(int j=1;j