#include <stdio.h>

const int bit[25] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216};

int check(int N, int f[][1024])
{
	int i, j, k, sum;
	for (i = 0; i < bit[N]; i++) {
		for (j = 0, sum = 0; j < bit[N]; j++) {
			if (f[i][j] != -f[j][i]) return 0;
			for (k = 0; k < N; k++) if ((i ^ j) == bit[k]) break;
			if (k == N && f[i][j] != 0) return 0;
			else if (k != N && f[i][j] == 0) return 0;
			sum += f[i][j];
		}
		if (sum != 0) return 0;
	}
	return 1;
}

int main()
{
	int N;
	scanf("%d", &N);
	if (N == 1) {
		printf("No\n");
		return 0;
	} else printf("Yes\n");
	
	int i, j, k, l, f[1024][1024] = {};
	if (N % 2 == 0) {
		for (i = 0; i < bit[N]; i++) {
			for (j = 0, l = 0; j < N; j++) if ((i & bit[j]) != 0) l++;
			for (j = 0; j < bit[N]; j++) {
				for (k = 0; k < N; k++) if ((i ^ j) == bit[k]) break;
				if (k == N) f[i][j] = 0;
				else if (l % 2 == k % 2) f[i][j] = 1;
				else f[i][j] = -1;
			}
		}
	} else {
		for (i = 0; i < bit[N]; i++) {
			for (j = 0, l = 0; j < N; j++) if ((i & bit[j]) != 0) l++;
			for (j = 0; j < bit[N]; j++) {
				for (k = 0; k < N; k++) if ((i ^ j) == bit[k]) break;
				if (k == N) f[i][j] = 0;
				else if (l % 2 == k % 2) f[i][j] = 1;
				else f[i][j] = -1;
			}
		}
		for (i = 0; i < bit[N-2]; i++) for (j = 0; j < bit[N-2]; j++) f[i][j] *= -1;
		for (i = bit[N-2]; i < bit[N-1]; i++) for (j = bit[N-2]; j < bit[N-1]; j++) f[i][j] *= -1;
		for (i = bit[N-1]; i < bit[N-1] + bit[N-2]; i++) for (j = bit[N-1]; j < bit[N-1] + bit[N-2]; j++) f[i][j] *= -1;
		for (i = bit[N-1] + bit[N-2]; i < bit[N]; i++) for (j = bit[N-1] + bit[N-2]; j < bit[N]; j++) f[i][j] *= -1;
		for (i = 0; i < bit[N-1]; i++) for (j = bit[N-1]; j < bit[N]; j++) f[i][j] *= 2;
		for (i = bit[N-1]; i < bit[N]; i++) for (j = 0; j < bit[N-1]; j++) f[i][j] *= 2;
	}
	// printf("%d\n", check(N, f));
	
	for (i = 0; i < bit[N]; i++) {
		for (j = 0; j < bit[N]; j++) printf("%d ", f[i][j]);
		printf("\n");
	}
	fflush(stdout);
	return 0;
}