Требуется заполнить N элементов массива, пронумерованных числами от 1 до N (A[1]…A[N]), натуральными числами от 2 до N+1, использовав каждое число ровно один раз, так, чтобы значение каждого элемента массива делилось бы нацело на его номер (т.е. для каждого i A[i] делилось бы на i).
Напишите программу, которая для заданного N вычислит количество способов такого заполнения массива.
Вводится одно натуральное число N (1≤N≤60000).
Выведите одно число — искомое количество способов заполнения массива.
Пример
Входные данные | Выходные данные | Комментарии |
2 | 1 | Массив можно заполнить единственным способом: 3 2 |
Максимальное время работы на одном тесте: |
2 секунды |
Максимальный объем используемой памяти: |
64 мегабайта |
Оргкомитет и жюри Московской олимпиады проводят очередные учебно-тренировочные сборы. Победители туров на сборах получают в качестве приза мороженое. Поскольку мороженое имеет тенденцию таять, то оно должно храниться в холодильнике. Холодильник, имеющийся в 179 школе слишком мал для хранения всего запаса мороженого. Поэтому организаторы решили заказать специальный супер-пупер-большой холодильник. Новый холодильник должен быть параллелепипедом A × B × C и хранить ровно N кубических баночек мороженого размером 1 × 1 × 1. Для уменьшения потерь холода, общая площадь поверхности холодильника должна быть как можно меньше.
Например, если размер холодильника должен быть 12, возможными вариантами являются:
Размеры баночек |
Площадь поверхности |
3 × 2 × 2 |
32 |
4 × 3 × 1 |
38 |
6 × 2 × 1 |
40 |
12 × 1 × 1 |
50 |
Лучшим вариантом является 3 × 2 × 2.
Помогите организаторам сборов выбрать оптимальную форму холодильника.
Входные данные
Входной файл содержит одно число N (1 ≤ N ≤ 106).
Выходные данные
Выведите три числа A, B и C — оптимальные длины сторон холодильника. Если решений несколько — выведите любое из них.
Примеры
Входные данные |
Выходные данные |
12 |
3 2 2 |
13 |
1 13 1 |
1000000 |
100 100 100 |
По введенному натуральному числу K, не превосходящему 1 000 000, выдать K-ое по счету простое число.
Во входном файле находится одно натуральное число K.
В выходной файл выведите K-е простое число.
3
5
1
2
Для того чтобы проверить, как её ученики умеют считать, Мария Ивановна каждый год задаёт им на дом одну и ту же задачу – для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A. От года к году и от ученика к ученику меняется только число A.
Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу.
Во входном файле содержится единственное число A (1 ≤ A ≤ \(10^9\) – на всякий случай; вдруг Мария Ивановна задаст большое число, чтобы «завалить» кого-нибудь…).
В выходной файл вывести единственное число N.
1
1
8
4
У калькулятора есть две ячейки памяти: содержимое первой из них всегда отображается на табло, вторая является буфером. В начальный момент времени на табло калькулятора отображается целое число X, а в буфере записано число 0. У калькулятора работают только две клавиши: «+» и «=». При нажатии на «+» число, которое в данный момент отображено на табло, копируется в буфер. При нажатии на «=» число из буфера прибавляется к числу, отображенному на табло и результат отображается на табло, число в буфере при этом не меняется.
Требуется за наименьшее число нажатий клавиш на калькуляторе добиться того, чтобы на табло было отображено число Y.
Входной файл содержит два целых числа X и Y. Каждое из этих чисел по модулю не превышает 109.
В первую строку выходного файла выведите одно число — количество нажатий клавиш, которое потребуется для получения числа Y. Если из числа X получить число Y с помощью указанных операций невозможно, в выходной файл выведите одно число –1.
-1 -8
6
2 16
6
0 0
0