Problem:
Score : 100 points

Problem Statement

AtCoDeer has three cards, one red, one green and one blue.

An integer between 1 and 9 (inclusive) is written on each card: r on the red card, g on the green card and b on the blue card.

We will arrange the cards in the order red, green and blue from left to right, and read them as a three-digit integer.

Is this integer a multiple of 4?

Constraints

1 ≤ r, g, b ≤ 9

Input

Input is given from Standard Input in the following format:

r g b

Output

If the three-digit integer is a multiple of 4, print YES (case-sensitive); otherwise, print NO.

Sample Input 1

4 3 2

Sample Output 1

YES

432 is a multiple of 4, and thus YES should be printed.

Sample Input 2

2 3 4

Sample Output 2

NO

234 is not a multiple of 4, and thus NO should be printed.

Solution in C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>

int main(void)
{
		int n,i,count=0,change=0,conc=0;
	int a[100];
	int b[9]={0};
	scanf("%d",&n);
	
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	
	for(i=0;i<n;i++){
		if(a[i]>=1 && a[i]<=399){
			b[0]++;
		} else if(a[i]>=400 && a[i]<=799){
			b[1]++;
		} else if(a[i]>=800 && a[i]<=1199){
			b[2]++;
		} else if(a[i]>=1200 && a[i]<=1599){
			b[3]++;
		} else if(a[i]>=1600 && a[i]<=1999){
			b[4]++;
		} else if(a[i]>=2000 && a[i]<=2399){
			b[5]++;
		} else if(a[i]>=2400 && a[i]<=2799){
			b[6]++;
		} else if(a[i]>=2800 && a[i]<=3199){
			b[7]++;
		} else {
			b[8]++;
		}
	}
	
	if(b[8]==0){
		for(i=0;i<9;i++){
			if(b[i]!=0){
				count++;
			}
		}
		printf("%d %d\n",count,count);
	} else if(b[8]==n){
		if(b[8]>8){
			printf("1 8\n");
		} else{
			printf("1 %d\n",n);
		} 
	}else{
		for(i=0;i<8;i++){
			if(b[i]!=0){
				count++;
			}
		}
		change=b[8];
		
		if(count+change<=8){
			conc=count+change;
		} else{
			conc=8;
		}
		printf("%d %d\n",count,conc);
	}
	return 0;
}