Mail.Ru Cup 2018 Раунд 3 |
---|
Закончено |
Аркадий и его друзья любят играть в шашки на доске $$$n \times n$$$. Строки и столбцы доски пронумерованы от $$$1$$$ до $$$n$$$.
Друзья недавно выиграли какой-то турнир, поэтому Аркадий хочет поздравить их и подарить конфеты. Вспомнив старинную притчу (но не ее мораль), Аркадий решил дать друзьям по одному набору конфет за каждую клетку доски: набор конфет, соответствующий клетке $$$(i, j)$$$, будет состоять из ровно $$$(i^2 + j^2)$$$ конфет особенного для этой клетки типа.
Всего друзей, выигравших турнир, $$$m$$$. Сколько же из этих $$$n \times n$$$ наборов конфет можно разделить поровну на $$$m$$$ частей, не разделяя конфеты на части? Обратите внимание, что каждый набор нужно делить независимо, так как конфеты в разных наборах разные.
Единственная строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 10^9$$$, $$$1 \le m \le 1000$$$) — размер доски и количество частей, на которые нужно делить наборы.
Выведите одно целое число — количество наборов, которые можно поделить поровну.
3 3
1
6 5
13
1000000000 1
1000000000000000000
В первом примере только набор, соответствующий клетке $$$(3, 3)$$$, может быть разделен поровну ($$$3^2 + 3^2 = 18$$$, а это делится на $$$m=3$$$).
Во втором примере наборы, соответствующие следующим клеткам, могут быть разделены поровну:
В третьем примере все наборы могут быть поделены поровну, поскольку $$$m = 1$$$.
Название |
---|