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>
def bisectionsearch(L,left,right,k):
	mid=(left+right)//2
	if(right-left==1):
		return left
	else:
		if(L[left]<=k<L[mid]):
			return bisectionsearch(L,left,mid,k)
		elif(L[mid]<=k<L[right]):
			return bisectionsearch(L,mid,right,k)
		elif(k==L[right]):
			return right
		else:
			return -1

n=int(input())
x=int((6*n)**(1/3)+2)
L=[(i+1)*(i+2)*(i+3)//6 for i in range(x)]
print(bisectionsearch(L,0,x-1,n)+1)
