选数

题目描述

Y 同学获得了一个长度为 NN 的正整数序列 X=(X1,X2,,XN)X = (X_1, X_2, \dots, X_N),以及一个目标选择数量 KK

Y 同学需要从这 NN 个正整数中任意挑选出恰好 KK 个元素构成一个集合。设选出的下标集合为 SS(满足 S{1,2,,N}S \subseteq \{1, 2, \dots, N\}S=K|S| = K),他会计算这些被选中元素的总和 iSXi\sum_{i \in S} X_i

请你编写程序,帮助 Y 同学求出,在所有可能的 (NK)\binom{N}{K} 种选择方案中,有多少种方案使得选出的 KK 个元素的和恰好为一个素数(质数)。

输入格式

第一行包含两个整数 NNKK,相邻两个整数之间由一个空格隔开,分别表示序列的长度和需要挑选的元素个数。

第二行包含 NN 个整数 X1,X2,,XNX_1, X_2, \dots, X_N,相邻两个整数之间由一个空格隔开,表示给定的正整数序列。

输出格式

输出一行一个整数,表示和为素数的选择方案总数。

样例

样例输入 #1

4 3
3 7 12 19

样例输出 #1

1

数据范围与约定

对于 100%100\% 的数据,保证 1N201 \le N \le 201K<N1 \le K < N1Xi5×1061 \le X_i \le 5 \times 10^6

子任务编号 分值 NN \le 特殊性质
1 40 1010
2 60 2020