/*
Branimir Kasun
XV gimnazija
SR division
contest #3
*/
#include <iostream>
#include <string>
using namespace std;
int MAP[10][10];
int c1[2];int c2[2];
bool isOk(int i,int j){
if((i<10) and
(i>-1) and (j<10) and (j>-1) )return true;
else return
false;
}
void clearMap(){
for(int
i=0;i<10;i++)
for(int
j=0;j<10;j++) MAP[i][j]=0;
}
void plsA(int rot,int i, int j,int cen2){
if(rot==0){
if(isOk(i,j-1))MAP[i][j-1]=-1;
if(isOk(i,j+2))MAP[i][j+2]=-1;
if(isOk(i-1,j))MAP[i-1][j]=-1;
if(isOk(i+1,j))MAP[i+1][j]=-1;
if(isOk(i-1,j+1))MAP[i-1][j+1]=-1;if(isOk(i+1,j+1))MAP[i+1][j+1]=-1;
MAP[i][j]=-1;MAP[i][j+1]=-1; if(cen2==1){c1[0]=i-1;c1[1]=j-1;
c2[0]=i+1;c2[1]=j-1;}else {c1[0]=i-1;c1[1]=j+2; c2[0]=i+1;c2[1]=j+2;}}
if(rot==90){
if(isOk(i-1,j))MAP[i-1][j]=-1;if(isOk(i+2,j))MAP[i+2][j]=-1;if(isOk(i,j-1))MAP[i][j-1]=-1;if(isOk(i,j+1))MAP[i][j+1]=-1;
if(isOk(i+1,j-1))MAP[i+1][j-1]=-1;if(isOk(i+1,j+1))MAP[i+1][j+1]=-1;
MAP[i][j]=-1;MAP[i+1][j]=-1;if(cen2==1){c1[0]=i-1;c1[1]=j-1;
c2[0]=i-1;c2[1]=j+1;}else {c1[0]=i+2;c1[1]=j-1; c2[0]=i+2;c2[1]=j+1;}}
if(rot==180){
if(isOk(i,j+1))MAP[i][j+1]=-1;if(isOk(i,j-2))MAP[i][j-2]=-1;
if(isOk(i-1,j))MAP[i-1][j]=-1;if(isOk(i+1,j))MAP[i+1][j]=-1;
if(isOk(i-1,j-1))MAP[i-1][j-1]=-1;if(isOk(i+1,j-1))MAP[i+1][j-1]=-1;
MAP[i][j]=-1;MAP[i][j-1]=-1;if(cen2==1){c1[0]=i-1;c1[1]=j+1;
c2[0]=i+1;c2[1]=j+1;}else {c1[0]=i-1;c1[1]=j-2; c2[0]=i+1;c2[1]=j-2;}}
if(rot==270){
if(isOk(i-2,j))MAP[i-2][j]=-1;if(isOk(i+1,j))MAP[i+1][j]=-1;
if(isOk(i,j-1))MAP[i][j-1]=-1;if(isOk(i,j+1))MAP[i][j+1]=-1;
if(isOk(i-1,j-1))MAP[i-1][j-1]=-1;if(isOk(i-1,j+1))MAP[i-1][j+1]=-1;
MAP[i][j]=-1;MAP[i-1][j]=-1;if(cen2==1){c1[0]=i+1;c1[1]=j-1;
c2[0]=i+1;c2[1]=j+1;}else {c1[0]=i-2;c1[1]=j-1; c2[0]=i-2;c2[1]=j+1;}}
}
//----------------------------------------------------------------------------------------------------
int alsA(int rot,int i, int j){
int T[2][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0)) return
0;
if((MAP[i][j]==-1) or (MAP[i][j+1]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i+1;
T[1][1]=j;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0)) return
0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0)) return
0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1)) return 0;
else
return 1;
MAP[i][j]=-1;MAP[i][j-1]=-2;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0)) return
0;
if((MAP[T[0][0]][T[0][1]]==-1)
or (MAP[T[1][0]][T[1][1]]==-1)) return 0;
else
return 1;
MAP[i][j]=-1;MAP[i-1][j]=-2;
}
}
int alsB(int rot,int i, int j){
int T[3][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j+1;
T[2][0]=i+1;
T[2][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i+1;
T[1][1]=j;
T[2][0]=i+1;
T[2][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j-1;
T[2][0]=i-1;
T[2][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i-1;
T[2][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
MAP[i][j]=-1;MAP[i-1][j]=-2;MAP[i-1][j+1]=-3;
}
}
int alsB4(int rot,int i, int j){
int T[3][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j-1;
T[2][0]=i+1;
T[2][1]=j;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i;
T[2][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or
(MAP[T[1][0]][T[1][1]]==-1) or (MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i;
T[2][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j+1;
T[2][0]=i+1;
T[2][1]=j;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
MAP[i][j]=-1;MAP[i-1][j]=-2;MAP[i-1][j+1]=-3;
}
}
int alsB3(int rot,int i, int j){
int T[3][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i-1;
T[2][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j+1;
T[2][0]=i-1;
T[2][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or (T[2][0]>9)
or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i+1;
T[1][1]=j;
T[2][0]=i+1;
T[2][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j-1;
T[2][0]=i+1;
T[2][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1)) return 0;
else
return 1;
MAP[i][j]=-1;MAP[i-1][j]=-2;MAP[i-1][j+1]=-3;
}
}
int alsC(int rot,int i, int j){
int T[4][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i+1;
T[1][1]=j-1;
T[2][0]=i+1;
T[2][1]=j;
T[3][0]=i+1;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i+1;
T[1][1]=j-1;
T[2][0]=i;
T[2][1]=j-1;
T[3][0]=i-1;
T[3][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j-1;
T[2][0]=i-1;
T[2][1]=j;
T[3][0]=i-1;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j+1;
T[2][0]=i;
T[2][1]=j+1;
T[3][0]=i+1;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
}
int alsC3(int rot,int i, int j){
int T[4][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i;
T[2][1]=j-1;
T[3][0]=i;
T[3][1]=j+1;
if((T[0][0]>9) or
(T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0) or (T[1][0]>9) or
(T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or (T[2][0]>9) or
(T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or (T[3][0]>9) or
(T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i+1;
T[2][1]=j;
T[3][0]=i;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j-1;
T[2][0]=i;
T[2][1]=j+1;
T[3][0]=i+1;
T[3][1]=j;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i+1;
T[2][1]=j;
T[3][0]=i;
T[3][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
}
int alsC2(int rot,int i, int j){
int T[4][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j-1;
T[2][0]=i;
T[2][1]=j-1;
T[3][0]=i;
T[3][1]=j-2;
if((T[0][0]>9) or
(T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0) or (T[1][0]>9) or
(T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or (T[2][0]>9) or
(T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or (T[3][0]>9) or
(T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i-2;
T[2][1]=j;
T[3][0]=i-1;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j+1;
T[2][0]=i;
T[2][1]=j+2;
T[3][0]=i+1;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i+1;
T[1][1]=j;
T[2][0]=i+2;
T[2][1]=j;
T[3][0]=i+1;
T[3][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
}
int alsD(int rot,int i, int j){
int T[4][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i+1;
T[1][1]=j;
T[2][0]=i+1;
T[2][1]=j-1;
T[3][0]=i+2;
T[3][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j-1;
T[2][0]=i-1;
T[2][1]=j-1;
T[3][0]=i-1;
T[3][1]=j-2;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i-1;
T[2][1]=j+1;
T[3][0]=i-2;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j+1;
T[2][0]=i+1;
T[2][1]=j+1;
T[3][0]=i+1;
T[3][1]=j+2;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
}
int alsD3(int rot,int i, int j){
int T[4][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i;
T[2][1]=j-1;
T[3][0]=i+1;
T[3][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i-1;
T[2][1]=j-1;
T[3][0]=i;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j+1;
T[2][0]=i-1;
T[2][1]=j+1;
T[3][0]=i+1;
T[3][1]=j;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j-1;
T[2][0]=i+1;
T[2][1]=j;
T[3][0]=i+1;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
}
int alsD2(int rot,int i, int j){
int T[4][2];
if(rot==0){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i-1;
T[1][1]=j;
T[2][0]=i-1;
T[2][1]=j+1;
T[3][0]=i-2;
T[3][1]=j+1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==90){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j+1;
T[2][0]=i+1;
T[2][1]=j+1;
T[3][0]=i+1;
T[3][1]=j+2;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==180){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i+1;
T[1][1]=j;
T[2][0]=i+1;
T[2][1]=j-1;
T[3][0]=i+2;
T[3][1]=j-1;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else
return 1;
}
if(rot==270){
T[0][0]=i;
T[0][1]=j;
T[1][0]=i;
T[1][1]=j-1;
T[2][0]=i-1;
T[2][1]=j-1;
T[3][0]=i-1;
T[3][1]=j-2;
if((T[0][0]>9) or (T[0][0]<0) or (T[0][1]>9) or (T[0][1]<0)
or (T[1][0]>9) or (T[1][0]<0) or (T[1][1]>9) or (T[1][1]<0) or
(T[2][0]>9) or (T[2][0]<0)or (T[2][1]>9) or (T[2][1]<0) or
(T[3][0]>9) or (T[3][0]<0) or (T[3][1]>9) or (T[3][1]<0)) return 0;
if((MAP[T[0][0]][T[0][1]]==-1) or (MAP[T[1][0]][T[1][1]]==-1) or
(MAP[T[2][0]][T[2][1]]==-1) or (MAP[T[3][0]][T[3][1]]==-1)) return 0;
else return 1;
}
}
int main(void){
int rot,cen2,cen,kon,pi,pj;
for(int z=0; z<6;z++){
bool
boolc1=true;
bool
boolc2=true;
kon=0;
clearMap();
string ss1;
c1[0]=-1;c1[1]=-1;c2[0]=-1;c2[1]=-1;
cin >>
ss1>> rot>>cen2>>cen;
if(ss1[0]=='A')pi=9;
if(ss1[0]=='B')pi=8;
if(ss1[0]=='C')pi=7;
if(ss1[0]=='D')pi=6;
if(ss1[0]=='E')pi=5;
if(ss1[0]=='F')pi=4;
if(ss1[0]=='G')pi=3;
if(ss1[0]=='H')pi=2;
if(ss1[0]=='I')pi=1;
if(ss1[0]=='J')pi=0;
if(ss1[1]=='1')pj=0;
if(ss1[1]=='2')pj=1;
if(ss1[1]=='3')pj=2;
if(ss1[1]=='4')pj=3;
if(ss1[1]=='5')pj=4;
if(ss1[1]=='6')pj=5;
if(ss1[1]=='7')pj=6;
if(ss1[1]=='8')pj=7;
if(ss1[1]=='9')pj=8;
if(ss1[1]=='1' and ss1[2]=='0')pj=9;
plsA(rot, pi,
pj, cen2);
if(c1[0]<0
or c1[0]>9 or c1[1]<0 or c1[1]>9) boolc1=false;
if(c2[0]<0
or c2[0]>9 or c2[1]<0 or c2[1]>9) boolc2=false;
if(1){
if(boolc1==true){
if(cen==1){
kon+=alsA(0,c1[0],c1[1]);
kon+=alsA(90,c1[0],c1[1]);
kon+=alsA(180,c1[0],c1[1]);
kon+=alsA(270,c1[0],c1[1]);
kon+=alsB(0,c1[0],c1[1]);
kon+=alsB(90,c1[0],c1[1]);
kon+=alsB(180,c1[0],c1[1]);
kon+=alsB(270,c1[0],c1[1]);
kon+=alsC(0,c1[0],c1[1]);
kon+=alsC(90,c1[0],c1[1]);
kon+=alsC(180,c1[0],c1[1]);
kon+=alsC(270,c1[0],c1[1]);
kon+=alsD(0,c1[0],c1[1]);
kon+=alsD(90,c1[0],c1[1]);
kon+=alsD(180,c1[0],c1[1]);
kon+=alsD(270,c1[0],c1[1]);
}
if(cen==2){
kon+=alsA(0,c1[0],c1[1]);
kon+=alsA(90,c1[0],c1[1]);
kon+=alsA(180,c1[0],c1[1]);
kon+=alsA(270,c1[0],c1[1]);
kon+=alsB4(0,c1[0],c1[1]);
kon+=alsB4(90,c1[0],c1[1]);
kon+=alsB4(180,c1[0],c1[1]);
kon+=alsB4(270,c1[0],c1[1]);
/*
kon+=alsC4(0,c1[0],c1[1]);
kon+=alsC4(90,c1[0],c1[1]);
kon+=alsC4(180,c1[0],c1[1]);
kon+=alsC4(270,c1[0],c1[1]);
kon+=alsD4(0,c1[0],c1[1]);
kon+=alsD4(90,c1[0],c1[1]);
kon+=alsD4(180,c1[0],c1[1]);
kon+=alsD4(270,c1[0],c1[1]);
*/
}
if(cen==3){
kon+=alsB3(0,c1[0],c1[1]);
kon+=alsB3(90,c1[0],c1[1]);
kon+=alsB3(180,c1[0],c1[1]);
kon+=alsB3(270,c1[0],c1[1]);
kon+=alsC3(0,c1[0],c1[1]);
kon+=alsC3(90,c1[0],c1[1]);
kon+=alsC3(180,c1[0],c1[1]);
kon+=alsC3(270,c1[0],c1[1]);
kon+=alsD3(0,c1[0],c1[1]);
kon+=alsD3(90,c1[0],c1[1]);
kon+=alsD3(180,c1[0],c1[1]);
kon+=alsD3(270,c1[0],c1[1]);
}
if(cen==4){
kon+=alsC2(0,c1[0],c1[1]);
kon+=alsC2(90,c1[0],c1[1]);
kon+=alsC2(180,c1[0],c1[1]);
kon+=alsC2(270,c1[0],c1[1]);
kon+=alsD2(0,c1[0],c1[1]);
kon+=alsD2(90,c1[0],c1[1]);
kon+=alsD2(180,c1[0],c1[1]);
kon+=alsD2(270,c1[0],c1[1]);
}
}
if(boolc2==true){
if(cen==1){
kon+=alsA(0,c2[0],c2[1]);
kon+=alsA(90,c2[0],c2[1]);
kon+=alsA(180,c2[0],c2[1]);
kon+=alsA(270,c2[0],c2[1]);
kon+=alsB(0,c2[0],c2[1]);
kon+=alsB(90,c2[0],c2[1]);
kon+=alsB(180,c2[0],c2[1]);
kon+=alsB(270,c2[0],c2[1]);
kon+=alsC(0,c2[0],c2[1]);
kon+=alsC(90,c2[0],c2[1]);
kon+=alsC(180,c2[0],c2[1]);
kon+=alsC(270,c2[0],c2[1]);
kon+=alsD(0,c2[0],c2[1]);
kon+=alsD(90,c2[0],c2[1]);
kon+=alsD(180,c2[0],c2[1]);
kon+=alsD(270,c2[0],c2[1]);
}
if(cen==2){
kon+=alsA(0,c2[0],c2[1]);
kon+=alsA(90,c2[0],c2[1]);
kon+=alsA(180,c2[0],c2[1]);
kon+=alsA(270,c2[0],c2[1]);
kon+=alsB4(0,c2[0],c2[1]);
kon+=alsB4(90,c2[0],c2[1]);
kon+=alsB4(180,c2[0],c2[1]);
kon+=alsB4(270,c2[0],c2[1]);
/*
kon+=alsC4(0,c2[0],c2[1]);
kon+=alsC4(90,c2[0],c2[1]);
kon+=alsC4(180,c2[0],c2[1]);
kon+=alsC4(270,c2[0],c2[1]);
kon+=alsD4(0,c2[0],c2[1]);
kon+=alsD4(90,c2[0],c2[1]);
kon+=alsD4(180,c2[0],c2[1]);
kon+=alsD4(270,c2[0],c2[1]);
*/
}
if(cen==3){
kon+=alsB3(0,c2[0],c2[1]);
kon+=alsB3(90,c2[0],c2[1]);
kon+=alsB3(180,c2[0],c2[1]);
kon+=alsB3(270,c2[0],c2[1]);
kon+=alsC3(0,c2[0],c2[1]);
kon+=alsC3(90,c2[0],c2[1]);
kon+=alsC3(180,c2[0],c2[1]);
kon+=alsC3(270,c2[0],c2[1]);
kon+=alsD3(0,c2[0],c2[1]);
kon+=alsD3(90,c2[0],c2[1]);
kon+=alsD3(180,c2[0],c2[1]);
kon+=alsD3(270,c2[0],c2[1]);
}
if(cen==4){
kon+=alsC2(0,c2[0],c2[1]);
kon+=alsC2(90,c2[0],c2[1]);
kon+=alsC2(180,c2[0],c2[1]);
kon+=alsC2(270,c2[0],c2[1]);
kon+=alsD2(0,c2[0],c2[1]);
kon+=alsD2(90,c2[0],c2[1]);
kon+=alsD2(180,c2[0],c2[1]);
kon+=alsD2(270,c2[0],c2[1]);
}
}
if(kon==0)cout<<"NONE";
else cout
<< kon;
}
}
return 0;
}