#include <bits/stdc++.h>
using namespace std;
int ans[1<<10][1<<10];
int main()
{
	int k;
	scanf("%d",&k);
	if(k==1){
		printf("1\n1");
		exit(0);
	}
	int n=(k+3)/4*2;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++){
			ans[i][j]=(i+j)%n;
			if(i&1)ans[i][j]+=n;
		}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(ans[i][j]>=k)ans[i][j]-=n;
	printf("%d\n",n);
	for(int i=1;i<=n;i++,puts(""))
		for(int j=1;j<=n;j++)
			printf("%d ",ans[i][j]+1);
	return 0;
}