problem

solution

codes

#include<iostream>
using namespace std;
int n, k, a[30], ans;
int is_prime(int n){
    if(n == 1 || n == 0)return 0;
    if(n == 2)return 1;
    for(int i = 2; i*i <= n; i++)
      if(n % i == 0)return 0;
    return 1;
}
void dfs(int pos,int pps,int sum){
    if(!pos) { ans +=is_prime(sum);return ;}
    for(pps; pps <= n; pps++)dfs(pos -1,pps +1, sum + a[pps]);
}
int main(){
    cin>>n>>k;
    for(int i = 1; i <= n; i++)cin>>a[i];
    dfs(k, 1, 0);
    cout<<ans;
    return 0;
}