#include <bits/stdc++.h>
using namespace std;
vector<int> get(int k) {
  vector<int> arr;
  int i;
  if (k == 1) {
    arr.push_back(1);
  } else if (k == 2) {
    arr.push_back(3);
    arr.push_back(4);
  } else if (k % 2 == 0) {
    for (i = 0; i < k - 1; i++) arr.push_back(1);
    int a = k - 1;
    i = 1;
    while ((int)(sqrt(a + i * i)) * (int)(sqrt(a + i * i)) != a + i * i) {
      i++;
    }
    arr.push_back((int)(i));
  } else {
    for (i = 0; i < k - 2; i++) arr.push_back(1);
    arr.push_back(2);
    int a = k + 2;
    i = 1;
    while ((int)(sqrt(a + i * i)) * (int)(sqrt(a + i * i)) != a + i * i) {
      i++;
    }
    arr.push_back((int)(i));
  }
  return arr;
}
int main() {
  int n, m, i, j;
  scanf("%d%d", &n, &m);
  vector<int> A = get(n), B = get(m);
  for (i = 0; i < n; i++) {
    printf("%d", A[i] * B[0]);
    for (j = 1; j < m; j++) printf(" %d", A[i] * B[j]);
    puts("");
  }
}
