#include <bits/stdc++.h>
using namespace std;
vector<int> a, b, ans;
map<pair<int, int>, int> dp;
bool Find_dp(int n, int num, int max_n, vector<int> &a) {
  if (n == 0 && num == 0) return 1;
  if (n == 0 && num != 0) return 0;
  if (num < n) return 0;
  if (dp.find(make_pair(n, num)) != dp.end()) return dp[make_pair(n, num)];
  for (int i = max_n; i > 0; i--) {
    if (num >= i * i && Find_dp(n - 1, num - i * i, i, a)) {
      a.push_back(i);
      return 1;
    }
  }
}
void Find(int n, vector<int> &a) {
  for (int i = 1; i < 1e4; i++) {
    if (Find_dp(n, i * i, i, a)) break;
    a.clear();
  }
}
int main() {
  int n, m;
  cin >> n >> m;
  Find(n, a);
  Find(m, b);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) cout << a[i] * b[j] << " ";
    cout << "\n";
  }
  return 0;
}
