Виртуальное соревнование – это способ прорешать прошедшее соревнование в режиме, максимально близком к участию во время его проведения. Поддерживается только ICPC режим для виртуальных соревнований.
Если вы раньше видели эти задачи,
виртуальное соревнование не для вас – решайте эти задачи в архиве.
Если вы хотите просто дорешать задачи, виртуальное соревнование не для вас – решайте эти задачи в архиве.
Запрещается использовать чужой код, читать разборы задач и общаться по содержанию соревнования с кем-либо.
Dreamoon хочет подняться по лестнице, состоящей из n ступенек. За один шаг он может преодолеть 1 или 2 ступеньки. При этом, Dreamoon хочет, чтобы количество шагов было кратно целому числу m.
Какое минимальное количество шагов ему придётся сделать, чтобы подняться, выполнив своё условие?
Входные данные
В единственной строке записано два целых числа через пробел — n, m (0 < n ≤ 10000, 1 < m ≤ 10).
Выходные данные
Выведите единственное число — минимальное количество шагов, кратное m. Если способа взобраться по лестнице, выполнив условие задачи, не существует, выведите - 1.
Примеры
Входные данные
10 2
Выходные данные
6
Входные данные
3 5
Выходные данные
-1
Примечание
В первом примере Dreamoon может взойти по лестнице за 6 ходов, совершая следующие шаги: {2, 2, 2, 2, 1, 1}.
Во втором примере есть только три подходящих последовательностей шагов {2, 1}, {1, 2}, {1, 1, 1} длины 2, 2, и 3 соответственно. Все эти числа не кратны 5.