认真考虑题目中所出现的任何问题

来源:互联网 发布:tensorflow syntaxnet 编辑:程序博客网 时间:2024/06/10 16:36

A - Watermelon

Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64uSubmit Status

Description

One hot summer day Pete and his friend Billy decided to buy a watermelon. They chose the biggest and the ripest one, in their opinion. After that the watermelon was weighed, and the scales showed w kilos. They rushed home, dying of thirst, and decided to divide the berry, however they faced a hard problem.

Pete and Billy are great fans of even numbers, that's why they want to divide the watermelon in such a way that each of the two parts weighs even number of kilos, at the same time it is not obligatory that the parts are equal. The boys are extremely tired and want to start their meal as soon as possible, that's why you should help them and find out, if they can divide the watermelon in the way they want. For sure, each of them should get a part of positive weight.

Input

The first (and the only) input line contains integer number w (1 ≤ w ≤ 100) — the weight of the watermelon bought by the boys.

Output

Print YES, if the boys can divide the watermelon into two parts, each of them weighing even number of kilos; and NO in the opposite case.

Sample Input

Input

8

Output

YES

Hint

For example, the boys can divide the watermelon into two parts of 2 and 6 kilos respectively (another variant — two parts of 4 and 4 kilos).

在这个题目中大体意思是说一个西瓜重w斤,然后将这个西瓜分成两部分,每部分都是偶数,w的范围是1—100;这个题目关键所在是正确处理排除2这个特殊情况;可以定义一个函数在这个程序中运用,判断切得一部分是a斤,另一部分则是w-a斤;

代码如下:#include<iostream>
using namespace std;
int main()
{int po(int n);


        int n,i,k=1;
cin>>n;
if(n<1||n>100)
return 0;
if(n==2)
   cout<<"NO"<<endl;//2这个地方是这道题的漏洞易忽视的地方需要注意!!!
else {for(i=1;i<=n;i++)//2分成两个1导致结果不符合原题
 {


    if(po(i))
    if(po(n-i))
{


 cout<<"YES"<<endl;k=0;break;}}
if(k)
    cout<<"NO"<<endl;
}


    return 0;
}
int po(int n)
{if(n%2==0)
return 1;
else
    return 0;


}