#include<stdlib.h>
#include<iostream>
using namespace std;

int main()
{
    long int h, n;
    cin >> h >> n;

    long int** P = (long int**)malloc((h+1)*sizeof(long int*));
    for(long int i=0; i<=h; i++)
        P[i] = (long int*)calloc(n, sizeof(long int));
    for(long int i=0; i<n; i++)
        P[0][i] = 1;
    
    int** V = (int**)malloc(h*sizeof(int*));
    for(int i=0; i<h; i++)
        V[i] = (int*)malloc(n*sizeof(int));

    long int c; long long int s;

    for(long int i=0; i<h; i++)
    {
        c = 0;
        s = 0;
        for(long int j = 0; j<n; j++)
        {
            if(V[i][j])
            {
                P[i+1][j] += P[i][j];
                if(!V[i][j-1])
                {
                    if(j==c)
                        P[i+1][j] += s;
                    else
                        {
                            P[i+1][j-c-1] += s/2;
                            P[i+1][j] += s/2;
                            if(i%2==1)
                                P[i+1][j-c-1] += s%2;
                            else
                                P[i+1][j] += s%2;
                        }
                s = 0; c = 0;
                }

            }
            else
            {
                c++;
                s += P[i][j];
            }
        }
        if(c>0)
            P[i+1][n-c-1] += s;
    }

    for(long int i=0; i<n; i++)
        cout << P[h+1][i] << " ";

    return 0;
}