#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <assert.h>

using namespace std;

int r(int max)
{
	int r;
	do
	{
		r = rand()%max;
	}
	while(r < 1);
	return r;
}

void generate_matrix(int n)
{
	int edges = rand()%(n*(n-1)/2);
	int a[100][100]={0};
	for(int e=0; e<edges; e++)
	{
		int i = rand()%n;
		int j = rand()%n;

		if (i!=j)
		{
			a[i][j] = 1;
			a[j][i] = 1;
		}
	}

	cout << n << endl;
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<n; j++)
		{
			cout << a[i][j];

			if (j!= n-1) cout << " ";

			if (i == j)
			{
				assert(a[i][j] == 0);
			}

			assert(a[i][j] == a[j][i]);
		}
		cout << endl;
	}
}

int main()
{
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	
	

	for(int tt=0; tt<89-5; tt++)
	{
		int n = r(100);
		
		generate_matrix(n);
	}

	generate_matrix(100);
	generate_matrix(100);
	generate_matrix(100);
	generate_matrix(100);
	generate_matrix(100);

	return 0;
}
