import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int number = in.nextInt();
int[] goRoom = new int[18259];
// goRoom은 값의 범위안에 개수
goRoom[0] = 2;
goRoom[1] = 8;
goRoom[2] = 20;
for (int i =0; i < 18258; i++)
{
goRoom[i+1] = goRoom[i] + 6*(i+1);
}
for (int i = 0; i< 18258; i++)
{
if (number < goRoom[i])
{
System.out.println(i+1);
break;
}
}
// 1 -> 방 1개 2~7 -> 방 2개 8~19 -> 방 3개 20~37 -> 방 4개 38~61 -> 방 5개.
}
}
숫자 범위에 따른 방의 개수를 체크한 후 그 경계숫자를 기준으로 잡은 후 규칙을 찾고 for문으로 식을 만들었는데 맨 처음에는 배열의 크기를 너무 크게 해서 메모리 오류가 발생하였다. 그래서 백준에 주어진 number의 범위를 확인 후 그 범위까지만 가능하게 만들어서 18259라는 숫자가 나왔다. 오랜만에 수학문제 푸는 기분이었다.