#include using namespace std; #define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; template using V=vector; template using VV=V>; const int X=5; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); auto f=[&](auto f,int n)->VV{ if(n==1){ VV A(2,V(2)); A[0][1]=X,A[1][0]=X; return A; } auto B=f(f,n-1); int N=(1< C(N,V(N)); rep(i,N/2) rep(j,N/2){ C[i][j]=B[i][j]; C[i+N/2][j+N/2]=B[i][j]; } rep(i,N/2) C[i][i+N/2]=X; for(int i=N/2;i>n; if(n==1){ cout<<"No\n"; return 0; } if(n%2==0){ auto A=f(f,n); int N=(1<=N/2 && A[i][j]==X){ A[i][j]=-cnt; A[j][i]=cnt; } } } cout<<"Yes\n"; rep(i,N){ rep(j,N){ if(j) cout<<" "; cout<=N/2 && A[i][j]==X){ A[i][j]=-cnt; A[j][i]=cnt; } } } set s; rep(i,N) rep(j,N){ if(A[i][j]!=0 && !s.count(j)){ A[i][j]*=2; s.insert(j); break; } } n++; auto B=f(f,n); N=(1<=N/2 && B[i][j]==X){ B[i][j]=-cnt; B[i+N/2][j-N/2]=cnt; } } } cout<<"Yes\n"; rep(i,N){ rep(j,N){ if(j) cout<<" "; cout<