#include <bits/stdc++.h>
using namespace std;
int ans[100 + 10][100 + 10];
int nn[100 + 10], mm[100 + 10];
int main() {
  int n, m;
  while (scanf("%d%d", &n, &m) != EOF) {
    int i, j, k;
    if (n > 2) {
      for (i = 0; i < n - 1; i++) nn[i] = 2;
      nn[n - 1] = n - 2;
    } else if (n == 2) {
      nn[0] = 3;
      nn[1] = 4;
    } else if (n == 1)
      nn[0] = 1;
    if (m > 2) {
      for (i = 0; i < m - 1; i++) mm[i] = 2;
      mm[m - 1] = m - 2;
    } else if (m == 2) {
      mm[0] = 3;
      mm[1] = 4;
    } else if (m == 1)
      mm[0] = 1;
    for (i = 0; i < n; i++) {
      for (j = 0; j < m; j++) {
        ans[i][j] = nn[i] * mm[j];
      }
    }
    for (i = 0; i < n; i++) {
      for (j = 0; j < m; j++) {
        if (j != m - 1)
          printf("%d ", ans[i][j]);
        else
          printf("%d\n", ans[i][j]);
      }
    }
  }
  return 0;
}
