Problem:
Score : 100 points

Problem Statement

Iroha loves Haiku. Haiku is a short form of Japanese poetry. A Haiku consists of three phrases with 5, 7 and 5 syllables, in this order.

To create a Haiku, Iroha has come up with three different phrases. These phrases have A, B and C syllables, respectively. Determine whether she can construct a Haiku by using each of the phrases once, in some order.

Constraints

1≦A,B,C≦10

Input

The input is given from Standard Input in the following format:

A B C

Output

If it is possible to construct a Haiku by using each of the phrases once, print YES (case-sensitive). Otherwise, print NO.

Sample Input 1

5 5 7

Sample Output 1

YES

Using three phrases of length 5, 5 and 7, it is possible to construct a Haiku.

Sample Input 2

7 7 5

Sample Output 2

NO

Solution in Rust (1.15.1) (judge verdict: Accepted)

use std::io;

struct Iroha {
    five: u32,
    seven: u32,
}

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line.");
    let x: Vec<&str> = input.trim().split_whitespace().collect();
    if x.len() == 3 {
        let a: u32 = x[0].trim().parse().unwrap();
        let b: u32 = x[1].trim().parse().unwrap();
        let c: u32 = x[2].trim().parse().unwrap();
        let mut count = Iroha { five:0, seven:0 };
        match a {
            5 => count.five += 1,
            7 => count.seven += 1,
            _ => (),
        }
        match b {
            5 => count.five += 1,
            7 => count.seven += 1,
            _ => (),
        }
        match c {
            5 => count.five += 1,
            7 => count.seven += 1,
            _ => (),
        }
        if count.five == 2 && count.seven == 1 { println!("YES"); }
        else { println!("NO"); }
    }
}