#include<bits/stdc++.h>

using namespace std;

vector<int>result,tracks;

int arr[25],sum,n,t,mx;

void backtracking(int start)
{
    if(sum>mx)
    {
        tracks = result;

        mx = sum ;
    }


    for(int i=start; i<=t; i++)
    {
        if(arr[i]+sum <= n)
        {
            result.push_back(arr[i]);

            sum += arr[i];

            backtracking(i+1);

            sum -= arr[i];

            result.pop_back();
        }

    }
}

int main()
{
    int i,sum1;

    while(scanf("%d%d",&n,&t)==2)
    {
        for(i=1; i<=t; i++)
        {
            scanf("%d",&arr[i]);
        }

        sum = 0;

        sum1 = 0;

        mx = 0;

        backtracking(1);

        for(i=0; i<tracks.size(); i++)
        {
            printf("%d ",tracks[i]);

            sum1+=tracks[i];
        }

        printf("sum:%d\n",sum1);

        result.clear();

        tracks.clear();
    }

    return 0;
}