#include using namespace std; template inline bool chmax(T &a, T b) { if(a < b) { a = b; return 1; } return 0; } template inline bool chmin(T &a, T b) { if(a > b) { a = b; return 1; } return 0; } #ifdef DEBUG void debug() { cerr << "\n"; } template void debug(const T &x) { cerr << x << "\n"; } template void debug(const T &x, const Args &... args) { cerr << x << " "; debug(args...); } template void debugVector(const vector &v) { for(const T &x : v) { cerr << x << " "; } cerr << "\n"; } #else template void debug(const T &x, const Args &... args) {} template void debugVector(const vector &v) {} #endif using ll = long long; #define ALL(v) (v).begin(), (v).end() #define RALL(v) (v).rbegin(), (v).rend() const double EPS = 1e-7; const int INF = 1 << 30; const ll LLINF = 1LL << 60; constexpr int MOD = 1000000007; const int dx[4] = {1, 0, -1, 0}; const int dy[4] = {0, 1, 0, -1}; //------------------------------------- int main() { cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; vector v(N); iota(ALL(v), 1); for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { cout << v[(i + j) % N] << " \n"[j == N - 1]; } } }