#include<iostream>
#include<string.h>
using namespace std;
int a[10009];int dp[10009];int vis[25][10009];

int main(){
	int n;int N;
	while(~scanf("%d",&N)){
		memset(dp,0,sizeof(dp));
		memset(vis,0,sizeof(vis));
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%d",&a[i]);
		}
		
		for(int i=1;i<=n;i++){
			for(int v=N;v>=a[i];v--){
				if(dp[v]<dp[v-a[i]]+a[i]){
					vis[i][v]=1;
					dp[v]=dp[v-a[i]]+a[i];
				}
			}
		}
		for(int i=n,j=N;i>=1;i--){
			if(vis[i][j]){
				cout<<a[i]<<" ";
				j-=a[i];
			}
		}
		cout<<"sum:"<<dp[N]<<endl;
	}
}