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::io::{BufReader, BufWriter, Read, Stdin, Write};
  use std::str;
  
  fn read<T: str::FromStr>() -> Vec<T> {
      let mut s = String::new();
      io::stdin().read_line(&mut s).unwrap();
      s.trim()
          .split_whitespace()
          .map(|x| T::from_str(x).ok().unwrap())
          .collect()
  }
  
  fn main() {
      let tanka = read::<u8>();
      if tanka.iter().filter(|&n| *n == 5).count() == 2
          && tanka.iter().filter(|&n| *n == 7).count() == 1
      {
          println!("YES");
      } else {
          println!("NO");
      }
  }