Администрация города решила разбить парк на пустыре площадью $$$N \times M$$$. В парке планируется высадить деревья. Для каждого дерева нужно выделить участок прямоугольной формы с целочисленными сторонами и площадью, равной $$$S$$$.
Все участки должны быть равны, одинаково ориентированы и их стороны должны быть параллельны сторонам пустыря.
Какое наибольшее количество деревьев можно высадить в парке?
В трёх строках вводится три числа $$$N$$$, $$$M$$$, $$$S$$$ ($$$1 \leq N \cdot M \leq 10^{18}$$$, $$$1 \leq S \leq 10^{12}$$$) — длина поля, ширина поля и площадь участка соответственно.
Обратите внимание, что значения $$$N$$$, $$$M$$$ и $$$S$$$ могут превышать возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).
В первой строке выведите одно целое число — максимальное количество деревьев, которые можно высадить в этом парке. Гарантируется, что всегда удастся высадить хотя бы одно дерево.
Решения, правильно работающие при $$$N, M, S \leq 10^{2}$$$, будут оцениваться в $$$20$$$ баллов.
Решения, правильно работающие при $$$S \leq 10^{6}$$$, будут оцениваться в $$$40$$$ баллов.
10 10 1
100
2 5 2
5
4 8 9
2
В первом примере все участки будут иметь только размер $$$1 \times 1$$$, их поместится ровно $$$100$$$ штук.
Во втором примере оптимальный размер участков будет $$$2 \times 1$$$, их поместится ровно $$$5$$$ штук.
В третьем примере оптимальный размер участка будет $$$3 \times 3$$$ и участков поместится только два. Три или более участков разместить невозможно.
| Название |
|---|


