#include <bits/stdc++.h>
int main() {
  int n, m;
  scanf("%i%i", &n, &m);
  int N[n], M[m];
  switch (n) {
    case 1:
      N[0] = 1;
      break;
    case 2:
      N[0] = 3;
      N[1] = 4;
      break;
    default:
      if (n % 2 == 0) {
        for (int i = 0; i < n - 1; i++) N[i] = 1;
        N[n - 1] = (n - 2) / 2;
      } else {
        N[0] = 2;
        for (int i = 1; i < n - 1; i++) N[i] = 1;
        N[n - 1] = (n + 1) / 2;
      }
      break;
  }
  switch (m) {
    case 1:
      M[0] = 1;
      break;
    case 2:
      M[0] = 3;
      M[1] = 4;
      break;
    default:
      if (m % 2 == 0) {
        for (int i = 0; i < m - 1; i++) M[i] = 1;
        M[m - 1] = (m - 2) / 2;
      } else {
        M[0] = 2;
        for (int i = 1; i < m - 1; i++) M[i] = 1;
        M[m - 1] = (m + 1) / 2;
      }
      break;
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) printf("%i ", N[i] * M[j]);
    printf("\n");
  }
}
