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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReadStdinInt {
    public static void main(String[] ap) {
        String line = null;
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    System.in));
            int x = Integer.parseInt(br.readLine());
            System.out.println(isTriangular(x) ? "YES" : "NO");
        } catch (NumberFormatException ex) {
            System.err.println("Not a valid number: " + line);
        } catch (IOException e) {
            System.err.println("Unexpected IO ERROR: " + e);
        }
    }

    static boolean isTriangular(int x) {
        int[] array = { 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105,
                120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351,
                378, 406, 435, 465, 496 };
        for (int i = 0; i < 31; i++) {
            if (x == array[i])
                return true;
        }
        return false;
    }
}
