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


public class Main {

	public static void main(String[] args) throws NumberFormatException, IOException{
		//∑∑i = ∑(n/2)(n+1)
		//	  = ∑(n^2/2) + n/2
		// (n^3/3 + n^2/2 + n/6)/2n + (n/2)(n+1)/2n
		// (4^3/3 + 4^2/2 + 4/6)/8 + (4/2)(4+1)/8
		// (n(n+1)(2n+1)/6)/2n + (n/2)(n+1)/2n
		// (4(4+1)(8+1)/6)/8 + (4/2)(5)/8
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(bf.readLine());
		int i;
		for(i=1; n>=0; ++i){
			n -= (double)i/2.0 * (i+1);
		}
			
		
		System.out.println(i-2);
	}

}
