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

Solution:

import com.sun.javafx.text.ScriptMapper;
import java.io.*;
import java.util.*;
import static java.lang.Math.*;
import static java.util.Arrays.*;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class CF {

    public static void main(String[] args) throws IOException, ScriptException {
        FastScanner in = new FastScanner(System.in);
        PrintWriter out = new PrintWriter(System.out);
        String ch = in.next();
        for (int i = 0; i < ch.length() / 2; i++) {
            switch (ch.charAt(i)) {
                case '0':
                    if (ch.charAt(ch.length() - i - 1) != '8') {
                        out.println("No");
                        out.close();
                        return;
                    }
                    break;
                case '1':
                case '2':
                    out.println("No");
                    out.close();
                    return;
                case '3':
                    if (ch.charAt(ch.length() - i - 1) != '3') {
                        out.println("No");
                        out.close();
                        return;
                    }
                    break;
                case '4':
                    if (ch.charAt(ch.length() - i - 1) != '6') {
                        out.println("No");
                        out.close();
                        return;
                    }
                    break;
                case '5':
                    if (ch.charAt(ch.length() - i - 1) != '9') {
                        out.println("No");
                        out.close();
                        return;
                    }
                    break;
                case '6':
                    if (ch.charAt(ch.length() - i - 1) != '4') {
                        out.println("No");
                        out.close();
                        return;
                    }
                    break;
                case '7':
                    if (ch.charAt(ch.length() - i - 1) != '7') {
                        out.println("No");
                        out.close();
                        return;
                    }
                    break;
                case '8':
                    if (ch.charAt(ch.length() - i - 1) != '0') {
                        out.println("No");
                        out.close();
                        return;
                    }
                    break;
                case '9':
                    if (ch.charAt(ch.length() - i - 1) != '5') {
                        out.println("No");
                        out.close();
                        return;
                    }
                    break;
            }
        }
        if (ch.length() % 2 == 1) {
            if (!"37".contains(ch.charAt(ch.length() / 2) + "")) {
                out.println("No");
                out.close();
                return;
            }
        }
        out.println("Yes");
        out.close();
    }

    static class FastScanner {

        private BufferedReader in;
        private String[] line;
        private int index;
        private int size;

        public FastScanner(InputStream in) throws IOException {
            this.in = new BufferedReader(new InputStreamReader(in));
            init();
        }

        public FastScanner(String file) throws FileNotFoundException {
            this.in = new BufferedReader(new FileReader(file));
        }

        private void init() throws IOException {
            line = in.readLine().split(" ");
            index = 0;
            size = line.length;
        }

        public int nextInt() throws IOException {
            if (index == size) {
                init();
            }
            return Integer.parseInt(line[index++]);
        }

        public long nextLong() throws IOException {
            if (index == size) {
                init();
            }
            return Long.parseLong(line[index++]);
        }

        public float nextFloat() throws IOException {
            if (index == size) {
                init();
            }
            return Float.parseFloat(line[index++]);
        }

        public double nextDouble() throws IOException {
            if (index == size) {
                init();
            }
            return Double.parseDouble(line[index++]);
        }

        public String next() throws IOException {
            if (index == size) {
                init();
            }
            return line[index++];
        }

        public String nextLine() throws IOException {
            if (index == size) {
                init();
            }
            StringBuilder sb = new StringBuilder();
            for (int i = index; i < size; i++) {
                sb.append(line[i]).append(" ");
            }
            return sb.toString();
        }

        private int[] nextIntArray(int n) throws IOException {
            int[] tab = new int[n];
            for (int i = 0; i < tab.length; i++) {
                tab[i] = nextInt();
            }
            return tab;
        }

        private double[] nextDoubleArray(int n) throws IOException {
            double[] tab = new double[n];
            for (int i = 0; i < tab.length; i++) {
                tab[i] = nextDouble();
            }
            return tab;
        }

    }

}