Problem: 

Input

The only line of the input contains a string of digits. The length of the string is between 1 and 10, inclusive.

Output

Output "Yes" or "No".

Examples

Input

373


Output

Yes


Input

121


Output

No


Input

436


Output

Yes

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
long long mul(long long a, long long b) { return (a * b) % (1000000007); }
long long add(long long a, long long b) { return (a + b) % (1000000007); }
long long sub(long long a, long long b) {
  return ((a - b) % (1000000007) + (1000000007)) % (1000000007);
}
void upd(long long &a, long long b) {
  a = (a % (1000000007) + b % (1000000007)) % (1000000007);
}
int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (!isdigit(ch)) {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (isdigit(ch)) {
    x = x * 10 + ch - '0';
    ch = getchar();
  }
  return x * f;
}
string hs[10] = {"23", "10", "30", "11", "13", "12", "31", "33", "32", "21"};
int main() {
  char s[10000];
  map<int, string> h;
  cin >> s + 1;
  int n = strlen(s + 1);
  bool fl = 1;
  {
    string ss;
    for (int i = 1; i <= n; i++) ss.append((hs[s[i] - '0']));
    int i = 0, j = 2 * n - 1;
    while (i < j) {
      if (ss[i] != ss[j]) fl = 0;
      ++i, --j;
    }
  }
  puts(fl ? "Yes" : "No");
  return 0;
}