#4471. 划分(partition)

划分(partition)

【题目描述】

​ 小LL有一个数nn,他想把他划分成若干个质数的和,求最少能划分成多少个质数的和。

​ 质数指因数只有11和它本身的数(11不是质数)。

【输入格式】

​ 输入文件名为partition.in。

​ 第一行一个正整数TT,表示测试点的数目。

​ 第二行至第T+1T+1每行一个正整数nin_i,表示当前小LL有的数。

【输出格式】

​ 输出文件名为partition.out。

​ 输出共TT行,每行为一个测试点的答案,即最少可以划分成多少个质数的和。

【样例1】

5
2
4
7
35
18
1
2
1
3
2

【样例解释】

2=2,4=2+2,7=7,35=7+11+17,18=7+112=2,4=2+2,7=7,35=7+11+17,18=7+11,可以证明每一个都不会有更少的方案。

【样例2】

​ 见下发文件。

【数据范围】

​ 对于 30%30\% 的数据,满足 ni10n_i \leq 10

​ 对于 50%50\% 的数据,满足 ni1000n_i \leq 1000

​ 对于 70%70\% 的数据,满足 ni1,000,000n_i \leq 1,000,000

​ 对于 100%100\% 的数据,满足 2ni1012,1T202 \leq n_i \leq 10^{12},1 \leq T \leq 20