/*
#include <stdio.h>
int main () {
int st=0, d=0, i, j, t=1, k=0, n, arr[101][101]={};
scanf("%d",&n);
for(i=1;i<=n;i++){
k+=i;
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
arr[i][j]=-1;
}
}
i=n;
j=1;
while(t<=k){
arr[i][j]=t;
st=0;
if(d==0&&arr[i-1][j+1]==0){
i++;
d=1;
st=1;
}
if((d==1&&arr[i+1][j-1]==0)&&st==0){
j++;
d=0;
st=1;
}
if(d==0&&st==0){
i--;
j++;
}
if(d==1&&st==0){
i++;
j--;
}
t++;
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(arr[i][j]==-1){
arr[i][j]=0;
}
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h>
int main () {
int x, y, i, j, n, m, a, b, t, k, arr[200][200]={};
long long int lst=0, sum=0;
scanf("%d %d %d %d",&m,&n,&x,&y);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
scanf("%d",&arr[i][j]);
}
}
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
sum=0;
for(t=0;t<y;t++){
for(k=0;k<x;k++){
sum+=arr[i+t][j+k];
}
}
if(lst<=sum){
lst=sum;
}
}
}
printf("%lld",lst);
return 0;
}
*/
/**
c언어에서의 함수 : 명령의 묶음
#include <stdio.h>
int 물을떠오세요(int n)
{
for()
{
일어나;
문을열어;
정수기에서 물을 떠;
다시돌아와;
}
return 10;
}
int main()
{
printf("%d", 물을떠오세요(5));
return 0;
}
*/
/*
#include <stdio.h>
int n; // 전역변수 : 모든 함수가 같이 쓰는 공용 변수
//output자료형 함수이름( 함수의 input )
//{
// return output;
//}
void f(int x)
{
//int i; // 지역변수 : f 함수 내에서만 사용하는 변수
if(x==1)
{
printf("hello");
}
else if(x==2)
{
printf("world");
}
}
int main()
{
scanf("%d", &n);
f(n);
return 0;
}
*/
//long long int abs(long long int x)
//{
// long long int res;
//
// return res;
//}
/*
f(){
printf("hello");
}
*/
/*
char f(){
return 'A';
}
*/
/*
f(int x){
if(x%2==0){
printf("even");
}
else{
printf("odd");
}
}
*/
/*
char grade(int x){
char k;
if(x>=90){
return 'A';
}
else if(x>=80){
return 'B';
}
else if(x>=70){
return 'C';
}
else if(x>=60){
return 'D';
}
else{
return 'F';
}
}
*/
/*
long long int f(int x){
int i;
long long int t=0;
for(i=1;i<=n;i++){
t+=i;
}
return t;
}
*/
/*
int f(int x){
int t=0, i;
for(i=1;i<=x;i++){
if(x%i==0){
t++;
}
}
return t;
}
*/
/*
float circle(int x){
float R;
R=x*x*3.14;
return R;
}
*/
/*
int f(){
int i,k=0,t=0,a=0;
for(i=0;i<n;i++){
if(t<d[i]){
t=d[i];
k=i+1;
}
a+=d[i];
}
if(a==0){
return 1;
}
else{
return k;
}
}
*/
/*
#include <stdio.h>
int n;
long long int d[110];
long long int f(){
long long int t=d[1], i, k;
for(i=1;i<=n;i++){
if(t>=d[i]){
t=d[i];
}
}
return t;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%lld", &d[i]);
printf("%lld", f());
return 0;
}
*/
/*
int f(int x){
int i, t=-1;
for(i=1;i<=n;i++){
if(d[i]==k){
t=i;
break;
}
}
return t;
}
*/
/*
#include <stdio.h>
long long int n;
long long int f(long long int x){
long long t=0;
while(n!=0){
t=t*10+n%10;
n/=10;
}
return t;
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
*/
/*
#include <stdio.h>
int n, a, b, d[1010];
int maxi(int x, int y){
int i,t=d[x],k=0;
for(i=x;i<=y;i++){
if(d[i]>t){
k=i;
t=d[i];
}
}
if(k==0){
k=x;
}
return k;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d%d", &a, &b);
printf("%d\n", maxi(a, b));
}
*/
/*
#include <stdio.h>
int n, k, d[1010];
int lower_bound(int x){
int i,t=0;
for(i=1;i<=n;i++){
if(d[i]>=x){
t=i;
break;
}
}
if(i==n+1){
t=n+1;
}
return t;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", lower_bound(k));
}
*/
/*
#include <stdio.h>
int n;
int f(int x){
int t=0;
while(x!=0){
t+=x%10;
x/=10;
}
return t;
}
int main(){
int t;
scanf("%d",&n);
t=n;
while(f(t)>=10){
t=f(t);
}
printf("%d",f(t));
}
*/
/*
#include <stdio.h>
long long int n;
int sqrt(long long int x){
long long int i,d;
long long int t;
for(i=0;i>-1;i++){
t=i*i;
if(t>x){
return i-1;
}
}
}
int main()
{
scanf("%lld", &n);
printf("%d\n", sqrt(n));
return 0;
}
*/
/*
#include <stdio.h>
int a, n;
long long int pow(int x, int y){
int i;
long long int t=1;
if(x==0){
return 0;
}
else if(y==0){
return 1;
}
else if(x==1){
return 1;
}
else{
for(i=1;i<=y;i++){
t=t*x;
}
return t;
}
}
int main()
{
scanf("%d%d", &a, &n);
printf("%lld\n", pow(a, n));
}
*/
/*
#include <stdio.h>
int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);}
long long int lcm(int x, int y){
long long int p,q,r,t;
r=gcd(x, y);
p=x/r;
t=p*y;
return t;
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}
*/
/*
#include <stdio.h>
int n,m,d[1000]={};
void prime(int x, int y){
int i,j,t=1;
for(i=x;i<=y;i++){
for(j=2;j<=i;j++){
if(i%j==0&&j!=i){
break;
}
if(j==i){
d[t]=i;
t++;
}
}
}
}
int sum(int x, int y){
int i,t=0;
for(i=1;i>0;i++){
t+=d[i];
if(d[i]==0){
return t;
}
}
}
int main() {
scanf("%d %d",&n,&m);
prime(n,m);
if(d[1]==0){
printf("-1");
}
else{printf("%d\n%d",sum(n, m),d[1]);}
}
*/
#include <stdio.h>
int arr[27][27]={},res[27][27]={};
int round(int x, int y){
int i,j,t=0;
for(i=-1;i<=1;i++){
for(j=-1;j<=1;j++){
if(arr[x+i][y+j]==1){
t++;
}
}
}
if(arr[x][y]==1){
t--;
}
return t;
}
int main() {
int i,j;
for(i=1;i<=25;i++){
for(j=1;j<=25;j++){
scanf("%d",&arr[i][j]);
res[i][j]=arr[i][j];
}
}
for(i=1;i<=25;i++){
for(j=1;j<=25;j++){
int y=round(i, j);
if(arr[i][j]==0){
if(y==3){
res[i][j]=1;
}
}
if(arr[i][j]==1){
if(y==2||y==3){
}
else{
res[i][j]=0;
}
}
}
}
for(i=1;i<=25;i++){
for(j=1;j<=25;j++){
printf("%d ",res[i][j]);
}
printf("\n");
}
return 0;
}