#include <bits/stdc++.h>
using namespace std;
const int maxn = 101;
int N, M, a[maxn][2];
void work(int N, int x) {
  if (N == 1) {
    a[1][x] = 1;
  } else if (N == 2) {
    a[1][x] = 3;
    a[2][x] = 4;
  } else {
    for (int i = 1; i < N; ++i) {
      a[i][x] = 2;
    }
    a[N][x] = N - 2;
  }
}
int main() {
  scanf("%d%d", &N, &M);
  work(N, 0);
  work(M, 1);
  for (int i = 1; i <= N; ++i) {
    for (int j = 1; j <= M; ++j) {
      printf("%d\n", a[i][0] * a[j][1]);
    }
  }
  return 0;
}
