#include <bits/stdc++.h>
using namespace std;
long long n, m, i = 0, j = 0, x, t, w, p, q, l, r, count1 = 0, count2 = 0,
                k = 0, first = 0, second = 0, last, sum = 1e9;
const long long mod = 1000003, num = 0;
bool compare(pair<string, int> a, pair<string, int> b) {
  if (a.second == b.second)
    return a.first < b.first;
  else
    return a.second > b.second;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  vector<vector<long long>> v(n, vector<long long>(n, 0));
  long long val = 1;
  for (i = 0; i < n / 2; i++) {
    for (j = 0; j < n; j++) {
      v[j][i] = val;
      val += 1;
    }
  }
  for (i = n / 2; i < n; i++) {
    for (long long j = n - 1; j >= 0; j--) {
      v[j][i] = val;
      val += 1;
    }
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) cout << v[i][j] << " ";
    cout << endl;
  }
  return 0;
}
