#include #include #include #include #include #include #include using namespace std; using I = int64_t; template I lower_bound(I i0, I i1, F f) { while (i0 < i1) { I i = (i0 + i1) / 2; if (f(i)) i1 = i; else i0 = i + 1; } return i0; } int main() { I n; cin >> n; I i = lower_bound(1, (I)1 << 31, [&](I i) { return i * (i + 1) / 2 >= n; }); if (i * (i + 1) / 2 == n) { cout << "YES" << '\n' << i << endl; } else { cout << "NO" << endl; } return 0; }