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 elevator_distance(this_list):
#     s = 0
#     for i in range(len(this_list)-1):
#         s += abs(this_list[i] - this_list[i + 1])
#     return s
#
# print(elevator_distance([5,2,8]))

# def median(this_list):
#     this_list.sort()
#     len_list = len(this_list)
#     if len(this_list) % 2 == 0:
#         return (this_list[len_list//2] + this_list[len_list//2-1])/2
#     else:
#         return this_list[len_list//2]
#
# print(median([1, 2, 3, 4]))

a = int(input())
c = 0
i = 0
e = 0
while c <= a:
    e += 1
    i += e
    c += i
print(e - 1)