import java.io.*;
import java.util.*;
public class Main{
static boolean Blacking
(int c ,
int t ,
String [] [] y
){ int counter = 0;
int first = c,second = t;
int done = 0;
while(second<8)
{
if(y[first][second].equals("R") || y[first][second].equals("Q"))
{
done = 1;
break;
}
second++;
}
first = c;
second = t;
while(second>=0 && done ==0)
{
if(y[first][second].equals("R")||y[first][second].equals("Q"))
{
done = 1;
break;
}
second--;
}
first = c;
second = t;
while(first<8 && done ==0)
{
if(y[first][second].equals("R")||y[first][second].equals("Q"))
{
done = 1;
break;
}
first++;
}
first = c;
second = t;
while(first>=0 && done ==0)
{
if(y[first][second].equals("R")||y[first][second].equals("Q"))
{
done = 1;
break;
}
first--;
}
first = c;
second = t;
while(second<8 && first<8 && done ==0)
{
if(y[first][second].equals("Q")||y[first][second].equals("R"))
{
done = 1;
break;
}
first++;
second++;
}
first = c;
second = t;
while(second>=0 && first<8&& done ==0)
{
if(y[first][second].equals("Q")||y[first][second].equals("B"))
{
done = 1;
break;
}
first++;
second--;
}
first = c;
second = t;
while(second>=0 && first>=0 && done ==0)
{
if(y[first][second].equals("Q")||y[first][second].equals("B"))
{
done = 1;
break;
}
first--;
second--;
}
first = c;
second = t;
while(second<8 && first>=0 && done ==0)
{
if(y[first][second].equals("Q")||y[first][second].equals("B"))
{
done = 1;
break;
}
first--;
second++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second<8 && done ==0 && counter<2)
{
if(y[first][second].equals("N"))
{
done = 1;
break;
}
first += 2;
second++;
counter++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second>=0 && counter<2 && done==0)
{
if(y[first][second].equals("N"))
{
done = 1;
break;
}
first += 2;
second--;
counter++;
}
first = c;
second = t;
counter = 0;
while(first>=0 && second>=0 && done==0)
{
if(y[first][second].equals("N"))
{
done = 1;
break;
}
first -= 2;
second--;
counter++;
}
first = c;
second = t;
counter = 0;
while(first>=0 && second<8 && counter<2 && done==0)
{
if(y[first][second].equals("N"))
{
done = 1;
break;
}
first -= 2;
second++;
counter++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second<8 && counter<2 && done==0)
{
if(y[first][second].equals("N"))
{
done = 1;
break;
}
first++;
second +=2;
counter++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second>=0 && counter<2 && done==0)
{
if(y[first][second].equals("N"))
{
done = 1;
break;
}
first++;
second -=2;
counter++;
}
first = c;
second = t;
counter = 0;
while(first>=0 && second>=0 && counter<2 && done==0)
{
if(y[first][second].equals("P"))
{
done = 1;
break;
}
first--;
second--;
counter++;
}
first = c;
second = t;
counter = 0;
while(first>=0 && second<8 && counter<2 && done==0)
{
if(y[first][second].equals("P"))
{
done = 1;
break;
}
first--;
second++;
counter++;
}
if(done==1)
{
return true;
}
return false;
}
static boolean WhiteKing
(int c ,
int t ,
String [] [] y
){ int counter = 0;
int done = 0;
int first = c,second = t;
while(second<8 && done==0)
{
if(y[first][second].equals("r") || y[first][second].equals("q"))
{
done = 1;
break;
}
second++;
}
first = c;
second = t;
while(second>=0 && done==0)
{
if(y[first][second].equals("r")||y[first][second].equals("q"))
{
done = 1;
break;
}
second--;
}
first = c;
second = t;
while(first<8 && done ==0)
{
if(y[first][second].equals("r")||y[first][second].equals("q"))
{
done = 1;
break;
}
first++;
}
first = c;
second = t;
while(first>=0 && done==0)
{
if(y[first][second].equals("r")||y[first][second].equals("q"))
{
done = 1;
break;
}
first--;
}
first = c;
second = t;
while(second<8 && first<8 && done==0)
{
if(y[first][second].equals("q")||y[first][second].equals("b"))
{
done = 1;
break;
}
first++;
second++;
}
first = c;
second = t;
while(second>=0 && first<8 && done ==0)
{
if(y[first][second].equals("q")||y[first][second].equals("b"))
{
done = 1;
break;
}
first++;
second--;
}
first = c;
second = t;
while(second>=0 && first>=0 && done ==0)
{
if(y[first][second].equals("q")||y[first][second].equals("b"))
{
done = 1;
break;
}
first--;
second--;
}
first = c;
second = t;
while(second<8 && first>=0 && done == 0)
{
if(y[first][second].equals("q")||y[first][second].equals("b"))
{
done = 1;
break;
}
first--;
second++;
}
first = c;
second = t;
while(first<8 && second<8 && counter<2 && done==0)
{
if(y[first][second].equals("n"))
{
done = 1;
break;
}
first += 2;
second++;
counter++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second>=0 && counter<2 && done==0)
{
if(y[first][second].equals("n"))
{
done = 1;
break;
}
first += 2;
second--;
counter++;
}
first = c;
second = t;
counter = 0;
while(first>=0 && second>=0 && done ==0 && counter<2)
{
if(y[first][second].equals("n"))
{
done = 1;
break;
}
first -= 2;
second--;
counter++;
}
first = c;
second = t;
counter = 0;
while(first>=0 && second<8 && done ==0 && counter<2)
{
if(y[first][second].equals("n"))
{
done = 1;
break;
}
first -= 2;
second++;
counter++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second<8 && counter<2 && done==0)
{
if(y[first][second].equals("n"))
{
done = 1;
break;
}
first++;
second +=2;
counter++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second>=0 && counter<2 && done==0)
{
if(y[first][second].equals("n"))
{
done = 1;
break;
}
first++;
second -=2;
counter++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second>=0 && counter<2 && done==0)
{
if(y[first][second].equals("p"))
{
done = 1;
break;
}
first ++;
second--;
counter++;
}
first = c;
second = t;
counter = 0;
while(first<8 && second<8 && counter<2 && done == 0)
{
if(y[first][second].equals("p"))
{
done = 1;
break;
}
first ++;
second++;
counter++;
}
if(done==1)
{
return true;
}
return false;
}
int i = 1;
while((line = k.readLine()) != null)
{
boolean B = false,W = false;
int c = 7;
while(c>=0)
{
int t = 7;
if(c==7)
{
s = line;
}
else
{
s = k.readLine();
}
while(t>=0)
{
y[c][t] = ""+s.charAt(t);
t--;
}
c--;
}
c = 0;
int u = 0;
while(c<8)
{
int t = 0;
while(t<8)
{
if(!(y[c][t].equals(".")))
{
u = 1;
break;
}
t++;
}
c++;
}
if(u==0)
{
break;
}
else
{
c = 0;
while(c<8)
{
int t = 0;
while(t<8)
{
if(y[c][t].equals("K"))
{
W = WhiteKing(c,t,y);
if(W)
{
break;
}
}
else if(y[c][t].equals("k"))
{
B = Blacking(c,t,y);
if(B)
{
break;
}
}
t++;
}
c++;
}
if(W)
{
z.println("Game #"+i+": white king is in check.");
z.flush();
i++;
}
else if(B)
{
z.println("Game #"+i+": black king is in check.");
z.flush();
i++;
}
else
{
z.println("Game #"+i+": no king is in check.");
z.flush();
i++;
}
}
}
}
}