A triangular number is the number of dots in an equilateral triangle uniformly filled with dots. For example, three dots can be arranged in a triangle; thus three is a triangular number. The n-th triangular number is the number of dots in a triangle with n dots on a side. <image>. You can learn more about these numbers from Wikipedia (http://en.wikipedia.org/wiki/Triangular_number).

Your task is to find out if a given integer is a triangular number.

Input

The first line contains the single number n (1 ≤ n ≤ 500) — the given integer.

Output

If the given integer is a triangular number output YES, otherwise output NO.

Examples

Input

1


Output

YES


Input

2


Output

NO


Input

3


Output

YES
# Author: SaykaT
# Problem: 47A
# Time Created: July 21(Tuesday) 2020 || 04:24:31

#>-------------------------<#
from math import sqrt


# Helper Functions. -> Don't cluster your code.

# IO Functions. -> Input output
def io():
    n = int(input())
    return n

# Main functions. -> Write the main solution here
def solve():
    n = io()
    a = float(1)
    b = float(1)
    c = -float(n * 2)

    d = (b ** 2) - (4 * a * c)
    sol1 = (-b + sqrt(d)) / (2 * a)
    sol2 = (-b - sqrt(d)) / (2 * a)
    if n == 1:
        print('YES')
    elif sol1 > 1:
        if float(int(sol1)**2) == ((sol1 ** 2)):
            print('YES')
        else:
            print('NO')
    elif sol2 > 1:
        if sol2 == ((sol2 ** 2) ** 0.5):
            print('YES')
        else:
            print('NO')
    else:
        print('NO')

# Multiple test cases. -> When you have T test cases.
solve()
    
