import sys, time, random
from collections import deque, Counter, defaultdict
input = lambda: sys.stdin.readline().rstrip()
ii = lambda: int(input())
mi = lambda: map(int, input().split())
li = lambda: list(mi())
inf = 2 ** 63 - 1
mod = 998244353

p = ii()
ans = 'No'
for i in range(1, p + 1):
    jj = p - i * i
    if jj <= 0:
        break
    
    ok = 0

    ng = jj + 1

    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if mid * mid <= jj:
            ok = mid
        else:
            ng = mid
    if i * i + ok * ok == p:
        ans = 'Yes'

print(ans)