def fac(n):
    s = 1
    if n == 0:
        return 1
    for i in range(1, n+1):
        s *= i
    return s
def sum_f(n, f, s, i):
    if s == n:
        return True
    if s > n:
        return False
    for i in range(i, len(f)):
        a = fac(i)
        if a + s > n:
            break
        if sum_f(n,f,a+s,i+1):
            return True
    return False

def solve(n):
    f = []
    for i in range(n):
        a = fac(i)
        if a > n:
            break
        f.append(a)
    if sum_f(n, f, 0, 0):
        return True
    return False

while True:
    try:
        n = int(input())
        if solve(n):
            print("YES")
        else:
            print('NO')
    except:
        break