Codeforces Beta Round 72 (Div. 1 Only) |
---|
Закончено |
В один из самых обыкновенных будних дней Валера пошел в школу (а куда же еще ему идти), где на уроке математики его любимая учительница Валерия Валерьевна рассказывала ученикам про делители. Несмотря на то, что Валера любил математику, эта тема его не слишком заинтересовала. Даже более того, она показалась ему настолько скучной, что он уснул прямо посреди урока. И только громкий звук звонка смог прервать его сладкий сон.
Разумеется, ценный материал и объяснения учительницы были упущены. Однако домашнее задание Валере, так или иначе, сделать придется. Поскольку он абсолютно не знает нового материала, сделать задание сам он не в состоянии. Поэтому он и обратился к Вам за помощью. Вы ведь все-таки его лучший друг и просто не можете отказать в помощи.
В домашнем задании Валеры всего лишь одна задача, которая хоть и формулируется очень просто, но имеет совсем не тривиальное решение. Её условие выглядит следующим образом: если рассмотреть все натуральные числа в отрезке [a;b], то требуется посчитать количество таких чисел из этого отрезка, что их наименьшим делителем будет являться некоторое число k (делитель равный единице учитывать не надо). Другими словами, необходимо посчитать количество таких чисел из отрезка [a;b], что они не делятся ни на одно число от 2 до k - 1, однако делятся на k.
В первой и единственной строке заданы три натуральных числа a, b, k (1 ≤ a ≤ b ≤ 2·109, 2 ≤ k ≤ 2·109).
В единственной строке выведете ответ на поставленную задачу.
1 10 2
5
12 23 3
2
6 19 5
0
Комментарии к примерам из условия:
В первом примере ответом являются числа 2, 4, 6, 8, 10.
Во втором - 15, 21.
В третьем такие числа отсутствуют.
Название |
---|