250530
/*
#include <stdio.h>
int arr[300][300]={}, count[100]={};
int sum=0, n, m;
void dfs(int k, int p)
{
if(k<0||p<0||k>=n||p>=m||arr[k][p]==1)
{
return;
}
count[sum]++;
arr[k][p]=1;
dfs(k+1, p);
dfs(k-1, p);
dfs(k, p+1);
dfs(k, p-1);
}
int main()
{
int e, k, a1, b1, c2, d2, i, j, temp;
scanf("%d %d %d", &n, &m, &e);
for(i=0;i<e;i++)
{
scanf("%d %d %d %d", &a1, &b1, &c2, &d2);
for(j=b1;j<d2;j++)
{
for(k=a1;k<c2;k++)
{
arr[j][k]=1;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(arr[i][j]==0)
{
dfs(i, j);
sum++;
}
}
}
printf("%d\n", sum);
for(i=0;i<sum;i++)
{
for(j=0;j<sum;j++)
{
if(count[j]>count[j+1])
{
temp=count[j+1];
count[j+1]=count[j];
count[j]=temp;
}
}
}
for(i=1;i<=sum;i++)
{
printf("%d ", count[i]);
}
return 0;
}
*/
/*
#include<stdio.h>
int arr[200][200]={}, arr2[200][200]={};
int n, h, sum=0, som=0;
void dfs(int k, int p)
{
// printf("d(%d %d)\n", k, p);
if(k<0||p<0||k>=n||p>=h||arr[k][p]==1)
{
return;
}
arr[k][p]=1;
dfs(k+1, p);
dfs(k-1, p);
dfs(k, p+1);
dfs(k, p-1);
}
void dfs2(int k, int p)
{
if(k<0||p<0||k>=n||p>=h||arr2[k][p]==0)
{
return;
}
arr2[k][p]=0;
dfs2(k+1, p);
dfs2(k-1, p);
dfs2(k, p+1);
dfs2(k, p-1);
}
int main()
{
int i, j;
scanf("%d %d", &n, &h);
for(i=0;i<n;i++)
{
for(j=0;j<h;j++)
{
scanf("%d", &arr[i][j]);
arr2[i][j]=arr[i][j];
}
}
for(i=0;i<n;i++)
{
for(j=0;j<h;j++)
{
if(arr[i][j]==0)
{
dfs(i, j);
sum++;
}
else if(arr2[i][j]==1)
{
dfs2(i, j);
som++;
}
}
}
printf("%d %d", sum, som);
return 0;
}
*/
#include<stdio.h>
int arr[100][100]={}, count[400]={}, coont[400]={};
int n, sum=0, som=0;
void dfs1(int k, int p, int way)
{
count[sum]++;
arr[k][p]=0;
if(k+1<=19&&arr[k+1][p]==1&&way==1)
{
dfs1(k+1, p, way);
}
if(p+1<=19&&arr[k][p+1]==1&&way==2)
{
dfs1(k, p+1, way);
}
if(k+1<=19&&p+1<=19&&arr[k+1][p+1]==1&&way==3)
{
dfs1(k+1, p+1, way);
}
if(k-1>=1&&p+1<=19&&arr[k-1][p+1]==1&&way==5)
{
dfs1(k-1, p+1, way);
}
}
void dfs2(int k, int p, int way)
{
arr[k][p]=0;
coont[som]++;
if(k+1<=19&&arr[k+1][p]==2&&way==1)
{
dfs2(k+1, p, way);
}
if(p+1<=19&&arr[k][p+1]==2&&way==2)
{
dfs2(k, p+1, way);
}
if(k+1<=19&&p+1<=19&&arr[k+1][p+1]==2&&way==3)
{
dfs2(k+1, p+1, way);
}
if(k-1>=1&&p+1<=19&&arr[k-1][p+1]==2&&way==5)
{
dfs2(k-1, p+1, way);
}
}
int main()
{
int i, j, way, a=0;
for(i=1;i<=19;i++)
{
for(j=1;j<=19;j++)
{
scanf("%d", &arr[i][j]);
}
}
for(i=1;i<=19;i++)
{
for(j=1;j<=19;j++)
{
if(arr[i][j]==1)
{
if(arr[i+1][j]==1)
{
way=1;
}
else if(arr[i][j+1]==1)
{
way=2;
}
else if(arr[i+1][j+1]==1)
{
way=3;
}
else if(arr[i-1][j+1]==1)
{
way=4;
}
dfs1(i, j, way);
printf("%d %d\n", i, j);
if(count[sum]==5)
{
printf("1\n");
printf("%d %d", i, j);
a+=1;
}
sum++;
}
if(arr[i][j]==2)
{
if(arr[i+1][j]==2)
{
way=1;
}
else if(arr[i][j+1]==2)
{
way=2;
}
else if(arr[i+1][j+1]==2)
{
way=3;
}
else if(arr[i-1][j+1]==2)
{
way=4;
}
dfs2(i, j, way);
printf("*%d %d\n", i, j);
if(coont[som]==5)
{
printf("2\n");
printf("%d %d", i, j);
a+=1;
}
som++;
}
}
}
if(a==0)
{
printf("0");
}
return 0;
}




