#include<bits/stdc++.h>
using namespace std;
char chess[1200][1200];
int dx[] = {-2,-1,1,2};
int dy[] = {1,2,2,1};
int dp[1200][1200];
bool visited[1200][1200];
int h;
int dfs(int i,int j)
{
if(dp[i][j]!=-1)
return dp[i][j];
if(j==h-1)
return 0;
//visited[i][j]=1;
dp[i][j]=0;
for(int k=0;k<4;k++)
{
int nx = i + dx[k];
int ny = j + dy[k];
if(nx>=0&&ny>=0&&nx<h&&ny<h)
{
//if(!visited[nx][ny])
//{
visited[nx][ny]=1;
int r = 0;
if(chess[nx][ny]=='P')
r=1;
dp[i][j] = max(dp[i][j],r+dfs(nx,ny));
// }
}
}
return dp[i][j];
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&h);
for(int i=0;i<h;i++)
cin>>chess[i];
int k_x,k_y;
for(int i=0;i<h;i++)
{
for(int j=0;j<h;j++)
{
if(chess[i][j]=='K')
{
k_x = i;
k_y =j;
break;
}
}
}
for(int i=0;i<h;i++)
for(int j=0;j<h;j++)
dp[i][j]=-1;
cout<<dfs(k_x,k_y)<<"\n";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2hhciBjaGVzc1sxMjAwXVsxMjAwXTsKaW50IGR4W10gPSB7LTIsLTEsMSwyfTsKaW50IGR5W10gPSB7MSwyLDIsMX07CgppbnQgZHBbMTIwMF1bMTIwMF07CmJvb2wgdmlzaXRlZFsxMjAwXVsxMjAwXTsKaW50IGg7CmludCBkZnMoaW50IGksaW50IGopCnsKICAgIGlmKGRwW2ldW2pdIT0tMSkKICAgIHJldHVybiBkcFtpXVtqXTsKCiAgICBpZihqPT1oLTEpCiAgICByZXR1cm4gMDsKCiAgICAvL3Zpc2l0ZWRbaV1bal09MTsKICAgIGRwW2ldW2pdPTA7CiAgICBmb3IoaW50IGs9MDtrPDQ7aysrKQogICAgewogICAgICAgIGludCBueCA9IGkgKyBkeFtrXTsKICAgICAgICBpbnQgbnkgPSBqICsgZHlba107CiAgICAgICAgaWYobng+PTAmJm55Pj0wJiZueDxoJiZueTxoKQogICAgICAgIHsKICAgICAgICAgICAgLy9pZighdmlzaXRlZFtueF1bbnldKQogICAgICAgICAgICAvL3sKICAgICAgICAgICAgICAgIHZpc2l0ZWRbbnhdW255XT0xOwogICAgICAgICAgICAgICAgaW50IHIgPSAwOwogICAgICAgICAgICAgICAgaWYoY2hlc3NbbnhdW255XT09J1AnKQogICAgICAgICAgICAgICAgcj0xOwogICAgICAgICAgICAgICAgZHBbaV1bal0gPSBtYXgoZHBbaV1bal0scitkZnMobngsbnkpKTsKICAgICAgICAvLyAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBkcFtpXVtqXTsKfQppbnQgbWFpbigpCnsKICAgIGludCB0OwogICAgc2NhbmYoIiVkIiwmdCk7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgc2NhbmYoIiVkIiwmaCk7CgogICAgICAgIGZvcihpbnQgaT0wO2k8aDtpKyspCiAgICAgICAgY2luPj5jaGVzc1tpXTsKCiAgICAgICAgaW50IGtfeCxrX3k7CiAgICAgICAgZm9yKGludCBpPTA7aTxoO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGZvcihpbnQgaj0wO2o8aDtqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGNoZXNzW2ldW2pdPT0nSycpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAga194ID0gaTsKICAgICAgICAgICAgICAgICAgICBrX3kgPWo7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgZm9yKGludCBpPTA7aTxoO2krKykKICAgICAgICBmb3IoaW50IGo9MDtqPGg7aisrKQogICAgICAgIGRwW2ldW2pdPS0xOwogICAgICAgIGNvdXQ8PGRmcyhrX3gsa195KTw8IlxuIjsKCiAgICB9CgoKICAgIHJldHVybiAwOwp9Cg==