#define _USE_MATH_DEFINES #include #define USE_LLONG_AS_INT #ifdef USE_LLONG_AS_INT #define int long long #define inf (1ll<<60) #else #define inf (1<<30) #endif #define rep(i,n) for(int i=0;i=0;i--) #define vi vector #define vvi vector #define vs vector #define pb push_back #define pi pair #define vp vector> #define mp make_pair #define all(v) (v).begin(),(v).end() #define fi first #define se second #define MEMSET(a) memset(a,0,sizeof(a)) #define Yes(f) cout<<(f?"Yes":"No")<()) using namespace std; const int mod=1e9+7; const string sp=" "; void run(); void init() { ios::sync_with_stdio(false); cin.tie(0); cout<>n; // vvi a(n,vi(n)); int a[n][n]={}; int d=0; int i=0,j=0; REP(m,1,n*n){ a[i][j]=m; if(d==0){ if(j==n-1)d++,i++; else j++; if(a[i][j])d++,j--,i++; } else if(d==1){ if(i==n-1)d++,j--; else i++; if(a[i][j])d++,i--,j--; } else if(d==2){ if(j==0)d++,i--; else j--; if(a[i][j])d++,j++,i--; } else{ if(i==0)d=0,j++; else i--; if(a[i][j])d=0,i++,j++; } } rep(i,n){ rep(j,n)printf("%03d ",a[i][j]); cout<