2313 - 分组

小Z最近在研究数学,尤其是分组问题最令小Z感兴趣。 分组问题是指将n个不同的人分到若干组中,使得每个组中的人数一样,求方案数。譬如n=4时,不同的分组方案如下: 1.{1}{2}{3}{4} 2.{1,2}{3,4} 3.{1,3}{2,4} 4.{1,4}{2,3} 5.{1,2,3,4} 小Z自然不满足于此,他还想用m种颜色给这些方案染色,再计算染色的方案数。如n=4 m=2时,一共有5种分组方案,那么答案则是22222=32种。 Your Task 给定n m,计算染色的方案数。 由于答案可能很大,请输出它对10^9-401取模后的结果。

Input

第一行T表示数据组数 对于每组数据,仅一行n m

Output

对于每组数据,在一行中输出答案

Examples

Input

2

4 2

2 3

Output

32
9

Hint

100%:T≤10,1≤n,m≤2*10^9

Time Limit 1 second
Memory Limit 128 MB
Stats
上一题 下一题