Redes em um anel
Há pontos igualmente espaçados em uma circunferência, numerados de a em ordem circular. Uma rede é um conjunto de exatamente pares não ordenados de pontos distintos. Cada par representa uma ligação; não há ligações repetidas. Ligações podem se cruzar, e um cruzamento não cria um novo ponto.
Duas redes são equivalentes quando uma rotação ou uma reflexão do anel transforma uma na outra. Precisamente, deve existir , com , e , de modo que aplicar
aos dois extremos de cada ligação da primeira rede produza exatamente o conjunto de ligações da segunda rede. O resto é sempre escolhido entre e . Nenhuma outra permutação dos pontos é permitida.
Conte as redes diferentes, módulo .
Input
Uma linha com os inteiros e .
- .
- .
Output
Um inteiro: a quantidade de classes de equivalência, módulo .
Samples
Sample 1
Input
4 1
Output
2
Uma ligação pode ser um lado do quadrado ou uma diagonal.
Sample 2
Input
4 2
Output
4
Os tipos são: dois lados vizinhos; dois lados opostos; um lado e uma diagonal; ou duas diagonais.
Sample 3
Input
3 3
Output
1