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# (Mono 4.6.2.0) (judge verdict: Runtime Error)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

class Program
{
    static void Main(string[] args)
    {
        string str = Console.ReadLine();
        int N = int.Parse(str);
        int[] a = new int[N];
        string[] stra = Console.ReadLine().Split(' ');
        bool[] flag = new bool[8];
        int min, max, count;
        count = min = max = 0;

        for(int i = 0; i < N; i++){
            a[i] = int.Parse(stra[i]);
        }
        Array.Sort(a);

        for(int i = 0; i < N; i++){
            if(a[i] <= 399){
                if(flag[0] == false){
                    flag[0] = true;
                    count++;
                }
            }else if(a[i] <= 799){
                if(flag[1] == false){
                    flag[1] = true;
                    count++;
                }
            }else if(a[i] <= 1199){
                if(flag[2] == false){
                    flag[2] = true;
                    count++;
                }
            }else if(a[i] <= 1599){
                if(flag[3] == false){
                    flag[3] = true;
                    count++;
                }
            }else if(a[i] <= 1999){
                if(flag[4] == false){
                    flag[4] = true;
                    count++;
                }
            }else if(a[i] <= 2399){
                if(flag[5] == false){
                    flag[5] = true;
                    count++;
                }
            }else if(a[i] <= 2799){
                if(flag[6] == false){
                    flag[6] = true;
                    count++;
                }
            }else if(a[i] <= 3199){
                if(flag[7] == false){
                    flag[7] = true;
                    count++;
                }
            }else{
                for(int j = 0; j < 8; j++){
                    if(flag[j] == false){
                        flag[j] = true;
                        max++;
                        break;
                    }
                }
            }
        }

        min = count;
        Console.WriteLine(min + " " + (count + max));
    }
}