#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
const int INF = 100000000;
template <class T>
T gcd(T a, T b) {
  return b ? gcd(b, a % b) : a;
}
int ans[20][((int)1e4)];
int main() {
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < (k); i++) {
    int l = (1 << i);
    for (int j = l + 1; j < n; j++) {
      if (j >= 2 * l)
        ans[i][j] = j;
      else
        ans[i][j] = j - l;
    }
  }
  for (int i = 0; i < (k); i++)
    for (int j = 0; j < (n); j++)
      printf("%d%c", n - ans[i][n - j - 1], j == n - 1 ? '\n' : ' ');
  return 0;
}
