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 C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <iostream>
#include <sstream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <string>
#include <algorithm>
#include <utility>

#define FOR(idx, begin, end) for(int idx = (begin); idx < int(end); ++idx)
#define DBG(x) cerr << #x << ": " << x << "\n"

using namespace std;
typedef long long lint;
const int MOD = 1000000007;

int main() {

	cin.tie(0);

	int N, K;
	cin >> N >> K;

	vector<int> num(K);
	FOR(i, 0, K) cin >> num[i];

	while (true){

		FOR(j, 0, K) {
			FOR(k, 0, to_string(N).length()) {
				if (to_string(N)[k] - '0' == num[j]) {
					j = K - 1;
					k = to_string(N).length();
				}
				if (j == K - 1 and k == to_string(N).length() - 1) {
					cout << N;
					return 0;
				}
			}
		}

		N++;
	} 

	return -1;
}