#include<bits/stdc++.h>
using namespace std;
//p1036 [NOIP2002 普及组] 选数
int n,k,ans;
int a[50];
bool isprime(int a){
   //判断素数 
	for(int i=2;i<=sqrt(a);i++){
   
		if(a%i==0)
			return false;
	}
	return true;
}
 
void dfs(int m,int sum,int t){
   
//m:当前搜索个数 sum:当前求和 t:当前a[]角标 
//t是关键,他决定了循环次数,避免了重复选择 
	if(m==k){
   
		if(isprime(sum))
			ans++;
		return;
	}
	for(int i=t;i<n;i++){
   
		dfs(m+1,sum+a[i],i+1);
	}
}
int main(){
   
	cin>>n>>k;
	for(int i=0;i<n;i++){
   
		cin>>a[i];
	}
	dfs(0,0,0);
	cout<<ans;
}