Ishaan was playing with numbers. He knew how to calculate the sum of numbers. He defined a function for his use which calculates the **twice** sum of first N natural numbers as sum(N).

But being curious, he modified his function to calculate something more complex. He defined his function to be sumX(N,M,K).

Now this function calculates :

sum( K + sum( K + sum( K + ...sum(K + N)...))) , continuing for M terms (Refer example for explanation).

Given N, M and K, calculate the value of sumX(N,M,K).

Since the answer can be very large, print the answer in modulo 10^9 + 7.

**Input :**

First line of input contains a single integer T denoting the number of test cases.

The only line of each test case contains 3 space-separated integers N, M and K.

**Output : **

For each test case, print the required answer in a new line.

**Constraints : **

1 <= T <= 200

1 <= N <= 1000

1 <= M <= 1000

1 <= K <= 1000

**Example :
Input : **

3

1 2 3

2 2 2

3 3 2

552

506

1120422

**Explanation : **

Case 1 :

sum(3 + sum(3 + 1) ) = sum(3 + 20) = 552

Case 2 :

sum(2 + sum(2 + 2) ) = sum(2 + 20) = 506

Case 3 :

sum(2 + sum(2 + sum(2 + 3) ) ) = sum(2 + sum( 2 + 30 ) ) = sum(2 + 1056) = 1120422

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

bhatabhi554 | 365 |

CodeBuddy | 335 |

hardikJain5 | 318 |

Akkki111 | 261 |

clone | 238 |

KshatriyaYash | 1932 |

nikhil_sojan | 1374 |

lonecoder | 1236 |

mazumderrohit8 | 1186 |

RemoveTLE | 1165 |

blackshadows | 5327 |

Ibrahim Nash | 5219 |

akhayrutdinov | 5111 |

mb1973 | 4611 |

Quandray | 4444 |

Login to report an issue on this page.