#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':' ');
}
}
}