#include <iostream>
#include <fstream>
using namespace std;



int main(int argc, char* argv[])
{
	int i,j,k;
	ofstream out("result.txt");
	bool R[5][5]={
		{0,1,0,1,0},
		{1,0,0,1,1},
		{0,1,0,0,0},
		{0,0,0,0,1},
		{0,0,1,0,1}
	};
	bool w[5][5][5];

	for (i=0;i<5;i++)
		for(j=0;j<5;j++)
			w[0][i][j]=R[i][j];

	for(k=1;k<6;k++)
		for(i=0;i<5;i++)
			for(j=0;j<5;j++)
				w[k][i][j]=w[k-1][i][j]||(w[k-1][i][k-1]&&w[k-1][k-1][j]);

	for(k=0;k<6;k++)
	{
		out<<"w"<<k<<":"<<endl;
		for(i=0;i<5;i++)
		{
			for(j=0;j<5;j++)
			{	
				out<<w[k][i][j]<<" ";
			}
			out<<endl;
		}
		out<<endl;
	}
	
	return 0;
}

