AT_ijpc2015_d 格子点
Description
[problemUrl]: https://atcoder.jp/contests/ijpc2015/tasks/ijpc2015_d
多角形の中の格子点を数えることに興味を持っていたすぬけ君はピックの定理を知り、 格子点に対する興味を失ってしまった。
そこで、すなけ君はすぬけ君を励ますために特別な平面を用意した。
彼が用意した平面は $ xy $ 平面の $ x,y≧0 $ を満たす領域であったが、その格子点$ (a,b) $の各々の上には $ (0,0) $から格子点だけを通って↑と→にだけ進んで$ (a,b) $に到達する方法の数、すなわち$ _{a+b}C_a $という値が割り当てられていた。
すぬけ君はこの平面をとても気に入り、すなけ君にたくさんの質問をしてきた。
すぬけ君「この平面の端(二つの軸)と$ ax+by=c $という直線に囲まれた領域の直角三角形の内部と周上に存在する格子点に書かれている値の和っていくつ?」
すなけ君「こらこらそんな大きな数言ってもわからないでしょ。落ち着きなさい。」
すぬけ君「やだー。じゃあ mod 1000000007 でいいから答えて!」
すなけ君はこんなにすぬけ君がはしゃぐとは思っていませんでした。すなけ君の代わりにすぬけ君の質問に答えてください!
Input Format
入力は以下の形式で標準入力から与えられる。
> $ Q $ $ a_1 $ $ b_1 $ $ c_1 $ . . . $ a_Q $ $ b_Q $ $ c_Q $
- 一行目にはクエリの数 $ Q(1≦Q≦1000000) $ が与えられる。
- 続く $ Q $ 行には、クエリの情報が与えられる。$ i+1\ (1≦i≦Q) $ 行目には$ i $ 個目のクエリの情報が与えられ、$ a_ix+b_iy=c_i $ $ (1≦a_i,b_i,c_i≦10000) $ がすぬけ君の質問する直線を表している。
Output Format
$ i(1≦i≦Q) $ 行目には $ i $ 個目のクエリに対する答えを一行に出力せよ。mod 1000000007 で答えることに注意すること。また、出力の末尾に改行を入れること。
Explanation/Hint
### 配点
この問題には部分点がありません。すべてのテストケースに正解すれば100点です。