#include<bits/stdc++.h>
#define MAX 300000000
using namespace std;
int s,cnt,u[20],M[20][20];
void dfs(int sum)
{
cnt++;
if(cnt>MAX) puts("No solution"),exit(0);
if(sum==55)
{
for(int i=1;i<=10;i++)
{
for(int j=1;j<=i;j++) putchar(M[i][j]+64);
putchar('\n');
}
exit(0);
}
for(int x=1;x<=10;x++)
{
for(int y=1;y<=x;y++)
{
if(M[x][y]!=-1) continue;
if(M[x+1][y]==-1&&M[x][y+1]==-1&&u[1])
{
M[x][y]=M[x+1][y]=M[x][y+1]=1;
u[1]=0;
dfs(sum+3);
u[1]=1;
M[x][y]=M[x+1][y]=M[x][y+1]=-1;
}
if(M[x-1][y]==-1&&M[x][y+1]==-1&&u[1])
{
M[x][y]=M[x-1][y]=M[x][y+1]=1;
u[1]=0;
dfs(sum+3);
u[1]=1;
M[x][y]=M[x-1][y]=M[x][y+1]=-1;
}
if(M[x+1][y]==-1&&M[x][y-1]==-1&&u[1])
{
M[x][y]=M[x+1][y]=M[x][y-1]=1;
u[1]=0;
dfs(sum+3);
u[1]=1;
M[x][y]=M[x+1][y]=M[x][y-1]=-1;
}
if(M[x-1][y]==-1&&M[x][y-1]==-1&&u[1])
{
M[x][y]=M[x-1][y]=M[x][y-1]=1;
u[1]=0;
dfs(sum+3);
u[1]=1;
M[x][y]=M[x-1][y]=M[x][y-1]=-1;
}
if(M[x+1][y]==-1&&M[x+2][y]==-1&&M[x+3][y]==-1&&u[2])
{
M[x][y]=M[x+1][y]=M[x+2][y]=M[x+3][y]=2;
u[2]=0;
dfs(sum+4);
u[2]=1;
M[x][y]=M[x+1][y]=M[x+2][y]=M[x+3][y]=-1;
}
if(M[x][y+1]==-1&&M[x][y+2]==-1&&M[x][y+3]==-1&&u[2])
{
M[x][y]=M[x][y+1]=M[x][y+2]=M[x][y+3]=2;
u[2]=0;
dfs(sum+4);
u[2]=1;
M[x][y]=M[x][y+1]=M[x][y+2]=M[x][y+3]=-1;
}
if(M[x+1][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&u[3])
{
M[x][y]=M[x+1][y]=M[x][y+1]=M[x][y+2]=3;
u[3]=0;
dfs(sum+4);
u[3]=1;
M[x][y]=M[x+1][y]=M[x][y+1]=M[x][y+2]=-1;
}
if(M[x-1][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&u[3])
{
M[x][y]=M[x-1][y]=M[x][y+1]=M[x][y+2]=3;
u[3]=0;
dfs(sum+4);
u[3]=1;
M[x][y]=M[x-1][y]=M[x][y+1]=M[x][y+2]=-1;
}
if(M[x+1][y]==-1&&M[x][y-1]==-1&&M[x][y-2]==-1&&u[3])
{
M[x][y]=M[x+1][y]=M[x][y-1]=M[x][y-2]=3;
u[3]=0;
dfs(sum+4);
u[3]=1;
M[x][y]=M[x+1][y]=M[x][y-1]=M[x][y-2]=-1;
}
if(M[x-1][y]==-1&&M[x][y-1]==-1&&M[x][y-2]==-1&&u[3])
{
M[x][y]=M[x-1][y]=M[x][y-1]=M[x][y-2]=3;
u[3]=0;
dfs(sum+4);
u[3]=1;
M[x][y]=M[x-1][y]=M[x][y-1]=M[x][y-2]=-1;
}
if(M[x+1][y]==-1&&M[x+2][y]==-1&&M[x][y+1]==-1&&u[3])
{
M[x][y]=M[x+1][y]=M[x+2][y]=M[x][y+1]=3;
u[3]=0;
dfs(sum+4);
u[3]=1;
M[x][y]=M[x+1][y]=M[x+2][y]=M[x][y+1]=-1;
}
if(M[x-1][y]==-1&&M[x-2][y]==-1&&M[x][y+1]==-1&&u[3])
{
M[x][y]=M[x-1][y]=M[x-2][y]=M[x][y+1]=3;
u[3]=0;
dfs(sum+4);
u[3]=1;
M[x][y]=M[x-1][y]=M[x-2][y]=M[x][y+1]=-1;
}
if(M[x-1][y]==-1&&M[x-2][y]==-1&&M[x][y-1]==-1&&u[3])
{
M[x][y]=M[x-1][y]=M[x-2][y]=M[x][y-1]=3;
u[3]=0;
dfs(sum+4);
u[3]=1;
M[x][y]=M[x-1][y]=M[x-2][y]=M[x][y-1]=-1;
}
if(M[x+1][y]==-1&&M[x+2][y]==-1&&M[x][y-1]==-1&&u[3])
{
M[x][y]=M[x+1][y]=M[x+2][y]=M[x][y-1]=3;
u[3]=0;
dfs(sum+4);
u[3]=1;
M[x][y]=M[x+1][y]=M[x+2][y]=M[x][y-1]=-1;
}
if(M[x+1][y]==-1&&M[x][y+1]==-1&&M[x+1][y+1]==-1&&u[4])
{
M[x][y]=M[x+1][y]=M[x][y+1]=M[x+1][y+1]=4;
u[4]=0;
dfs(sum+4);
u[4]=1;
M[x][y]=M[x+1][y]=M[x][y+1]=M[x+1][y+1]=-1;
}
if(M[x+1][y]==-1&&M[x+2][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&u[5])
{
M[x][y]=M[x+1][y]=M[x+2][y]=M[x][y+1]=M[x][y+2]=5;
u[5]=0;
dfs(sum+5);
u[5]=1;
M[x][y]=M[x+1][y]=M[x+2][y]=M[x][y+1]=M[x][y+2]=-1;
}
if(M[x-1][y]==-1&&M[x-2][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&u[5])
{
M[x][y]=M[x-1][y]=M[x-2][y]=M[x][y+1]=M[x][y+2]=5;
u[5]=0;
dfs(sum+5);
u[5]=1;
M[x][y]=M[x-1][y]=M[x-2][y]=M[x][y+1]=M[x][y+2]=-1;
}
if(M[x+1][y]==-1&&M[x+2][y]==-1&&M[x][y-1]==-1&&M[x][y-2]==-1&&u[5])
{
M[x][y]=M[x+1][y]=M[x+2][y]=M[x][y-1]=M[x][y-2]=5;
u[5]=0;
dfs(sum+5);
u[5]=1;
M[x][y]=M[x+1][y]=M[x+2][y]=M[x][y-1]=M[x][y-2]=-1;
}
if(M[x-1][y]==-1&&M[x-2][y]==-1&&M[x][y-1]==-1&&M[x][y-2]==-1&&u[5])
{
M[x][y]=M[x-1][y]=M[x-2][y]=M[x][y-1]=M[x][y-2]=5;
u[5]=0;
dfs(sum+5);
u[5]=1;
M[x][y]=M[x-1][y]=M[x-2][y]=M[x][y-1]=M[x][y-2]=-1;
}
if(M[x][y+1]==-1&&M[x+1][y+1]==-1&&M[x][y+2]==-1&&M[x][y+3]==-1&&u[6])
{
M[x][y]=M[x][y+1]=M[x+1][y+1]=M[x][y+2]=M[x][y+3]=6;
u[6]=0;
dfs(sum+5);
u[6]=1;
M[x][y]=M[x][y+1]=M[x+1][y+1]=M[x][y+2]=M[x][y+3]=-1;
}
if(M[x][y+1]==-1&&M[x-1][y+1]==-1&&M[x][y+2]==-1&&M[x][y+3]==-1&&u[6])
{
M[x][y]=M[x][y+1]=M[x-1][y+1]=M[x][y+2]=M[x][y+3]=6;
u[6]=0;
dfs(sum+5);
u[6]=1;
M[x][y]=M[x][y+1]=M[x-1][y+1]=M[x][y+2]=M[x][y+3]=-1;
}
if(M[x][y-1]==-1&&M[x+1][y-1]==-1&&M[x][y-2]==-1&&M[x][y-3]==-1&&u[6])
{
M[x][y]=M[x][y-1]=M[x+1][y-1]=M[x][y-2]=M[x][y-3]=6;
u[6]=0;
dfs(sum+5);
u[6]=1;
M[x][y]=M[x][y-1]=M[x+1][y-1]=M[x][y-2]=M[x][y-3]=-1;
}
if(M[x][y-1]==-1&&M[x-1][y-1]==-1&&M[x][y-2]==-1&&M[x][y-3]==-1&&u[6])
{
M[x][y]=M[x][y-1]=M[x-1][y-1]=M[x][y-2]=M[x][y-3]=6;
u[6]=0;
dfs(sum+5);
u[6]=1;
M[x][y]=M[x][y-1]=M[x-1][y-1]=M[x][y-2]=M[x][y-3]=-1;
}
if(M[x+1][y]==-1&&M[x+1][y+1]==-1&&M[x+2][y]==-1&&M[x+3][y]==-1&&u[6])
{
M[x][y]=M[x+1][y]=M[x+1][y+1]=M[x+2][y]=M[x+3][y]=6;
u[6]=0;
dfs(sum+5);
u[6]=1;
M[x][y]=M[x+1][y]=M[x+1][y+1]=M[x+2][y]=M[x+3][y]=-1;
}
if(M[x+1][y]==-1&&M[x+1][y-1]==-1&&M[x+2][y]==-1&&M[x+3][y]==-1&&u[6])
{
M[x][y]=M[x+1][y]=M[x+1][y-1]=M[x+2][y]=M[x+3][y]=6;
u[6]=0;
dfs(sum+5);
u[6]=1;
M[x][y]=M[x+1][y]=M[x+1][y-1]=M[x+2][y]=M[x+3][y]=-1;
}
if(M[x-1][y]==-1&&M[x-1][y+1]==-1&&M[x-2][y]==-1&&M[x-3][y]==-1&&u[6])
{
M[x][y]=M[x-1][y]=M[x-1][y+1]=M[x-2][y]=M[x-3][y]=6;
u[6]=0;
dfs(sum+5);
u[6]=1;
M[x][y]=M[x-1][y]=M[x-1][y+1]=M[x-2][y]=M[x-3][y]=-1;
}
if(M[x-1][y]==-1&&M[x-1][y-1]==-1&&M[x-2][y]==-1&&M[x-3][y]==-1&&u[6])
{
M[x][y]=M[x-1][y]=M[x-1][y-1]=M[x-2][y]=M[x-3][y]=6;
u[6]=0;
dfs(sum+5);
u[6]=1;
M[x][y]=M[x-1][y]=M[x-1][y-1]=M[x-2][y]=M[x-3][y]=-1;
}
if(M[x+1][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&M[x+1][y+2]==-1&&u[7])
{
M[x][y]=M[x+1][y]=M[x][y+1]=M[x][y+2]=M[x+1][y+2]=7;
u[7]=0;
dfs(sum+5);
u[7]=1;
M[x][y]=M[x+1][y]=M[x][y+1]=M[x][y+2]=M[x+1][y+2]=-1;
}
if(M[x-1][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&M[x-1][y+2]==-1&&u[7])
{
M[x][y]=M[x-1][y]=M[x][y+1]=M[x][y+2]=M[x-1][y+2]=7;
u[7]=0;
dfs(sum+5);
u[7]=1;
M[x][y]=M[x-1][y]=M[x][y+1]=M[x][y+2]=M[x-1][y+2]=-1;
}
if(M[x+1][y]==-1&&M[x][y-1]==-1&&M[x][y-2]==-1&&M[x+1][y-2]==-1&&u[7])
{
M[x][y]=M[x+1][y]=M[x][y-1]=M[x][y-2]=M[x+1][y-2]=7;
u[7]=0;
dfs(sum+5);
u[7]=1;
M[x][y]=M[x+1][y]=M[x][y-1]=M[x][y-2]=M[x+1][y-2]=-1;
}
if(M[x-1][y]==-1&&M[x][y-1]==-1&&M[x][y-2]==-1&&M[x-1][y-2]==-1&&u[7])
{
M[x][y]=M[x-1][y]=M[x][y-1]=M[x][y-2]=M[x-1][y-2]=7;
u[7]=0;
dfs(sum+5);
u[7]=1;
M[x][y]=M[x-1][y]=M[x][y-1]=M[x][y-2]=M[x-1][y-2]=-1;
}
if(M[x+1][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&M[x+1][y+1]==-1&&u[8])
{
M[x][y]=M[x+1][y]=M[x][y+1]=M[x][y+2]=M[x+1][y+1]=8;
u[8]=0;
dfs(sum+5);
u[8]=1;
M[x][y]=M[x+1][y]=M[x][y+1]=M[x][y+2]=M[x+1][y+1]=-1;
}
if(M[x-1][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&M[x-1][y+1]==-1&&u[8])
{
M[x][y]=M[x-1][y]=M[x][y+1]=M[x][y+2]=M[x-1][y+1]=8;
u[8]=0;
dfs(sum+5);
u[8]=1;
M[x][y]=M[x-1][y]=M[x][y+1]=M[x][y+2]=M[x-1][y+1]=-1;
}
if(M[x+1][y]==-1&&M[x][y-1]==-1&&M[x][y-2]==-1&&M[x+1][y-1]==-1&&u[8])
{
M[x][y]=M[x+1][y]=M[x][y-1]=M[x][y-2]=M[x+1][y-1]=8;
u[8]=0;
dfs(sum+5);
u[8]=1;
M[x][y]=M[x+1][y]=M[x][y-1]=M[x][y-2]=M[x+1][y-1]=-1;
}
if(M[x-1][y]==-1&&M[x][y-1]==-1&&M[x][y-2]==-1&&M[x-1][y-1]==-1&&u[8])
{
M[x][y]=M[x-1][y]=M[x][y-1]=M[x][y-2]=M[x-1][y-1]=8;
u[8]=0;
dfs(sum+5);
u[8]=1;
M[x][y]=M[x-1][y]=M[x][y-1]=M[x][y-2]=M[x-1][y-1]=-1;
}
if(M[x][y+1]==-1&&M[x+1][y]==-1&&M[x+2][y]==-1&&M[x+1][y+1]==-1&&u[8])
{
M[x][y]=M[x][y+1]=M[x+1][y]=M[x+2][y]=M[x+1][y+1]=8;
u[8]=0;
dfs(sum+5);
u[8]=1;
M[x][y]=M[x][y+1]=M[x+1][y]=M[x+2][y]=M[x+1][y+1]=-1;
}
if(M[x][y-1]==-1&&M[x+1][y]==-1&&M[x+2][y]==-1&&M[x+1][y-1]==-1&&u[8])
{
M[x][y]=M[x][y-1]=M[x+1][y]=M[x+2][y]=M[x+1][y-1]=8;
u[8]=0;
dfs(sum+5);
u[8]=1;
M[x][y]=M[x][y-1]=M[x+1][y]=M[x+2][y]=M[x+1][y-1]=-1;
}
if(M[x][y+1]==-1&&M[x-1][y]==-1&&M[x-2][y]==-1&&M[x-1][y+1]==-1&&u[8])
{
M[x][y]=M[x][y+1]=M[x-1][y]=M[x-2][y]=M[x-1][y+1]=8;
u[8]=0;
dfs(sum+5);
u[8]=1;
M[x][y]=M[x][y+1]=M[x-1][y]=M[x-2][y]=M[x-1][y+1]=-1;
}
if(M[x][y-1]==-1&&M[x-1][y]==-1&&M[x-2][y]==-1&&M[x-1][y-1]==-1&&u[8])
{
M[x][y]=M[x][y-1]=M[x-1][y]=M[x-2][y]=M[x-1][y-1]=8;
u[8]=0;
dfs(sum+5);
u[8]=1;
M[x][y]=M[x][y-1]=M[x-1][y]=M[x-2][y]=M[x-1][y-1]=-1;
}
if(M[x][y+1]==-1&&M[x][y+2]==-1&&M[x+1][y+2]==-1&&M[x+1][y+3]==-1&&u[9])
{
M[x][y]=M[x][y+1]=M[x][y+2]=M[x+1][y+2]=M[x+1][y+3]=9;
u[9]=0;
dfs(sum+5);
u[9]=1;
M[x][y]=M[x][y+1]=M[x][y+2]=M[x+1][y+2]=M[x+1][y+3]=-1;
}
if(M[x][y-1]==-1&&M[x][y-2]==-1&&M[x+1][y-2]==-1&&M[x+1][y-3]==-1&&u[9])
{
M[x][y]=M[x][y-1]=M[x][y-2]=M[x+1][y-2]=M[x+1][y-3]=9;
u[9]=0;
dfs(sum+5);
u[9]=1;
M[x][y]=M[x][y-1]=M[x][y-2]=M[x+1][y-2]=M[x+1][y-3]=-1;
}
if(M[x][y+1]==-1&&M[x][y+2]==-1&&M[x-1][y+2]==-1&&M[x-1][y+3]==-1&&u[9])
{
M[x][y]=M[x][y+1]=M[x][y+2]=M[x-1][y+2]=M[x-1][y+3]=9;
u[9]=0;
dfs(sum+5);
u[9]=1;
M[x][y]=M[x][y+1]=M[x][y+2]=M[x-1][y+2]=M[x-1][y+3]=-1;
}
if(M[x][y-1]==-1&&M[x][y-2]==-1&&M[x-1][y-2]==-1&&M[x-1][y-3]==-1&&u[9])
{
M[x][y]=M[x][y-1]=M[x][y-2]=M[x-1][y-2]=M[x-1][y-3]=9;
u[9]=0;
dfs(sum+5);
u[9]=1;
M[x][y]=M[x][y-1]=M[x][y-2]=M[x-1][y-2]=M[x-1][y-3]=-1;
}
if(M[x+1][y]==-1&&M[x+2][y]==-1&&M[x+2][y+1]==-1&&M[x+3][y+1]==-1&&u[9])
{
M[x][y]=M[x+1][y]=M[x+2][y]=M[x+2][y+1]=M[x+3][y+1]=9;
u[9]=0;
dfs(sum+5);
u[9]=1;
M[x][y]=M[x+1][y]=M[x+2][y]=M[x+2][y+1]=M[x+3][y+1]=-1;
}
if(M[x-1][y]==-1&&M[x-2][y]==-1&&M[x-2][y+1]==-1&&M[x-3][y+1]==-1&&u[9])
{
M[x][y]=M[x-1][y]=M[x-2][y]=M[x-2][y+1]=M[x-3][y+1]=9;
u[9]=0;
dfs(sum+5);
u[9]=1;
M[x][y]=M[x-1][y]=M[x-2][y]=M[x-2][y+1]=M[x-3][y+1]=-1;
}
if(M[x+1][y]==-1&&M[x+2][y]==-1&&M[x+2][y-1]==-1&&M[x+3][y-1]==-1&&u[9])
{
M[x][y]=M[x+1][y]=M[x+2][y]=M[x+2][y-1]=M[x+3][y-1]=9;
u[9]=0;
dfs(sum+5);
u[9]=1;
M[x][y]=M[x+1][y]=M[x+2][y]=M[x+2][y-1]=M[x+3][y-1]=-1;
}
if(M[x-1][y]==-1&&M[x-2][y]==-1&&M[x-2][y-1]==-1&&M[x-3][y-1]==-1&&u[9])
{
M[x][y]=M[x-1][y]=M[x-2][y]=M[x-2][y-1]=M[x-3][y-1]=9;
u[9]=0;
dfs(sum+5);
u[9]=1;
M[x][y]=M[x-1][y]=M[x-2][y]=M[x-2][y-1]=M[x-3][y-1]=-1;
}
if(M[x-1][y]==-1&&M[x][y-1]==-1&&M[x+1][y]==-1&&M[x][y+1]==-1&&u[10])
{
M[x][y]=M[x-1][y]=M[x][y-1]=M[x+1][y]=M[x][y+1]=10;
u[10]=0;
dfs(sum+5);
u[10]=1;
M[x][y]=M[x-1][y]=M[x][y-1]=M[x+1][y]=M[x][y+1]=-1;
}
if(M[x+1][y]==-1&&M[x+1][y+1]==-1&&M[x+2][y+1]==-1&&M[x+2][y+2]==-1&&u[11])
{
M[x][y]=M[x+1][y]=M[x+1][y+1]=M[x+2][y+1]=M[x+2][y+2]=11;
u[11]=0;
dfs(sum+5);
u[11]=1;
M[x][y]=M[x+1][y]=M[x+1][y+1]=M[x+2][y+1]=M[x+2][y+2]=-1;
}
if(M[x-1][y]==-1&&M[x-1][y+1]==-1&&M[x-2][y+1]==-1&&M[x-2][y+2]==-1&&u[11])
{
M[x][y]=M[x-1][y]=M[x-1][y+1]=M[x-2][y+1]=M[x-2][y+2]=11;
u[11]=0;
dfs(sum+5);
u[11]=1;
M[x][y]=M[x-1][y]=M[x-1][y+1]=M[x-2][y+1]=M[x-2][y+2]=-1;
}
if(M[x+1][y]==-1&&M[x+1][y-1]==-1&&M[x+2][y-1]==-1&&M[x+2][y-2]==-1&&u[11])
{
M[x][y]=M[x+1][y]=M[x+1][y-1]=M[x+2][y-1]=M[x+2][y-2]=11;
u[11]=0;
dfs(sum+5);
u[11]=1;
M[x][y]=M[x+1][y]=M[x+1][y-1]=M[x+2][y-1]=M[x+2][y-2]=-1;
}
if(M[x-1][y]==-1&&M[x-1][y-1]==-1&&M[x-2][y-1]==-1&&M[x-2][y-2]==-1&&u[11])
{
M[x][y]=M[x-1][y]=M[x-1][y-1]=M[x-2][y-1]=M[x-2][y-2]=11;
u[11]=0;
dfs(sum+5);
u[11]=1;
M[x][y]=M[x-1][y]=M[x-1][y-1]=M[x-2][y-1]=M[x-2][y-2]=-1;
}
if(M[x][y+1]==-1&&M[x+1][y+1]==-1&&M[x+1][y+2]==-1&&M[x+2][y+2]==-1&&u[11])
{
M[x][y]=M[x][y+1]=M[x+1][y+1]=M[x+1][y+2]=M[x+2][y+2]=11;
u[11]=0;
dfs(sum+5);
u[11]=1;
M[x][y]=M[x][y+1]=M[x+1][y+1]=M[x+1][y+2]=M[x+2][y+2]=-1;
}
if(M[x][y-1]==-1&&M[x+1][y-1]==-1&&M[x+1][y-2]==-1&&M[x+2][y-2]==-1&&u[11])
{
M[x][y]=M[x][y-1]=M[x+1][y-1]=M[x+1][y-2]=M[x+2][y-2]=11;
u[11]=0;
dfs(sum+5);
u[11]=1;
M[x][y]=M[x][y-1]=M[x+1][y-1]=M[x+1][y-2]=M[x+2][y-2]=-1;
}
if(M[x][y+1]==-1&&M[x-1][y+1]==-1&&M[x-1][y+2]==-1&&M[x-2][y+2]==-1&&u[11])
{
M[x][y]=M[x][y+1]=M[x-1][y+1]=M[x-1][y+2]=M[x-2][y+2]=11;
u[11]=0;
dfs(sum+5);
u[11]=1;
M[x][y]=M[x][y+1]=M[x-1][y+1]=M[x-1][y+2]=M[x-2][y+2]=-1;
}
if(M[x][y-1]==-1&&M[x-1][y-1]==-1&&M[x-1][y-2]==-1&&M[x-2][y-2]==-1&&u[11])
{
M[x][y]=M[x][y-1]=M[x-1][y-1]=M[x-1][y-2]=M[x-2][y-2]=11;
u[11]=0;
dfs(sum+5);
u[11]=1;
M[x][y]=M[x][y-1]=M[x-1][y-1]=M[x-1][y-2]=M[x-2][y-2]=-1;
}
if(M[x+1][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&M[x][y+3]==-1&&u[12])
{
M[x][y]=M[x+1][y]=M[x][y+1]=M[x][y+2]=M[x][y+3]=12;
u[12]=0;
dfs(sum+5);
u[12]=1;
M[x][y]=M[x+1][y]=M[x][y+1]=M[x][y+2]=M[x][y+3]=-1;
}
if(M[x-1][y]==-1&&M[x][y+1]==-1&&M[x][y+2]==-1&&M[x][y+3]==-1&&u[12])
{
M[x][y]=M[x-1][y]=M[x][y+1]=M[x][y+2]=M[x][y+3]=12;
u[12]=0;
dfs(sum+5);
u[12]=1;
M[x][y]=M[x-1][y]=M[x][y+1]=M[x][y+2]=M[x][y+3]=-1;
}
if(M[x][y+1]==-1&&M[x+1][y]==-1&&M[x+2][y]==-1&&M[x+3][y]==-1&&u[12])
{
M[x][y]=M[x][y+1]=M[x+1][y]=M[x+2][y]=M[x+3][y]=12;
u[12]=0;
dfs(sum+5);
u[12]=1;
M[x][y]=M[x][y+1]=M[x+1][y]=M[x+2][y]=M[x+3][y]=-1;
}
if(M[x][y-1]==-1&&M[x+1][y]==-1&&M[x+2][y]==-1&&M[x+3][y]==-1&&u[12])
{
M[x][y]=M[x][y-1]=M[x+1][y]=M[x+2][y]=M[x+3][y]=12;
u[12]=0;
dfs(sum+5);
u[12]=1;
M[x][y]=M[x][y-1]=M[x+1][y]=M[x+2][y]=M[x+3][y]=-1;
}
}
}
}
int main()
{
u[1]=u[2]=u[3]=u[4]=u[5]=u[6]=u[7]=u[8]=u[9]=u[10]=u[11]=u[12]=1;
for(int i=1;i<=10;i++)
{
for(int j=1;j<=i;j++)
{
char ch; cin>>ch;
if(ch!='.') s++,u[ch-64]=0;
M[i][j]=(ch=='.'?-1:ch-64);
}
}
dfs(s);
return 0;
}