F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Birthday Toy

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1066    Accepted Submission(s): 588


Problem Description
AekdyCoin loves toys. It is AekdyCoin¡¯s Birthday today and he gets a special ¡°Toy¡±.
The ¡°Toy¡± is in bulk and AekdyCoin has to make one by him. Let¡¯s assume that the ¡°Toy¡± has N small white beads and one Big bead .If someone want to make a ¡°Toy¡±, he (or she) must always puts the Big bead in center, and then connect the other N small beads around it by using N sticks with equal length, and then the N small beads must be connected by N sticks with equal length, and it could be seen as a regular polygon. Figure 1 shows a ¡°Toy¡± with 8 small white beads and one big white bead.

Now AekdyCoin has C kinds of available color, say blue, green, yellow, pink ¡­etc. He wants to color these beads, but he thinks that must be too boring and stupid. So he colors these beads with one role: any adjacent beads couldn¡¯t have same color. Figure 2 shows a legal situation, and Figure 3 shows an illegal situation.


It seems that the ¡°Toy¡± becomes more interesting for AekdyCoin right now; however, he wants to color the big bead in center. Of course, he should follow the role above.

Now AekdyCoin begins to play with the ¡°Toy¡±, he always colors the big beads and then the other small beads. He should color under the rule above. After several minutes, AekdyCoin finally makes a perfect ¡°Toy¡±. Figure 4 shows a situation that is under the color rule.

AekdyCoin now want to know the different method to color the ¡°Toy¡± whit at most K color. (¡°Toy¡± contains N small beads and one big bead.)
But, no, the problem is not so easy .The repetitions that are produced by rotation around the center of the circular necklace are all neglected. Figure 5 shows 8 ¡°Toy¡±, they are regard as one method.


Now AekdyCoin will give you N and K, he wants you to help him calculate the number of different methods, because the number of method is so huge, so AekdyCoin just want you to tell him the remainder when divided by M.
In this problem, M = 1,000,000,007.

 

Input
The input consists of several test cases.(at least 1000)
Every case has only two integers indicating N, K
(3<=N<=10^9, 4<=K<=10^9)
 

Output
For each case, you should output a single line indicates the remainder of number of different methods after divided by M.
 

Sample Input
3 4 3 5 3 17 162 78923
 

Sample Output
8 40 19040 19469065
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-04-20 05:07:11, Gzip enabled