#include<iostream>
#include<iomanip>
using namespace std;
int row[8]={};
bool cul[8]={};
bool m[16]={};
bool f[16]={};
void p(int* c){
cout<<setw(2)<<right<<*c+1<<" ";
for(int i=0;i<8;i++){
cout<<row[i]+1<<" ";
}
(*c)++;
cout<<endl;
}
void solve(int n,int mm,int* c){
if(n==8){
p(c);
return;
}else if(n==mm){
solve(n+1,mm,c);
return;
}else{
for(int i=0;i<8;i++){
if(cul[i]||m[n-i-1+8]||f[i+n]){
continue;
}
row[n]=i;
cul[i]=m[n-i+8-1]=f[i+n]=true;
solve(n+1,mm,c);
cul[i]=m[n-i+8-1]=f[i+n]=false;
}
}
return;
}
int main(){
int n;
cin>>n;
int ar,ac,c=0;
while(cin>>ar>>ac){
cout<<"SOLN COLUMN"<<endl;
cout<<" # 1 2 3 4 5 6 7 8"<<endl;
row[ar-1]=ac-1;
cul[ac-1]=true;
m[ar-1-(ac-1)+8-1]=true;
f[ar-1+(ac-1)]=true;
solve(0,ar-1,&c);
cout<<endl;
}
}