#7302. 749A. A. Bachgold Problem

0

749A. A. Bachgold Problem

749A. A. Bachgold Problem

CF749A. Bachgold Problem

时限: 1 秒 | 内存: 256 MB | 输入: 标准输入 | 输出: 标准输出

Bachgold 问题很容易表述。给定一个正整数 $n$,要求将其表示为尽可能多的素数之和。可以证明,对于任意大于 $1$ 的整数,都存在这样的表达方式。

回忆一下,整数 $k$ 是素数当且仅当 $k$ 大于 $1$,并且只有两个正整数因子——$1$ 和 $k$ 本身。

输入格式

输入的唯一一行包含一个正整数 $n$($2 \leq n \leq 100000$)。

输出格式

输出的第一行为整数 $k$,表示表示 $n$ 的素数个数最多是多少。

输出的第二行为这 $k$ 个素数,使得它们的和等于 $n$。你可以按任意顺序输出这些素数。如果存在多种最优方案,输出其中任意一种即可。

样例输入 1

5

样例输出 1

2
2 3

样例输入 2

6

样例输出 2

3
2 2 2