#include<stdio.h>
int main()
{
int i,j,n,is;
int s[100][100];
int m=0;
int a[10000];
n=0;
for ( i = 0; i < 100; i++)//初始化
{
for ( j = 0; j < 100; j++)
{
s[i][j]=0;
}
}
do
{
scanf("%d",&a[n]);
n++;
}while (getchar()!='\n');//先读入第一行判断是多少个结点
is=0;
for ( j = 0; j < n; j++)//赋给二维数组
{
s[0][j]=a[j];
}
for ( i = 1 ; i < n ; i++) //读入后几行
{
for ( j = 0; j < n; j++)
{
scanf("%d",&s[i][j]);
}
}
for ( i = 0 ; i < 100 ; i++)
{
for ( j = 0; j < 100; j++)
{
if(s[i][j]==1&&s[i][j+1]==1&&s[i][j+2]!=1)
{
m++;
}
if(s[i][j]!=1&&s[i][j+1]==1&&s[i][j+2]!=1)
{
is=1;
}
}
}
if(is==0)
printf("Y %d",m);
if(is==1)
printf("N");
return 0;
}