#include <bits/stdc++.h>
using namespace std;
int n,a[105],vis[105];
int k,ans;
bool prime(int x)
{
if (x ==1) return 0;
for(int i=2;i*i<=n;i++)
if (x%i==0) return 0;
return 1;
}
void dfs(int cur, int size, int cnt)
{
if(cnt > size) return;
if (cnt+n-cur+1 < size) return;
if (cur == n+1)
{
if(cnt == k)
{
int sum = 0;
for(int i=1;i<=n;i++)
{
if(vis[i])
{
sum+=a[i];
}
}
if(prime(sum))
{
ans++;
}
}
return;
}
vis[cur] = 1;
dfs(cur+1,size,cnt+1);
vis[cur] = 0;
dfs(cur+1,size,cnt);
}
int main()
{
cin >> n >> k;
for(int i=1;i<=n;i++)
{
cin >> a[i];
}
dfs(1,k,0);
cout << ans;
}