Universal Cup Judging System

Universal Cup

Límite de tiempo: 1.0 s Límite de memoria: 256 MB Puntuación total: 100 Hackeable ✓
Estadísticas

Na nieskończenie dużej podłodze musisz ułożyć nieskończenie wiele płytek.

Każda płytka ma wzór kwadratowej siatki o wymiarach $n \times n$. Każda komórka siatki na płytce ma pasek świetlny LED przymocowany wzdłuż jej dolnej oraz lewej krawędzi; paski te mają różne kolory, tworząc barwny wzór.

Wzór na każdej płytce jest dokładnie taki sam. Podczas układania płytek umieszczamy nieskończenie wiele płytek bezszwowo obok siebie, tworząc nieskończenie duży wzór z pasków świetlnych.

Dostępnych jest $k$ różnych kolorów i musisz wybrać odpowiednie kolory dla łącznie $2n^2$ pasków świetlnych na jednej płytce, po czym pozostałe płytki automatycznie powielą ten schemat kolorowania. Podczas układania wszystkie płytki będą kładzione w tym samym kierunku, co oznacza, że można je traktować jako bezpośrednie przesunięcie (translację) pojedynczej płytki i sklejenie ich ze sobą bez obracania.

Spacerując po podłodze, chcesz wiedzieć, ile jest istotnie różnych schematów kolorowania płytek. Ponieważ podłoga jest nieskończona, a osoba obserwująca płytki może być zwrócona w różnych kierunkach (północ, południe, wschód, zachód), dwa schematy definiujemy jako istotnie takie same wtedy i tylko wtedy, gdy:

Podczas obserwacji nieskończonej płaszczyzny podłogi utworzonej przez te dwa schematy istnieje ciąg przesunięć lub obrotów (z wyłączeniem odbić lustrzanych), który sprawia, że kolory pasków świetlnych we wszystkich miejscach na podłodze stają się całkowicie identyczne — wówczas te dwa schematy uznaje się za istotnie takie same.

Wejście

W jednym pliku testowym znajduje się wiele przypadków testowych. Pierwszy wiersz wejścia zawiera jedną dodatnią liczbę całkowitą $T$ ($1 \le T \le 10$), oznaczającą liczbę przypadków testowych.

Dla każdego przypadku testowego:

  • Pierwszy wiersz zawiera dwie liczby całkowite $n$ oraz $k$ ($1 \le n \le 10^9$, $1 \le k \le 10^9$), oznaczające odpowiednio rozmiar wzoru oraz liczbę kolorów.

Wyjście

Dla każdego przypadku testowego wypisz w jednym wierszu jedną liczbę całkowitą, oznaczającą liczbę istotnie różnych schematów modulo $10^9 + 7$.

Przykład

Wejście 1

3
1 2
2 2
114514 5201314

Wyjście 1

3
31
377726028

Uwaga

Poniższy obrazek przedstawia 19 schematów konstrukcyjnych dla $n = k = 2$ (aby lepiej zilustrować efekt ułożenia płytek, każdy obrazek pokazuje 9 płytek ułożonych we wzór $3 \times 3$, z diodami LED w kolorze ciemnym i jasnym). Zamieniając miejscami kolory ciemny i jasny w pierwszych 12 schematach, można uzyskać kolejne 12 schematów, co daje łącznie 31 schematów.

problem_15430_1.png

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.