#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:66777216")
int n, m;
int A[105], B[105];
void fil(int k, int A[]) {
  if (k == 1) {
    A[0] = 1;
    return;
  }
  if (k == 2) {
    A[0] = 3;
    A[1] = 4;
    return;
  }
  if (k % 2 == 0) {
    for (int i = 0; i < (k - 1); ++i) A[i] = 1;
    A[k - 1] = (k - 2) / 2;
    return;
  }
  for (int i = 0; i < (k - 2); ++i) A[i] = 1;
  A[k - 2] = 2;
  A[k - 1] = (k + 1) / 2;
}
int main() {
  scanf("%d", &n);
  scanf("%d", &m);
  fil(n, A);
  fil(m, B);
  for (int i = 0; i < (n); ++i) {
    for (int j = 0; j < (m - 1); ++j) printf("%d ", A[i] * B[j]);
    printf("%d\n", A[i] * B[m - 1]);
  }
}
