#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:500000000")
using namespace std;
bool ok[1000000];
int main() {
  int n, m;
  for (int i = 0; i * i < 1000000; i++) ok[i * i] = 1;
  scanf("%d %d", &n, &m);
  int MAXA = 30;
  for (long long a = 1; a < MAXA; a++) {
    for (long long b = 1; b < MAXA; b++) {
      for (long long c = 1; c < MAXA; c++) {
        for (long long d = 1; d < MAXA; d++) {
          for (long long x = 0; x <= m; x++) {
            for (long long y = 0; y <= n; y++) {
              if (ok[x * a * a + (m - x) * b * b] &&
                  ok[x * c * c + (m - x) * d * d] &&
                  ok[y * a * a + (n - y) * c * c] &&
                  ok[y * b * b + (n - y) * d * d]) {
                for (int i = 0; i < n; i++) {
                  for (int j = 0; j < m; j++)
                    printf("%I64d ", j < x ? (i < y ? a : c) : (i < y ? b : d));
                  puts("");
                }
                return 0;
              }
            }
          }
        }
      }
    }
  }
}
