#include<bits/stdc++.h>
using namespace std;
const int N=5e6+10;
int n,k;
int a[N],x[N];
bool v[N]={0};
int num=0;
int ans=0;
bool check(int g){
for(int j=2;j*j<=g;j++){
if(g%j==0){
return false;
}
}
return true;
}
void dfs(int p){
if(p=k+1){
if(check(num)==1)ans++;
cout<<num<<" ";
return ;
}
for(int i=1;i<=n;i++){
if(v[i]==0&&a[i]>x[p-1]){
x[p]=a[i];
num+=x[p];
v[i]=1;
dfs(p+1);
v[i]=0;
num-=x[p];
}
}
}
int main(){
x[0]=-100;
cin>>n>>k;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
dfs(1);
cout<<ans;
return 0;
}