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)

fn main() {
    // 標準入力から１行読込
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).ok();

    // 空白区切りで分割してi32に変換し、Vectorに追加していく
    let inputs: Vec<i32> = s
        .trim()
        .split_whitespace()
        .map(|e| e.parse().ok().unwrap())
        .collect();

    // Vectorの中に5と7が幾つ含まれているか数える
    let five_count: usize = inputs.iter().filter(|&n| *n == 5).count();
    let seven_count: usize = inputs.iter().filter(|&n| *n == 7).count();

    // 五七五に組み替えれる条件は5が2つ、7が1つ
    if five_count == 2 && seven_count == 1 {
        println!("YES");
    } else {
        println!("NO");
    }
}