#include<iostream>
#include<cmath>
using namespace std;
int cnt,a[25];
bool f[25];
bool prime(int n){
if(n==1)return 0;
if(n==2)return 1;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0)return 0;
}
return 1;
}
void dfs(int pos,int n,int k){
if(n-pos<k)return;
if(!k){
int sum=0;
for(int i=1;i<=n;i++){
if(f[i])sum+=a[i];
}
cout<<sum<<' ';
if(prime(sum))cnt++;
return;
}
for(int i=0;i<=1;i++){
f[pos]=i;
dfs(pos+1,n,k-i);
f[pos]=0;
}
}
int main(){
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
dfs(1,n,k);
cout<<cnt<<endl;
return 0;
}