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.*;
import java.util.*;
public class Main {

	public static void main(String [] args)throws IOException
	{
		FastReader sc = new FastReader();
		
		int n = sc.nextInt();
		
		int sum =0;
		int count =1;
		while(sum<=n) {
			sum+=count*(count+1)/2;
			if (sum>n)
				break;
			count++;
		}
		System.out.println(--count);
		
	}
	
	public static int gcd(int a,int b) 
	{
		
		if (a==0 || b==0)
			return 0;
		while(b!=0) {
			int temp = b;
			b = a%b;
			a = temp;
		}
		return a;
	}
	
	static class Pair implements Comparable<Pair>
	{
		int a,b;
		
		public Pair(int a,int b) {
			this.a = a;
			this.b = b;
		}
		
		public int compareTo(Pair p) {
			return this.a - p.a;
		}
	}
	
}

 class FastReader
 {
	 
	 BufferedReader br;
	 StringTokenizer st;
	 
	public FastReader() 
	{
		 br = new BufferedReader(new InputStreamReader(System.in));
	}
	
	String next() 
	{
		while (st == null || !st.hasMoreElements())
        {
            try
            {
                st = new StringTokenizer(br.readLine());
            }
            catch (IOException  e)
            {
                e.printStackTrace();
            }
        }
        return st.nextToken();
	}
	
	int nextInt()
    {
        return Integer.parseInt(next());
    }

    long nextLong()
    {
        return Long.parseLong(next());
    }

    double nextDouble()
    {
        return Double.parseDouble(next());
    }

    String nextLine()
    {
        String str = "";
        try
        {
            str = br.readLine();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return str;
    }
	
}
