#include <bits/stdc++.h>
using namespace std;
template <class T>
bool setmin(T &a, T b) {
  if (b < a) {
    a = b;
    return true;
  } else
    return false;
}
template <class T>
bool setmax(T &a, T b) {
  if (b > a) {
    a = b;
    return true;
  } else
    return false;
}
long long a[111][111];
long long p[111], q[111];
int n, m;
void gen(int len, long long q[]) {
  if (len == 1)
    q[1] = 1;
  else if (len == 2)
    q[1] = 3, q[2] = 4;
  else {
    for (int i = (int)(1); i <= (int)(len - 1); ++i) q[i] = 2;
    q[len] = len - 2;
  }
}
int main() {
  cin >> n >> m;
  gen(n, p);
  gen(m, q);
  for (int i = (int)(1); i <= (int)(n); ++i)
    for (int j = (int)(1); j <= (int)(m); ++j) a[i][j] = p[i] * q[j];
  for (int i = (int)(1); i <= (int)(n); ++i) {
    for (int j = (int)(1); j <= (int)(m); ++j) cout << a[i][j] << " ";
    cout << endl;
  }
  return 0;
}
