#include #include #include #include #include #include #include #include #include #include #include #include #define ll long long #define rep(i,n) for(ll i=0;i=0;--i) #define all(a) (a).begin(),(a).end() #define vl vector #define vvl vector > #define vb vector #define vvb vector > #define pl pair #define inf 1001001001001001000 #define mod 1000000007 //#define mod 998244353 #define pi 3.1415926535 using namespace std; struct __INIT{ __INIT(){ cin.tie(0); ios::sync_with_stdio(false); cout<= a; } ll binary_search(ll a,ll key) { ll ng = 0; ll ok = 1000000000; while (abs(ok - ng) > 1) { ll mid = (ok + ng) / 2; if (isOK(a,mid, key)) ok = mid; else ng = mid; } return ok; } int main(){ ll a; cin>>a; ll n = 3; bool ok = false; while((n*(n+1))/2 <= a){ if((n*(n+1))/2 == a){ ok = true; break; } ll m = binary_search(a,n); if((n+1)*m+(n*(n+1))/2 == a){ ok = true; break; } n++; } if(ok){ cout<<"YES"<