#YHM10008. 质数子集

质数子集

选数求和为质数的方案数问题

题目描述

梦梦给出了nn个整数a1,a2,,ana_1,a_2,\cdots,a_n,熊熊从中选出kk个数(每个数字至多选一次),使得选出的这kk个数的和恰好为质数,现在需要计算满足这样条件的选数方案一共有多少种。

输入格式

  1. 第一行包含两个用空格隔开的整数nnkk,分别表示整数的总个数以及要选出的数的个数,其中1kn201\leq k\leq n\leq 20
  2. 第二行包含nn个整数,分别为a1,a2,,ana_1,a_2,\cdots,a_n,每个整数满足1ai51061\leq a_i\leq 5*10^6

输出格式

输出一个整数,表示选出kk个数其和为质数的选数方案的种类数。

样例

样例输入

4 3
1 2 3 4

样例输出

1

样例解释

选择112244这三个数,它们的和为1+2+4=71 + 2 + 4 = 7,恰好为质数,所以满足条件的选数方案有11种。

数据范围与提示

  1. 对于30%30\%的数据,1k11\leq k\leq 1
  2. 对于60%60\%的数据,1k21\leq k\leq 2
  3. 对于100%100\%的数据,1n201\leq n\leq 201kn1\leq k\leq n1ai51061\leq a_i\leq 5*10^6