在一場色彩設計比賽中,參賽者要替一串裝飾燈球上色。
每顆燈球都必須從 $k$ 種顏色中選一種來塗,而評審最在意的條件只有一個:相鄰的兩顆燈球顏色不能相同。
不過這串燈球有兩種擺法:
直線排列:第 $i$ 顆只和第 $i-1$、$i+1$ 顆相鄰。
環狀排列:第 $1$ 顆和第 $n$ 顆也相鄰,形成一個圓圈。
請你計算有多少種合法塗色方式,答案對 $10$$9$ $+ 7$ 取餘數。
對於所有測試資料:
$1 \le ty \le 2$,若 $ty = 1$ 則燈球是直線排列,若 $ty = 2$ 則燈球是環狀排列。
$3 \le n \le 10$$18$
$1 \le k \le 10$$18$
共輸入一行,
第一行輸入三個數字 $ty,\ n,\ k$。
輸出一個數字代表答案。
2 5 3
30
2 3 2
0
1 3 3
12
| No. | Testdata Range | Constraints | Score |
|---|---|---|---|
| 1 | 0~2 | 範例測試資料 | 0 |
| 2 | 0~19 | $n \le 15$ 且 $k \le 3$ | 10 |
| 3 | 2, 20~29 | $ty = 1$ 且 $n,\ k \le 1000$ | 10 |
| 4 | 2, 20~39 | $ty = 1$ 且 $n \le 10$$6$ | 15 |
| 5 | 2, 20~49 | $ty = 1$ | 5 |
| 6 | 0~1, 50~59 | $ty = 2$ 且 $n,\ k \le 1000$ | 15 |
| 7 | 0~1, 50~69 | $ty = 2$ 且 $n \le 10$$6$ | 35 |
| 8 | 0~1, 50~79 | $ty = 2$ | 10 |