#include #include #include #include #include #include #include #include #include int main(void) { long n; std::cin >> n; long min, max, mid; if(n == 1) {std::cout << "YES" << std::endl << 1 << std::endl; return 0; } min = 1; max = 1420000000;/* >= sqrt(2)*10^9 */ while(true){ mid = (min + max) / 2; long tmp = mid * (mid + 1) / 2; if(tmp == n){ std::cout << "YES" << std::endl << mid << std::endl; return 0; } if(max - min <= 1){ break; } if(tmp < n){ min = mid; } else { max = mid; } } std::cout << "NO" << std::endl; return 0; }