Bachkold问题很容易形成。
给定一个正整数n,将其表示为素数的最大可能数的和。可以证明这种表示对于大于1的任何整数都存在。
回想一下,如果整数k大于1并且正好有两个正整数除数,则称为素数——1和k。
Bachgold problem is very easy to formulate. Given a positive integer n represent it as a sum of maximum possible number of prime numbers. One can prove that such representation exists for any integer greater than 1.
5
2 2 3
6
3 2 2 2
输入的唯一一行包含单个整数n(2≤n≤100000).
输出的第一行包含单个整数k——表示中素数的最大可能数目。
第二行应该包含k个素数,它们的和等于n。你可以按任何顺序打印它们。如果有几个最佳解决方案,请打印其中任何一个。
数据范围 2≤n≤100000。
输入样例1:
5
输出样例1:
2
2 3
样例1中,把5不断减最小素数——2,直到不能再减为止,5最后剩下了3,而3也是素数。
输入样例2:
6
输出样例2:
3
2 2 2
样例2中,把6不断减最小素数——2,直到不能再减为止,最后6变为0。
5
2
2 3