Problem:
Score : 200 points

Problem Statement

Having learned the multiplication table, Takahashi can multiply two integers between 1 and 9 (inclusive) together.

Given an integer N, determine whether N can be represented as the product of two integers between 1 and 9. If it can, print Yes; if it cannot, print No.

Constraints

1 \leq N \leq 100

N is an integer.

Input

Input is given from Standard Input in the following format:

N

Output

If N can be represented as the product of two integers between 1 and 9 (inclusive), print Yes; if it cannot, print No.

Sample Input 1

10

Sample Output 1

Yes

10 can be represented as, for example, 2 \times 5.

Sample Input 2

50

Sample Output 2

No

50 cannot be represented as the product of two integers between 1 and 9.

Sample Input 3

81

Sample Output 3

Yes

Solution in JavaScript (node.js v5.12) (judge verdict: Wrong Answer)

var GET = (function () {function f(s) {return new g(s);}function g(s) {this._s = s.trim().split("\n");}g.prototype.getValue = function (n) {return this.stox(this._s[n]);};g.prototype.getArray = function (n) {return this.stoa(this._s[n]);};g.prototype.slice = function (s, limit) {return this._s.slice(s, +limit + s || undefined).map(v => this.stox(v));};g.prototype.sliceArray = function (s, limit) {return this._s.slice(s, +limit + s || undefined).map(v => this.stoa(v));};g.prototype.stoa = function (s) {return s.split(" ").map(v => this.stox(v));};g.prototype.stox = function (v) {var i = +v;return (i === i) ? i : v;};return f;})();
var o = GET(require("fs").readFileSync("/dev/stdin", "utf8"));

console.log(main());

function main() {
    var N = o.getValue(0);

    if (N === 1) {
        return "Yes";
    }

    console.log(N);

    var i = 2;
    var v = N;
    var result = [];
    while (v !== 1) {
        if (v % i === 0) {
            result.push(i);
            v = v / i;
            continue;
        }
        i++;
    }

    var a = 1;
    var b = 1;
    for (var j = 0; result.length > j; j = j + 2) {
        if (!!result[j]) a = result[j] * a;
        if (a > 9) {
            return "No";
        }

        if ((!!result[j + 1])) b = result[j + 1] * b;
        if (b > 9) {
            return "No";
        }

    }

    return "Yes"
}