#include #include #include #include #include #include #include #include #include #include #include #include #include #define p(s) cout<<(s)<=n;i--) #define CK(n,a,b) ((a)<=(n)&&(n)<(b)) #define F first #define S second typedef long long ll; using namespace std; const ll inf = 1e10; ll n; bool C(ll mid){//index return mid*(mid+1)/2 <= n; } ll nibutan(){ ll lb=-1,ub=2*1e9; while(ub-lb>1){ int mid=(lb+ub)/2; if(C(mid)) lb=mid; else ub=mid; //cout<>n; ll ans=nibutan(); if(ans*(ans+1)/2!=n) p("NO"); else{ p("YES"); p(ans); } return 0; }