#HT1070. 再组合质数

再组合质数

题目描述

千夜老师想从 nn 个不同的数中选取一些数,假设选取了 kk 个数,选区的第 ii 个数为 aia_i,那么千夜老师会算出

X=a1+2a2+3a3+...+iai+...+(k1)ak1+kakX=a_1+2a_2+3a_3+...+ia_i+...+(k-1)a_{k-1}+ka_k

千夜老师希望 XX 为质数,请问千夜老师有多少种选择方法?

(如果两种方案选出来的数不同,或者数相同但顺序不同,就认为是不同的方案)

输入格式

输入第一行为一个整数 nn,表示有 nn 个数。

接下来一行为空格隔开的 nn 个正整数,表示这 nn 个数。

输出格式

输出一行,为一个整数,即有多少种选择方案可以选一组数使得 XX 为质数。

样例

3
1 2 3
10
5
1 2 3 4 5
94

样例 1 说明

5 =  1 * 1 + 2 * 2 
7 =  1 * 1 + 2 * 3
13 =  1 * 1 + 2 * 3 + 3 * 2
2 =  1 * 2
13 =  1 * 2 + 2 * 1 + 3 * 3
11 =  1 * 2 + 2 * 3 + 3 * 1
3 =  1 * 3
5 =  1 * 3 + 2 * 1
11 =  1 * 3 + 2 * 1 + 3 * 2
7 =  1 * 3 + 2 * 2

数据范围

对于 60%60\% 的数据:1n31\le n\le 3

对于 100%100\% 的数据:1n91每个数5×1041\le n \le 9,1\le 每个数 \le 5\times 10^4