#define _CRT_SECURE_NO_WARNINGS // #pragma warning(disable:4996) #include #include #include #include #include #include #include #include using namespace std; #define rep(i,a,b) for(int i=(a);i<(b);i++) #define pb push_back #define mp(a,b) make_pair(a,b) #define all(a) a.begin(),a.end() typedef pair Pii; typedef vector V; typedef long long ll; const int inf = 2e9; const int mod = 1e9 + 7; const int MAX_N = 202020; int dx[4] = {1,0,-1,0}; // R D L U int dy[4] = {0,1,0,-1}; int A[31][31]; int main() { int N; cin >> N; fill(A[0], A[31], 999); rep(i,0,N) rep(j,0,N) A[i][j] = 0; int cy = 0, cx = 0; int d = 0; rep(i,1,N*N+1) { A[cy][cx] = i; if (A[cy+dy[d]][cx+dx[d]]!=0) d = (d+1)%4; cy += dy[d]; cx += dx[d]; } rep(i,0,N) {rep(j,0,N) printf("%03d ", A[i][j]); cout << endl; } return 0; }