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.*;
import java.util.*;
import java.math.*;

public class Main {
	public static void main(String[] args) throws IOException {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		InputReader in = new InputReader(inputStream);
		PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
		Task solver = new Task();
		solver.solve(in, out);
		in.close();
		out.close();
	}

	static class Task {
		public void solve(InputReader in, PrintWriter out) throws IOException {
			int n=in.nextInt();
			Set<Integer> tri=new HashSet<>();
			for (int i=1; i<100; i++) tri.add(i*(i+1)/2);
			out.println(tri.contains(n)?"YES":"NO");
		}
	}
	
	static class InputReader {
		private BufferedReader reader;
		private StringTokenizer tokenizer;

		public InputReader(InputStream stream) {
			reader = new BufferedReader(new InputStreamReader(stream));
			tokenizer = null;
		}

		public int nextInt() throws IOException {
			return Integer.parseInt(nextToken());
		}
		
		public String nextString() throws IOException {
			return nextToken();
		}

		private String nextToken() throws IOException {
			while (tokenizer == null || !tokenizer.hasMoreTokens()) {
				tokenizer = new StringTokenizer(reader.readLine());
			}
			return tokenizer.nextToken();
		}

		public void close() throws IOException {
			reader.close();
		}
	}
}