您的位置:首页 > 编程语言 > Go语言

Codeforces Round #388(Div. 2)A. Bachgold Problem【水题】

2016-12-20 14:24 645 查看
A. Bachgold Problem

time limit per test
1 second

memory limit per test
256 megabytes

input
standard input

output
standard output

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.

Recall that integer k is called prime if it is greater than 1 and
has exactly two positive integer divisors — 1 and k.

Input

The only line of the input contains a single integer n (2 ≤ n ≤ 100 000).

Output

The first line of the output contains a single integer k — maximum possible number of primes in representation.

The second line should contain k primes with their sum equal to n.
You can print them in any order. If there are several optimal solution, print any of them.

Examples

input
5


output
2
2 3


input
6


output
3
2 2 2


题目大意:

给你一个数N,让你找到一个可能,用最多的素数的和来替代这个N.

即各个素数的==N;

思路:

肯定个数是N/2个,一直用2和3来组成这个数即可,尽量用2。

Ac代码:

#include<stdio.h>
#include<string.h>
using namespace std;
int n;
int main()
{
while(~scanf("%d",&n))
{
printf("%d\n",n/2);
while(n)
{
if(n==3)
{
printf("3 ");
break;
}
else printf("2 ");
n-=2;
}
printf("\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Codeforces#388Div. 2