Чемпионат КРОК 2013 - Раунд 2 |
---|
Закончено |
Ярослав, Андрей и Роман любят играть в кубики. Иногда они собираются вместе и могут играть часами напролет!
Сегодня они снова вместе и снова играют. Ярослав собрал из единичных кубиков куб размера a × a × a, Андрей — b × b × b, Роман — c × c × c. После этого игра закончилась, и ребята разошлись. Теперь в комнату зашел Виталий, увидел кубы, и ему тоже захотелось собрать какой-то куб. Но какого размера должен быть этот куб? Конечно, это должен быть большой куб со стороной длины a + b + c. При этом Виталий хотел разобрать уже имеющиеся кубы Ярослава, Андрея и Романа и собрать из них свой. Однако, кубиков, из которых были построены имеющиеся кубы, было недостаточно, чтобы собрать большой куб. Известно, что Виталию не хватило ровно n кубиков. Виталий расстроился, разобрал все и ушел. Выходя из комнаты, он встретил Петю и сообщил ему, что в комнате было три куба, и что Виталию не хватило n кубиков, чтобы собрать свой.
Зайдя в комнату, Петя увидел разбросанные кубики. Ему захотелось восстановить порядок, но ведь все, что он знает о порядке — это то, что здесь было три куба из маленьких кубиков и то, что на большой куб не хватило ровно n маленьких кубиков! Помогите Пете понять, сколько существует вариантов размеров a, b, c кубов Ярослава, Андрея и Романа.
В единственной строке входных данных записано целое число n (1 ≤ n ≤ 1014). Известно, что все числа a, b, c являются целыми и положительными.
Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.
В единственную строку выходных данных выведите искомое количество вариантов. Если вдруг окажется, что не существует ни одного варианта подходящих размеров a, b, c — выводите 0.
24
1
648
7
5
0
93163582512000
39090
Название |
---|