题号:NC219257
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
给你 n 个数,你可以从中取任意个数,问有多少种方法能让取出来的数乘积为质数。由于答案可能非常大,你只需要输出方案数模

的值。
输入描述:
第一行一个整数 T 代表测试数据的组数,每一组数据的第一行包含一个正整数 n
)
,第二行有 n 个正整数
)
。
保证 T 组数据 n 的和小于

输出描述:
对于每一组数据,输出一个整数,代表有多少种方法能让取出来的数乘积为质数。
示例1
输入
复制
3
6
2 3 1 4 2 8
5
1 5 3 1 11
9
1 2 3 4 5 4 3 2 1
说明
对于第一个样例,种方法为:2, 2, 3, 2*1, 2*1, 3*1,共6种