#include <stdlib.h>
#include <stdio.h>
#include <string.h>

void doit(int N, int k, int m, int * sol, int K)
{
    if (k == 0 && N == 0)
    {
        for(int i = 0; i < K; ++i)
        {
            printf("%d%c", sol[i], (i == K-1) ? '\n' : '+');

        }
    }
    else if (N < 0 || m > N || k < 0) return;
    else
    {
        for(int i = m; i <= N; ++i)
        {
            sol[K-k] = i;
            doit(N-i,k-1,i+1,sol,K);
        }
    }
}

int main(int argc, const char * argv[])
{
    int N, k;
    scanf("%d %d",&N,&k);

    int * sol = malloc(sizeof(int)*k);
    doit(N,k,1,sol,k);

}
