#include <bits/stdc++.h>   using namespace std;   struct _ {     _() { ios_base::sync_with_stdio(0); }   } _;   template <class A, class B>   ostream &operator<<(ostream &o, pair<A, B> t) {     o <<  (  << t.first <<  ,   << t.second <<  ) ;     return o;   }   template <class T>   string tostring(T first, int len = 0, char c =  0 ) {     stringstream ss;     ss << first;     string r = ss.str();     if (r.length() < len) r = string(len - r.length(), c) + r;     return r;   }   template <class T>   void PV(T a, T b, int n = 0, int w = 0, string s =    ) {     int c = 0;     while (a != b) {       cout << tostring(*a++, w,    );       if (a != b && (n == 0 || ++c % n))         cout << s;       else         cout << endl;     }   }   template <class T>   inline bool chmin(T &a, T b) {     return a > b ? a = b, 1 : 0;   }   template <class T>   inline bool chmax(T &a, T b) {     return a < b ? a = b, 1 : 0;   }   const long long linf = 0x3f3f3f3f3f3f3f3fLL;   const int inf = 0x3f3f3f3f;   const int mod = int(1e9) + 7;   const int N = 111111;   vector<int> f(int n) {     vector<int> r;     if (n == 1) {       r.push_back(1);       return r;     }     if (n == 2) {       r.push_back(3);       r.push_back(4);       return r;     }     for (int i = 0; i < n - 1; i++) r.push_back(2);     r.push_back(n - 2);     return r;   }   int main() {     int n, m;     cin >> n >> m;     vector<int> A = f(n);     vector<int> B = f(m);     for (int i : A) {       for (int j : B) cout << i * j <<    ;       cout << endl;     }     return 0;   }   