问题 A: 【提高】素数分解

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:103 解决:52

题目描述

素数,又称质数,是指除 1 和其自身之外,没有其他约数的正整数。例如 2、3、5、13 都是素数,而 4、9、12、18 则不是。
虽然素数不能分解成除 1 和其自身之外整数的乘积,但部分素数却可以分解成更多素数的和。
你需要编程 求出一个正整数最多能分解成多少个互不相同的素数的和。
例如,21 = 2 + 19是21的合法分解方法。21 = 2 + 3 + 5 + 11则是分解为最多素数的方法。
再比如:128,最多可以分解为9个素数的和。

输入

n (10≤n≤200)。

输出

n 最多能分解成多少个不同的素数的和。

样例输入 复制

21

样例输出 复制

4

提示

样例1:
21
样例2:
128
样例输出
样例1:
4
样例2:
9

来源
2016江苏省青少年信息学奥林匹克竞赛复赛