0762 - 生放送

時間制限 1 秒 / メモリ制限 64 MB / 得点 1 / Writer P_ei1623 / x 7 / 統計 /

    タグ:

TLE
1sec
MLE
64MB
得点
1

問題の背景

ある日、某有名動画配信者であるHちゃんはt時間の間、生放送を実施した。

Hちゃんはこの生配信の視聴者全体の盛り上がり度が気になった。

分かっている情報は視聴者の人数nと盛り上がり度の平均mである。

視聴者全体の盛り上がり度は、一人につきmの盛り上がり度がn人分あるため、n*mで求められる。

しかし、生配信にはゴールデンタイムというものが存在する。ゴールデンタイムとは、その生配信の中でも、特に企画がおもしろく、視聴者の盛り上がり度を稼ぎやすい時間のことである。

このゴールデンタイム中ならば、企画のおもしろさの相乗効果で、なんと視聴者全体の盛り上がり度はn^mにまで跳ね上がるのだ。

ここで問題が発生した。Hちゃんは人気であるが故にnとmの値が大きく、計算しようとしたところ「ふにー!」となってしまったのである。

そこであなたは計算の手伝いをすべく、プログラムを書いて手助けすることとなった。

問題

まず、Hちゃんが生配信を実施した時間の長さtが与えられる。

その後、1時間ごとの視聴者の盛り上がり度に関する情報が与えられるため、視聴者全体の盛り上がり度を計算し、出力してもらいたい。

ただし、計算結果が膨大になることが考えられるので計算結果を1000000007(109+7)で割ったあまりを出力せよ。

また、計算結果の大きさを抑えるため、計算結果だけでなく計算前の値も1000000007(109+7)で割ったあまりとする。

入力

t
n0 m0 g0
n1 m1 g1
 ・
 ・
 ・
nt-1 mt-1 gt-1

1行目にHちゃんが生配信を実施した時間 t が与えられる。

続く t 行にわたって、1時間ごとの視聴者の人数 n 、盛り上がり度の平均 m 、ゴールデンタイムかを表す g が空白区切りで入力される。

g が1の時はゴールデンタイムである、0の時はゴールデンタイムでないことを表す。

出力

1時間ごとの視聴者全体の盛り上がり度を1行に出力せよ。

制約

全ての入出力ケースにおいて以下を満たす。

  • 1 ≦ t ≦ 10
  • 1 ≦ n ≦ 109
  • 1 ≦ m ≦ 1013

入出力例

入力例1

3
2 3 0
2 3 1
3 8 1

出力例1

6
8
6561

入力例2

2
2 1000000000 0
2 1000000000 1

出力例2

999999993
140625001

注意点

乗算結果に関しても1000000007で割ったあまりを出力する。