#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define lint long long int /* vectoral(26); al = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; vectorAL(26); AL = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; */ int main() { lint n; cin >> n; lint h = 0; lint i = 1; while (h < n) { h += i; i++; } /*cout << i-1 << endl; cout << h << endl;*/ if (n == h) { cout << "YES" << endl << i - 1 << endl; } else { cout << "NO" << endl; } }