#include <bits/stdc++.h>
using namespace std;
inline int sqr(int x) { return x * x; }
inline bool issqr(int x) { return sqr(round(sqrt(x))) == x; }
int n, m;
int a[106], b[106];
void constr(int *a, int n) {
  if (n == 1) {
    a[0] = 1;
    return;
  }
  fill(a, a + n - 1, 1);
  int sum = n - 1;
  while (((sum) & -(sum)) == sum || !issqr(((sum) & -(sum)))) {
    sum -= sqr(a[n - 2]);
    sum += sqr(++a[n - 2]);
  }
  a[n - 1] = sum / ((sum) & -(sum)) / 2 * (int)round(sqrt(((sum) & -(sum))));
}
void EXEC() {
  cin >> n >> m;
  constr(a, n);
  constr(b, m);
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j) {
      printf("%d%c", a[i] * b[j], "\n "[j + 1 < m]);
      assert(a[i] * b[j] <= 100000000);
    }
}
int main() {
  EXEC();
  return 0;
}
