AT_arc064_d [ARC064F] Rotated Palindromes
题目描述
高桥君和青木君决定合作构造一个数列。
首先,高桥君需要准备一个满足以下所有条件的数列 $a$:
- $a$ 的长度为 $N$。
- $a$ 的每个元素都是 $1$ 到 $K$ 之间的整数。
- $a$ 是回文数列。也就是说,将 $a$ 逆序后得到的数列与原数列相同。
接下来,青木君可以任意多次重复以下操作:
- 将 $a$ 的第一个元素移动到末尾。
经过上述过程后,最终会得到一个数列 $a$。
请问,最终可能得到多少种不同的数列 $a$?请输出答案对 $10^9+7$ 取模后的结果。
输入格式
输入从标准输入读取,格式如下:
> $N$ $K$
输出格式
输出最终可能得到的不同数列 $a$ 的种数,对 $10^9+7$ 取模。
说明/提示
### 数据范围
- $1 \leq N \leq 10^9$
- $1 \leq K \leq 10^9$
### 样例解释 1
共有如下 $6$ 种情况:
- $(1, 1, 1, 1)$
- $(1, 1, 2, 2)$
- $(1, 2, 2, 1)$
- $(2, 2, 1, 1)$
- $(2, 1, 1, 2)$
- $(2, 2, 2, 2)$
由 ChatGPT 4.1 翻译