#166. 质数口袋

质数口袋

质数口袋

题目描述

小 A 有一个质数口袋,里面可以装各个质数。他从 22 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋。口袋的负载量就是口袋里的所有数字之和。但是口袋的承重量有限,装的质数的和不能超过 LL。给出 LL,请问口袋里能装下几个质数?将这些质数从小往大输出,然后输出最多能装下的质数的个数,数字之间用换行隔开。

输入格式

一行一个正整数 LL

输出格式

将这些质数从小往大输出,然后输出最多能装下的质数个数。

样例输入

样例输入 1

100

样例输入 2

5

样例输入 3

11

样例输出

样例输出 1

2
3
5
7
11
13
17
19
23
9

样例输出 2

2
3
2

样例输出 3

2
3
5
3

样例解释

对于第一个样例,输入 L=100L = 100。从 22 开始依次判断质数:22 是质数,装入,当前和为 2233 是质数,装入,当前和为 5555 是质数,装入,当前和为 101077 是质数,装入,当前和为 17171111 是质数,装入,当前和为 28281313 是质数,装入,当前和为 41411717 是质数,装入,当前和为 58581919 是质数,装入,当前和为 77772323 是质数,装入,当前和为 100100,恰好等于 LL。下一个质数是 2929,若装入则和为 129129,超过 LL,因此停止。共装入了 99 个质数,所以先输出这些质数,每行一个,最后输出个数 99

数据范围

1L1051 \le L \le 10^5