#include <iostream>
#include <stdio.h>
#include <math.h>
int n, k;
int a[25], book[25] = {0};
int number = 0;
int isprime(int p)
{
if (p == 1 || p == 0)
return 0;
if (p == 2 || p == 3)
return 1;
for (int i = 2; i <= sqrt(p); i++)
{
if (p % i == 0)
return 0;
}
return 1;
}
void dfs(int i, int step)
{
if (step == k)
{
int ans = 0;
for (int j = 1; j <= n; j++)
{
if (book[j] == 1)
ans += a[j];
}
if (isprime(ans))
number++;
}
for (int j = i + 1; j <= n; j++)
{
if (book[j] == 0)
{
book[j] = 1;
dfs(j, step + 1);
book[j] = 0;
}
}
return;
}
using namespace std;
int main()
{
cin >> n >> k;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
dfs(1, 0);
cout << number;
return 0;
}