Prime Numbers Again

4.4

38 votes
Ad-Hoc, Approved, Dynamic Programming, Easy, Open
Problem

Panda can do any problem anytime and anywhere. Panda is doing an extensive research on prime numbers. Milinda has got a question for Panda. The only way for Panda to impress Milinda is by solving this question.
Given a number N, find the minimum number of primatic numbers which sum upto N.
A primatic number refers to a number which is either a prime number or can be expressed as power of prime number to itself i.e. primeprime e.g. 4, 27, etc.
Note: 8, 32, etc are not primatic numbers.
Panda is very sad since he is unable to solve the problem. Please help Panda in solving this problem.

enter image description here

Input Format:
The first line will contain two integers: T, the number of test cases.
Each test case consists of a single integer N.

Output Format:
For each query output the minimum number of primatic numbers which can sum upto N.

Constraints:
1 <= T <= 105
2 <= N <= 104

Subtask 1:
T = 100, 2 <= N <= 1000 - 20 points

Subtask 2:
T = 105, 2 <= N <= 104 - 80 points

Time Limit: 2
Memory Limit: 256
Source Limit:
Explanation
  1. The number 6 can be represented as 2 + 2 + 2, 3 + 3, etc. The smallest one among these is 3 + 3 consisting of 2 primatic numbers.
  2. The number 3 is itself primatic. Hence the answer is 1.
Editor Image

?