#include #include /// /// 入力された数字を返す /// /// uint64_t ReadNum() { int negate = 0; char c = getchar(); uint64_t num = 0; int numCnt = 0; while (c != '\n') { if (c == '-') { negate = 1; } else { num = num * 10 + c - '0'; } c = getchar(); } if (negate == 1) { num *= -1; } return num; } int main(void) { uint64_t n = ReadNum(); uint64_t sec = 0; uint64_t a = 0; for (int i = 1; i <= n; i++) { a += i; sec++; if (a == n) { printf("YES\n%lld", sec); break; } if (a >= n) { printf("NO"); break; } } }