Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal representation contains only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.
Petya calls a number almost lucky if it could be evenly divided by some lucky number. Help him find out if the given number n is almost lucky.
Input
The single line contains an integer n (1 ≤ n ≤ 1000) — the number that needs to be checked.
Output
In the only line print “YES” (without the quotes), if number n is almost lucky. Otherwise, print “NO” (without the quotes).
#include<iostream>
using namespace std;
int main()
{
int x,temp=0;
cin >> x;
int a[14] = { 4,7,47,74,44,77,447,477,474,444,747,777,774 ,744};
for (int i = 0; i < 14; i++)
{
if (x % a[i] == 0)
{
cout << "YES" << endl;
temp = 1;
break;
}
}
if (temp == 0)
cout << "NO" << endl;
return 0;
}