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 Rust (1.15.1) (judge verdict: Runtime Error)

use std::io;
use std::cmp;
use std::collections::HashSet;

#[derive(Eq, Hash, PartialEq)]
enum Color {
    Gray,
    Brown,
    Green,
    Sky,
    Blue,
    Yellow,
    Orange,
    Red
}

fn main() {
    let mut n = String::new();
    io::stdin().read_line(&mut n).expect("Failed to read line");

    let mut vec = String::new(); 
    io::stdin().read_line(&mut vec).expect("Failed to read line");
    let vec: Vec<i32> = vec.trim().split(' ').map(|x| x.trim().parse().unwrap()).collect();

    let mut set = HashSet::new();
    let mut target_count = 0;
    
    for v in vec {
        if v < 400 {
            set.insert(Color::Gray);
        } else if v < 800 {
            set.insert(Color::Brown);
        } else if v < 1200 {
            set.insert(Color::Green);
        } else if v < 1600 {
            set.insert(Color::Sky);
        } else if v < 2000 {
            set.insert(Color::Blue);
        } else if v < 2400 {
            set.insert(Color::Yellow);
        } else if v < 2800 {
            set.insert(Color::Orange);
        } else if v < 3200 {
            set.insert(Color::Red);
        } else {
            target_count += 1;
        }
    }
    println!("{} {}", cmp::max(1, set.len()), cmp::min(9, set.len() + target_count))
}