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: Accepted)

#include <stdio.h>

int main(){
  int n1,n2,n3,n4;
  scanf("%d%d%d%d",&n1,&n2,&n3,&n4);
  int ans[4];
  ans[0] = ans[1] = ans[2] = ans[3] = 0;
  if(n1 == 1 || n2 == 1 || n3 == 1 || n4 == 1){
    ans[0] = 1;
  }
  if(n1 == 4 || n2 == 4 || n3 == 4 || n4 == 4){
    ans[1] = 1;
  }
  if(n1 == 7 || n2 == 7 || n3 == 7 || n4 == 7){
    ans[2] = 1;
  }
  if(n1 == 9 || n2 == 9 || n3 == 9 || n4 == 9){
    ans[3] = 1;
  }
  if (ans[0] == 1 && ans[1] == 1 && ans[2] == 1 && ans[3] == 1){
    puts("YES");
  }else{
    puts("NO");
  }
  return 0;
}