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;
use std::collections::HashMap;

fn main() {
    let mut s = String::new();
    io::stdin().read_line(&mut s).ok();
    let vals: Vec<i32> = s.trim().split_whitespace()
                        .map(|e| e.parse().ok().unwrap()).collect();
    let mut hm: HashMap<i32, usize> = HashMap::new();
    for val in vals {
        let count = hm.entry(val).or_insert(0);
        *count += 1;
    }

    let is_ok = *hm.get(&5).unwrap() == 2 && *hm.get(&7).unwrap() == 1;
    println!("{}", if is_ok {"YES"} else {"NO"});
}