import sys N = int(input()) A = [i for i in range(N//2)] A += [i for i in range(N*3//2,2*N)] B = [i for i in range(N//2,N*3//2)] C = [[0] * N for _ in range(N//2)] C = C + [[2] * N for _ in range(N//2)] for i in range(N//2): for j in range(N-i,N): C[i][j] = 1 def sumc(x): ret = 0 for i in range(N): ret += C[i][x] return ret i = N//2 while i < N: j = 0 while sum(C[i]) > A[i]: temp = sumc(j) C[i][j] = 2 - min(2,temp - B[j],sum(C[i])-A[i]) j += 1 if j == N: print("No") sys.exit() i += 1 print("Yes") for i in range(N): S = [str(j) for j in C[i]] print("".join(S))