#include <iostream>
using namespace std;

int main() {
    int n;
    cin>>n;
    int flag=0;
    if(n%400==0)//不能写成!n%400
	  /* !(逻辑非)的优先级远高于 %(取模)
	!n%400 会被编译器解读为 (!n) % 400,而不是 !(n%400)
	举例:如果 n=400,!n 是 !400(非 0 数取反为 0),然后 0%400=0,条件为假,完全不符合闰年逻辑
*/
        flag=1;
    else if(n%4==0&&n%100!=0)//这里不能天真的认为用了else if就可以达成只要n%4==0就能确保n%100!=0
	  //就比如说100就是不满足的(所以可能仅限于大于400的数)
        flag=1;
    if(flag)
        cout<<"yes";
    else
     cout<<"no";
}