#include <bits/stdc++.h>
const int inf = 0xfffffff;
const long long INF = 1ll << 61;
using namespace std;
int mp[2][100 + 55];
int n, m;
void init() {}
bool input() {
  while (cin >> n >> m) {
    return false;
  }
  return true;
}
void slove(int x, int y) {
  if (x == 1) {
    mp[y][1] = 1;
    return;
  }
  if (x == 2) {
    mp[y][1] = 3;
    mp[y][2] = 4;
    return;
  }
  for (int i = 1; i < x; i++) mp[y][i] = 2;
  mp[y][x] = x - 2;
}
void cal() {
  slove(n, 0);
  slove(m, 1);
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) printf("%d ", mp[0][i] * mp[1][j]);
    puts("");
  }
}
void output() {}
int main() {
  while (true) {
    init();
    if (input()) return 0;
    cal();
    output();
  }
  return 0;
}
