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: Runtime Error)

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main(void){
	int H,W,A,B;
	cin >> H >> W >> A >> B;
	vector<vector<unsigned long long>> ans(H, vector<unsigned long long>(W));
	for(int i = 0;i < H -A; ++i){
		ans[i][0] = 1;
	}
	for(int i = H-A;i < H;++i){
		ans[i][0] = 0;
	}
	for(int i = 0; i < W; ++i){
		ans[0][i] = 1;
	}
	for(int i = 1;i< W; ++i){
		for(int j = 1; j < H; ++j){
			if(i > W-B && j > H-A){
				ans[j][i] = 0;
			}else{
				ans[j][i] = ans[j-1][i] + ans[j][i-1];
			}
		}
	}
	cout << ans[H-1][W-1] % (1000000000 + 7);
}