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 os.path
#import random

from sets import Set

_modulo =10**9 + 7


	
def main():
	import sys
	#from sets import Set
	#import math
	#from Queue import PriorityQueue
	#from operator import itemgetter
	#from decimal import Decimal, Context
	#from pprint import pprint

	#ctx = Context(prec=50)
	
	
	_max = 1229
	
	N = long(sys.stdin.readline().strip())
	
	
	k = 0
	total = 0
	while total < N:
		k += 1
		total += (k*(k+1))/2
	
	if total > N:
		k -= 1
		
	print(k)

	
	
if __name__ == "__main__":

	#import time
	#the_start_time = time.time()
	
	main ()
	
	#print time.time() - the_start_time
	
	