%TopCoder problem
\begin{problem}{Ядра}
{balls.in}{balls.out}
{2 секунды}{256 Мебибайт}

Капитан Вася всегда держит на своем корабле запас пушечных ядер
для борьбы с пиратами.
Так как он привык во всем поддерживать порядок, он хранит
ядра в виде пирамид. Каждый из слоев 
одной пирамиды является равносторонним заполненным ядрами
треугольником, сторона которого содержит ровно $k$ ядер. Сторона основания
пирамиды состоит из $n$ ядер, в следующем слое сторона состоит из
$n-1$ ядра, и т.д., пока на вершину не будет положено одно ядро
(которое является равносторонним треугольником со стороной 1).

Например, пирамида размера 3 состоит из трех уровней, выглядящих так
(сверху вниз):

\begin{verbatim}
  X

  X
 X X

  X
 X X
X X X
\end{verbatim}

Ясно, что каждый из треугольников может содержать только 1, 3, 6, 10 и т.д.
ядер. Таким образом, пирамида может содержать только 1, 4, 10, 20, и т.д. ядер.

Вася отправляется в плавание и берет с собой ровно $m$ ядер.
Какое минимальное число пирамид требуется ему сложить из них на
своем корабле?

\InputFile

В первой строке входного файла записано количество тестов $1\le T\le 20$. 
В последующих $T$ строках задается количество ядер 
в $i$-м тесте $1\le m_i\le 300\,000$.

\OutputFile

Для каждого из $T$ тестов входного файла выведите в отдельной
строке минимальное количество
пирамид.

\Example

\begin{example}
\exmp{
5
1
5
9
15
91
}{
1
2
3
3
2
}%
\end{example}

\end{problem}
