Vanya got n cubes. He decided to build a pyramid from them. Vanya wants to build the pyramid as follows: the top level of the pyramid must consist of 1 cube, the second level must consist of 1 + 2 = 3 cubes, the third level must have 1 + 2 + 3 = 6 cubes, and so on. Thus, the i-th level of the pyramid must have 1 + 2 + ... + (i - 1) + i cubes.

Vanya wants to know what is the maximum height of the pyramid that he can make using the given cubes.

Input

The first line contains integer n (1 ≤ n ≤ 104) — the number of cubes given to Vanya.

Output

Print the maximum possible height of the pyramid in the single line.

Examples

Input

1


Output

1


Input

25


Output

4

Note

Illustration to the second sample: 

<image>
import java.util.*;


public class CodeForces implements Runnable {
	
	private Scanner scanner;

	public static void main(String args[]) {
		new Thread(new CodeForces()).start();
	}

	public void run() {

		scanner = new Scanner(System.in);

		solution();

		scanner.close();
	}

	//492A, A

	public void solution() {
		long n = scanner.nextInt();
		
		long i = 1;
		long sum = 0;

		int count = 0;

		while (true) {
			sum += i * (i + 1) / 2;

			if (sum > n) {
				break; 
			}

			i++;
			count++;
		}

		System.out.println(count);
	}

	class Schedule {
		private int x;
		private int y;

		public Schedule(int x, int y) {
			this.x = x;
			this.y = y;
		}
	}

	private boolean isPrime(int n) {
		if (n <= 1) {
			return false;
		} else if (n <= 3) {
			return true;
		} else if (n % 2 == 0 || n % 3 == 0) {
			return false;
		}

		int i = 5;

		while (i * i <= n) {
			if (n % i == 0 || n % (i + 2) == 0) {
				return false;
			}

			i = i + 6;
		}

		return true;
	}

}