#include<bits/stdc++.h>
using namespace std;
int n,m,k,sum,a[105],b[105],c[105],d[105],e[105];
bool f[10000005];
int main()
{
//freopen("get.in","r",stdin);
//freopen("get.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>m>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
for(int j=a[i];j<=m;j++)
{
if(b[j-a[i]]!=0)
{
b[j]=b[j-a[i]]+1;
c[j]=a[i];
d[j]=j-a[i];
}
else if(j%a[i]==0&&c[j]==0)
{
b[j]=1;
c[j]=a[i];
d[j]=0;
}
if(b[m]!=0)
{
break;
}
}
}
k=m;
for(int i=1;i<=b[m];i++)
{
e[i]=c[k];
k=d[k];
}
for(int i=b[m];i>=1;i--)
{
if(f[e[i]]==0)
{
f[e[i]]=1;
sum++;
}
}
cout<<sum<<" ";
memset(f,0,sizeof(f));
for(int i=b[m];i>=1;i--)
{
if(f[e[i]]==0)
{
f[e[i]]=1;
cout<<e[i]<<" ";
}
}
return 0;
}
大佬求解