#include<cstdio>
#include<algorithm>
#define rep(i,l,r) for (int i=(l); i<=(r); i++)
using namespace std;

int n,tot,p[1030];
bool b[10010];

int main(){
	scanf("%d",&n); p[0]=p[(n<<1)+1]=1;
	for (int i=2; tot<(n<<1)+1; i++){
		if (!b[i]) p[++tot]=i;
		for (int j=1; j<=tot && i*p[j]<=10000; j++){
			b[i*p[j]]=1;
			if (!(i%p[j])) break;
		}
	}
	rep(x,0,n-1){
		rep(y,0,n-1){
			int s=(x+y)>>1,d=(x-y)>>1;
			if ((x^y)&1) printf("%d ",p[s+1]*p[d+n+(n>>1)+1]);
				else printf("%lld ",1ll*p[s+1]*p[s]*p[d+n+(n>>1)+1]*p[d+n+(n>>1)]+1);
		}
		puts("");
	}
	return 0;
}