#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 7;
long long n, m;
int r[N];
int fct(int* a, int l) {
  if (l == 1) return 1;
  int var = 1;
  for (int i = 1; i < l; i++)
    if (a[i] < a[i - 1]) var = 0;
  if (var) return l;
  return max(fct(a, l / 2), fct(a + l / 2, l / 2));
}
int main() {
  cin >> n;
  if (n % 10 == 1 || n % 10 == 7 || n % 10 == 9 ||
      (n / 10 == 1 && n % 10 != 2) || n / 10 == 2 || n / 10 == 7 || n / 10 == 9)
    cout << "NO";
  else
    cout << "YES";
}

### Prompt

Please formulate a CPP solution to the following problem:



Input

The input contains a single integer a (1 ≤ a ≤ 99).

Output

Output "YES" or "NO".

Examples

Input


5


Output


YES


Input


13


Output


NO


Input


24


Output


NO


Input


46


Output


YES

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 7;
long long n, m;
int r[N];
int fct(int* a, int l) {
  if (l == 1) return 1;
  int var = 1;
  for (int i = 1; i < l; i++)
    if (a[i] < a[i - 1]) var = 0;
  if (var) return l;
  return max(fct(a, l / 2), fct(a + l / 2, l / 2));
}
int main() {
  cin >> n;
  if (n % 10 == 1 || n % 10 == 7 || n % 10 == 9 ||
      (n / 10 == 1 && n % 10 != 2) || n / 10 == 2 || n / 10 == 7 || n / 10 == 9)
    cout << "NO";
  else
    cout << "YES";
}

```