#include <iostream>
using namespace std;
bool isnp[100000005],flag[25];
int n,k,x[25],book[25],ans;
void dfs(int step)
{
if (step == k + 1)
{
int cnt = 0;
for (int i = 1;i <= k;i++)
{
cnt += book[i];
}
if (!isnp[cnt])
{
ans++;
}
return ;
}
for (int i = 1;i <= n;i++)
{
if (!flag[i])
{
book[step] = x[i];
flag[i] = true;
dfs(step + 1);
flag[i] = false;
}
}
}
int main()
{
for (int i = 2;i <= 100000000;i++)
{
if (!isnp[i])
{
for (int j = 2 * i;j <= 100000000;j += i)
{
isnp[j] = true;
}
}
}
cin >> n >> k;
for (int i = 1;i <= n;i++)
{
cin >> x[i];
}
dfs(1);
cout << ans / 6;
return 0;
}