// P1706 全排列问题// 按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。#include <bits/stdc++.h>inline bool isprime(int x) {if (x == 1) return false; // 注意这步特判是必需的for (int i = 2; i * i <= x; ++i)if (x % i == 0)return false;return true;}const int N = 25;int a[N], ans, n, k;void dfs(int now, int sum, int sid) {// 现在已经选了 now 个数,当前总和为 sum// sid 是这次选数的起始下标,即我们从 a[sid] 开始选数枚举if (now == k) {if (isprime(sum))++ans;return ;}for (int i = sid; i <= n - k + now + 1; ++i)dfs(now + 1, sum + a[i], i + 1);return ;}int main() {scanf("%d%d", &n, &k);for (int i = 1; i <= n; ++i)scanf("%d", &a[i]);dfs(0, 0, 1);printf("%d\n", ans);return 0;}