Олимпиады по программированию

olympiads.ru

Московская олимпиада
Новости
Ссылки на странички разных лет
2006/07 учебный год
2005/06 учебный год
2004/05 учебный год
2003/04 учебный год
2002/03 учебный год
Московская городская олимпиада по программированию 2002/03
Доска объявлений олимпиады
Материалы олимпиады
Призеры олимпиады
Полная таблица результатов
Заочный тур
Информация о заочном туре
Задачи заочного тура
Об использовании тестирующей системы
Результаты заочного тура
Несколько советов
Задать вопрос оргкомитету
Заочный тур Московской городской олимпиады школьников по программированию

Задача F. Степень

Имя входного файла: f.in
Имя выходного файла: f.out
Максимальное время работы на одном тесте: 2 секунды
Максимальный объем используемой памяти: 32 мегабайта

Для того чтобы проверить, как её ученики умеют считать, Мария Ивановна каждый год задаёт им на дом одну и ту же задачу - для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A. От года к году и от ученика к ученику меняется только число A.

Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу.

Формат входных данных

Во входном файле содержится единственное число A (1≤A≤1000000000 - на всякий случай; вдруг Мария Ивановна задаст большое число, чтобы "завалить" кого-нибудь...).

Формат выходных данных

В выходной файл вывести единственное число N.

Примеры

f.in f.out
8
4
13
13