'use strict';Object.defineProperty(exports,'__esModule',{value:true});var fs=require('fs');var _fromStringAsImpl = function (just) {
  return function (nothing) {
    return function (radix) {
      var digits;
      if (radix < 11) {
        digits = "[0-" + (radix - 1).toString() + "]";
      } else if (radix === 11) {
        digits = "[0-9a]";
      } else {
        digits = "[0-9a-" + String.fromCharCode(86 + radix) + "]";
      }
      var pattern = new RegExp("^[\\+\\-]?" + digits + "+$", "i");
      return function (s) {
        if (pattern.test(s)) {
          var i = parseInt(s, radix);
          return (i | 0) === i ? just(i) : nothing;
        } else {
          return nothing;
        }
      };
    };
  };
};var Semigroupoid = function (compose) {
    this.compose = compose;
};
var semigroupoidFn = new Semigroupoid(function (f) {
    return function (g) {
        return function (x) {
            return f(g(x));
        };
    };
});
var compose = function (dict) {
    return dict.compose;
};var Category = function (Semigroupoid0, identity) {
    this.Semigroupoid0 = Semigroupoid0;
    this.identity = identity;
};
var identity = function (dict) {
    return dict.identity;
};
var categoryFn = new Category(function () {
    return semigroupoidFn;
}, function (x) {
    return x;
});var Eq = function (eq) {
    this.eq = eq;
};
var eq = function (dict) {
    return dict.eq;
};var _concatArray = function (xs) {
  return function (ys) {
    if (xs.length === 0) return ys;
    if (ys.length === 0) return xs;
    return xs.concat(ys);
  };
};var Semigroup = function (append) {
    this.append = append;
};
var semigroupArray = new Semigroup(_concatArray);
var append = function (dict) {
    return dict.append;
};var Semiring = function (add, mul, one, zero) {
    this.add = add;
    this.mul = mul;
    this.one = one;
    this.zero = zero;
};
var add = function (dict) {
    return dict.add;
};var Ring = function (Semiring0, sub) {
    this.Semiring0 = Semiring0;
    this.sub = sub;
};var DivisionRing = function (Ring0, recip) {
    this.Ring0 = Ring0;
    this.recip = recip;
};var _arrayMap = function (f) {
  return function (arr) {
    var l = arr.length;
    var result = new Array(l);
    for (var i = 0; i < l; i++) {
      result[i] = f(arr[i]);
    }
    return result;
  };
};var Functor = function (map) {
    this.map = map;
};
var map = function (dict) {
    return dict.map;
};
var mapFlipped = function (dictFunctor) {
    return function (fa) {
        return function (f) {
            return map(dictFunctor)(f)(fa);
        };
    };
};
var functorFn = new Functor(compose(semigroupoidFn));
var functorArray = new Functor(_arrayMap);var Alt = function (Functor0, alt) {
    this.Functor0 = Functor0;
    this.alt = alt;
};
var altArray = new Alt(function () {
    return functorArray;
}, append(semigroupArray));var Apply = function (Functor0, apply) {
    this.Functor0 = Functor0;
    this.apply = apply;
};
var apply = function (dict) {
    return dict.apply;
};var Applicative = function (Apply0, pure) {
    this.Apply0 = Apply0;
    this.pure = pure;
};
var pure = function (dict) {
    return dict.pure;
};
var liftA1 = function (dictApplicative) {
    return function (f) {
        return function (a) {
            return apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);
        };
    };
};var Bind = function (Apply0, bind) {
    this.Apply0 = Apply0;
    this.bind = bind;
};
var bind = function (dict) {
    return dict.bind;
};var Monad = function (Applicative0, Bind1) {
    this.Applicative0 = Applicative0;
    this.Bind1 = Bind1;
};
var ap = function (dictMonad) {
    return function (f) {
        return function (a) {
            return bind(dictMonad.Bind1())(f)(function (f$prime) {
                return bind(dictMonad.Bind1())(a)(function (a$prime) {
                    return pure(dictMonad.Applicative0())(f$prime(a$prime));
                });
            });
        };
    };
};var Nothing = function () {
    function Nothing() {}    Nothing.value = new Nothing();
    return Nothing;
}();
var Just = function () {
    function Just(value0) {
        this.value0 = value0;
    }    Just.create = function (value0) {
        return new Just(value0);
    };
    return Just;
}();var Even = function () {
    function Even() {}    Even.value = new Even();
    return Even;
}();
var Odd = function () {
    function Odd() {}    Odd.value = new Odd();
    return Odd;
}();
var fromStringAs = _fromStringAsImpl(Just.create)(Nothing.value);
var fromString = fromStringAs(10);
var eqParity = new Eq(function (x) {
    return function (y) {
        if (x instanceof Even && y instanceof Even) {
            return true;
        }        if (x instanceof Odd && y instanceof Odd) {
            return true;
        }        return false;
    };
});
var semiringParity = new Semiring(function (x) {
    return function (y) {
        var $19 = eq(eqParity)(x)(y);
        if ($19) {
            return Even.value;
        }        return Odd.value;
    };
}, function (v) {
    return function (v1) {
        if (v instanceof Odd && v1 instanceof Odd) {
            return Odd.value;
        }        return Even.value;
    };
}, Odd.value, Even.value);
var ringParity = new Ring(function () {
    return semiringParity;
}, add(semiringParity));
var divisionRingParity = new DivisionRing(function () {
    return ringParity;
}, identity(categoryFn));var solve = function (i) {
    var v = function (v1) {
        {
            return "No";
        }    };
    var $4 = fromString(i);
    if ($4 instanceof Just) {
        var $5 = $4.value0 >= 30;
        if ($5) {
            return "Yes";
        }        return v();
    }    return v();
};var _readAll = function () {
  return function () {
    return fs.readFileSync("/dev/stdin", "utf8");
  };
};var _pureE = function (a) {
  return function () {
    return a;
  };
};
var _bindE = function (a) {
  return function (f) {
    return function () {
      return f(a())();
    };
  };
};var monadEffect = new Monad(function () {
    return applicativeEffect;
}, function () {
    return bindEffect;
});
var bindEffect = new Bind(function () {
    return applyEffect;
}, _bindE);
var applyEffect = new Apply(function () {
    return functorEffect;
}, ap(monadEffect));
var applicativeEffect = new Applicative(function () {
    return applyEffect;
}, _pureE);
var functorEffect = new Functor(liftA1(applicativeEffect));var _log = function (s) {
  return function () {
    console.log(s);
    return {};
  };
};var interact = function (solve) {
    return bind(bindEffect)(mapFlipped(functorEffect)(_readAll())(solve))(_log);
};var main = interact(solve);
var _default = {
    main: main
};exports.__reserved_default=_default;exports.main=main;
main();