Олимпиадный тренинг

Задача . A. Оптимальный обмен валюты


Дни олимпиады Мегаполисов пролетели быстро, и вот участник Андрей уже в аэропорту. После пребывания в Москве у него осталось \(n\) рублей. Андрей хочет обменять их на купюры долларов или евро в любой комбинации (то есть, можно покупать одновременно и доллары, и евро). За один доллар придется отдать \(d\) рублей, а за один евро — \(e\) рублей.

Напомним, что долларовые купюры имеют номиналы \(1\), \(2\), \(5\), \(10\), \(20\), \(50\), \(100\), а купюры евро — \(5\), \(10\), \(20\), \(50\), \(100\), \(200\) (купюры номиналом в \(500\) евро в задаче отсутствуют, их тяжело найти в обменниках). Андрей может купить любой набор любых купюр. Он хочет сделать так, чтобы рублей у него осталось как можно меньше.

Помогите ему это сделать — напишите программу, которая по значениям \(n\), \(e\) и \(d\) определит, какое минимальное число рублей может остаться у Андрея после оптимального обмена валюты.

Входные данные

В первой строке входных данных находится целое число \(n\) (\(1 \leq n \leq 10^8\)) — количество рублей у Андрея.

Во второй строке находится целое число \(d\) (\(30 \leq d \leq 100\)) — стоимость одного доллара в рублях.

В третьей строке находится целое число \(e\) (\(30 \leq e \leq 100\)) — стоимость одного евро в рублях.

Выходные данные

Выведите одно целое число — минимальную сумму в рублях, которая может остаться у Андрея после оптимального обмена.

Примечание

В первом примере можно купить только \(1\) доллар, потому что купюры в \(1\) евро не существует.

Во втором примере оптимально купить \(5\) евро и \(1\) доллар.

В третьем примере можно купить одну \(10\)-долларовую купюру.


Примеры
Входные данныеВыходные данные
1 100
60
70
40
2 410
55
70
5
3 600
60
70
0

time 1500 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя