#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; constexpr ll INF = 7e18; inline ll satulating_mul(const ll a, const ll b) { if (b == 0) return 0; if (a > INF / b) return INF; return a * b; } int main() { cin.tie(nullptr)->sync_with_stdio(false); ll n; cin >> n; ull l = 0, r = INF; while (r - l > 1) { ull x = (l + r) / 2; (satulating_mul(x, x + 1) / 2 <= n ? l : r) = x; } if (l * (l + 1) / 2 == n) { cout << "YES" << '\n'; cout << l << '\n'; } else { cout << "NO" << '\n'; } return 0; }