Problem:
Score : 100 points

Problem Statement

You are given four digits N_1, N_2, N_3 and N_4. Determine if these can be arranged into the sequence of digits "1974".

Constraints

0 \leq N_1, N_2, N_3, N_4 \leq 9

N_1, N_2, N_3 and N_4 are integers.

Input

Input is given from Standard Input in the following format:

N_1 N_2 N_3 N_4

Output

If N_1, N_2, N_3 and N_4 can be arranged into the sequence of digits "1974", print YES; if they cannot, print NO.

Sample Input 1

1 7 9 4

Sample Output 1

YES

We can get 1974 by swapping N_2 and N_3.

Sample Input 2

1 9 7 4

Sample Output 2

YES

We already have 1974 before doing anything.

Sample Input 3

1 2 9 1

Sample Output 3

NO

Sample Input 4

4 9 0 8

Sample Output 4

NO

Solution in C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>
#include <math.h>

int main(void){
	
	char S[100];
	char A[7]={"keyence"};
	int i,f=0,miss=0,g,z;
	
	scanf("%s",&S);
	
	for(z=0; S[z]!='\0'; ++z);
	
	for(i=0;i<100;i++){
		if(miss!=1){
			if(S[i]==A[f]){
			f+=1;
			if(f==6){
				printf("YES\n");
				return 0;
				}
			}else{
			miss+=1;
			}
		}else{
			
			//１回でも間違えた場合後ろから
			f=6;
			for(g=z-1;g>0;g--){//文字列回数
				if(A[f]==S[g]){
					f-=1;
					if(f-i-1<=0){
					printf("YES\n");
					return 0;
					}
				}else{
				printf("NO\n");
				return 0;
				}
			}
		}
	}
}