Игорь Сергеевич уже много лет ведет занятия в школьном кружке по информатике и рассчитывает на триумф своих воспитанников в этом году. По удачному стечению обстоятельств в этом году под его руководством собралось множество талантливых ребят, которые могут принести славу не только школе, но и всему городу. В школьном кружке на данный момент учатся
N
учеников,
M
из которых пишут на языке программирования С++, а остальные пишут на языке Cobol. Игорь Сергеевич обратил внимание на статистику олимпиад лет и заметил, что команды, которые пишут на языке C++, в среднем добиваются лучших результатов на олимпиадах. Для того чтобы все
N
учеников писали на языке C++, он разработал план.
План заключается в следующем: каждую неделю Игорь Сергеевич будет проводить тренировки, в которых будут участвовать команды по
K
человек, при этом распределение школьников на команды может меняться по его усмотрению. Игорь Сергеевич считает, что в результате тренировки внутри каждой команды выбирается язык программирования, на котором пишут большинство её участников, а меньшинство переучивается на новый выбранный язык. При этом язык, на котором писало меньшинство раньше, забывается.
Для примера, если в команде из 11 человек 7 человек пишут на Cobol, а остальные 4 — на C++, то к концу тренировки все 11 участников команды будут писать на Cobol, а С++ будет ими забыт.
Игорь Сергеевич хочет выработать методику тренировок, рассчитанную на безоговорочную победу. Требуется написать программу, которая определит за какое минимальное количество тренировок все ученики перейдут на С++.
Входные данные
В первой строке дается одно целое число
N
— общее количество учеников в школе (
1
≤
N
≤
10
9
).
Во второй строке дается одно целое число
M
— количество учеников, пишущих на языке С++ (
1
≤
M
≤
10
9
).
В третьей строке дается одно целое число
K
— количество людей в одной команде (
1
≤
K
≤
10
9
).
Гарантируется, что
N
делится без остатка на
K
, а
K
— нечетное.
Выходные данные
Ваша задача вывести одно число — минимальное количество тренировок, которое необходимо провести для того, чтобы все школьники начали писать на С++. Если добиться того, чтобы все школьники начали писать на С++ невозможно, то выведите число -1.
1. Под системой программирования понимают систему, предназначенную для разработки новых программ на конкретном языке программирования. Включает в себя: компилятор, интегрированную среду разработки, средства создания и редактирования текстов, библиотеки стандартных программ и функций, отладочные программы, различные утилиты, справочные службы и службы и другое. Существует множество языков программирования, например, Бейсик, Паскаль, Java, ЛИСП, Ассемблер и др.
Например, назначение Java - разрабатывался как язык для программирования электронных устройств, но позже стал использоваться для написания приложений серверного ПО. Он обеспечивает безопасность, стабильность и окружение для некоторой части софта на компьютере.
2. В настоящее время в программном обеспечении персональных компьютеров принято выделять следующие группы программ: системное, инструментальное и прикладное программное обеспечение.
Прикладное программное обеспечение обеспечивает решение задач в различных областях применения компьютерных систем обработки данных (текстовые, графические редакторы, электронные таблицы, базы данных и т.д.). Очень популярным видом прикладного программного обеспечения являются компьютерные игры.
3) Базовое программное обеспечение (BIOS) – записанная в постоянное запоминающее устройство программа, которая отвечает за управление всеми компонентами, установленными на материнской плате.
Аббревиатура BIOS расшифровывается как Basic Input/Output System – базовая система ввода/вывода. Раньше основным назначением BIOS была поддержка функций ввода-вывода, однако в последнее время ее функции значительно расширились.
Выделяют четыре основные функции BIOS:
1) поддержка функций ввода-вывода (за счет предоставления операционной системе интерфейса для взаимодействия с аппаратурой);
2) процедура тестирования установленного на материнской плате оборудования;
3) загрузка операционной системы;
4) управление потребляемой мощностью, а также включением и выключением источника питания.