#includeusing namespace std; const int N = 5500; int a[N][N]; int visited[N][N]; int dx[4] = {0, 1, 1, -1}; int dy[4] = {1, -1, 0, 1}; int result[260000]; int main() { int n; scanf("%d", &n); for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { scanf("%d", &a[i][j]); visited[i][j] = 0; } } int i = 1, j = 1; int cunt = 1; result[cunt] = a[i][j]; int k = 4; int sum = 0; visited[1][1] = 1; while (cunt < n * n) { //printf("*********n"); if (i + dx[k % 4] >= 1 && j + dy[k % 4] >= 1 && i + dx[k % 4] <= n && j + dy[k % 4] <= n && !visited[i + dx[k % 4]][j + dy[k % 4]]) { i = i + dx[k % 4]; j = j + dy[k % 4]; visited[i][j] = 1; if (k % 4 == 0 || k % 4 == 2) k++; cunt++; result[cunt] = a[i][j]; //printf("%d %d %dn",i,j,cunt); } else { k++; } } for (int i = 1; i <= cunt; i++) { printf("%d ", result[i]); } return 0; }



