#include <bits/stdc++.h>
using namespace std;


int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n, m;
    cin >> n >> m;
    vector< vector<int> > dif( n+2 , vector<int>(m+2,0) );
    for(int dx=-n ; dx<=n ; dx++)
    {
      for(int dy=-m ; dy<=m ; dy++ )
      {
        if( dx==0 && dy==0 ) continue;
        int vx=-dy,vy=dx;

        int mi_x = min( { 0,dx,dx+vx,vx } );
        int ma_x = max( { 0,dx,dx+vx,vx } );

        int mi_y = min( { 0,dy,dy+vy,vy } );
        int ma_y = max( { 0,dy,dy+vy,vy } );

        int ax1 = max( 0,-mi_x );
        int ax2 = min( n,n-ma_x );

        int ay1 = max( 0,-mi_y );
        int ay2 = min( m,m-ma_y );

        if( ax1>ax2 || ay1>ay2 )
          continue;

        dif[ax1][ay1]++;
        dif[ax1][ay2+1]--;
        dif[ax2+1][ay1]--;
        dif[ax2+1][ay2+1]++;

      }
    }
      for (int i = 0; i <= n; i++) {
        for (int j = 0; j <= m; j++) {
            if (i > 0) dif[i][j] += dif[i-1][j];
            if (j > 0) dif[i][j] += dif[i][j-1];
            if (i > 0 && j > 0) dif[i][j] -= dif[i-1][j-1];
        }
    }
       for (int i = 0; i <= n; i++) {
        for (int j = 0; j <= m; j++) {
            cout << dif[i][j] << (j==m?'\n':' ');
        }
    }
}