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 OCaml (4.02.3) (judge verdict: Accepted)

let make_list f t step =
  let rec make_list_inner c t lst =
    if c >= t then lst else make_list_inner (c+step) t (c::lst)
  in
  List.rev (make_list_inner f t [])

let print_list str list = Printf.printf "%s: [ " str; List.iter (fun (q,r) -> Printf.printf "(%d, %d); " q r) list; Printf.printf "]\n"

let solve a b c = match (a,b,c) with
    (5,7,5) -> "YES"
  | (7,5,5) -> "YES"
  | (5,5,7) -> "YES"
  | _ -> "NO"

let () =
  let rec read () =
    try let ans = (Scanf.scanf "%d %d %d\n" solve ) in
        Printf.printf "%s\n" ans
    with End_of_file -> ()
  in
  read ()
;;