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>
#-*- encoding:UTF-8 -*-
#
'''
피라미드 쌓기
1층 : 1
2층 : 1+2
3층 : 1+2+3
1 + 2 + ... + (i - 1) + i 개의 큐브
'''
n = input()

floor  = 1
tmp = 0
i=0
while(n>=0) :
	tmp = tmp + floor
	n -=tmp
	floor+=1



# while 조건에서 >0으로 줄경우, 0이면 딱 나오고, 2->-4처럼 애매하면 아예 한바퀴를 더도는 문제 있음
# 따라서 >=0으로 주고, 아예 한바퀴 더 돌아서 1층 늘어난 것 빼줌
# 조건 검사되기 전에 floor를 1층 증가시킴. 따라서 총 -2
print floor-2



