#include <iostream> #include <limits.h> #include <cmath> #include <string> #include <stdio.h> #include <algorithm> #include <stdlib.h> #include <vector> #include <stack> #include <map> #include <fstream> #include <list> #include <queue> #include <iomanip> #include <deque> #include <set> using namespace std; #define pb push_back #define mp make_pair //ifstream f("b.txt"); //#define cin f int a[1001][1001]; int main() { int n,m; cin >> n >> m; for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) cin>>a[i][j]; int i, k = 0, l = 0; swap(m,n); while (k < m && l < n) { for (i = l; i < n; ++i) cout<<a[k][i]<<" "; k++; for (i = k; i < m; ++i) cout<<a[i][n-1]<<" "; n--; if ( k < m) { for (i = n-1; i >= l; --i) cout<<a[m-1][i]<<" "; m--; } if (l < n) { for (i = m-1; i >= k; --i) cout<<a[i][l]<<" "; l++; } } }