Problem: Panda has become a scientist recently. In his laboratory, there are infinite number of chambers where a chamber number K is connected to a chamber number K-1.  

The numbering of chambers start from 0. Initially, X number of particles are present in the chamber number 0. The number of particles present in chamber K is K times the number of particles present in chamber K-1.   You are supposed to help Panda in finding out the number of particles in a given chamber number N.  

Note: The number of particles in chamber K cannot be calculated until the number of particles in chamber K-1 are calculated.  

Input Format:

The first line will contain the integer T, the number of test cases. Each test case consists of two space separated integers N and X.   

Output Format:

For each test case, output the answer to Panda's query. Since the output can be very large, output the answer modulo 10^6+3.  

Constraints:

1 ≤ T ≤ 10^5

Subtask 1: (20 points)
1 ≤ N, X ≤ 10^5

Subtask 2: (80 points)
1 ≤ N, X ≤ 10^18SAMPLE INPUT
2
1 3
2 1

SAMPLE OUTPUT
3
2

Explanation

Case 1: For first test case, initially there were 3 particles. 
In Chamber K=1, the number of particles became 1*3 = 3.

Case 2: Initially, there is only 1 particle.
In Chamber K=1, the number of particle became 1*1 = 1.
In Chamber K=2, the number of particle became 2*1 = 2.

Solution (in PYTHON):

Solution:
import sys
from math import log
def order_size(order):
    if order <= 0: return 0
    return int(log(order, 10) + 1)
_FAC_TABLE = [1, 1]
def fact(n):
    if n < len(_FAC_TABLE):
        return _FAC_TABLE[n]
    last = len(_FAC_TABLE) - 1
    total = _FAC_TABLE[last]
    i = last + 1
    while i <= n:
        total = total*i%1000003
        _FAC_TABLE.append(total)
        i+=1
    return total
t=int(sys.stdin.readline().strip())
while t>0:
    n,k=map(long,sys.stdin.readline().strip().split(' '))
    if order_size(n)<=6 and order_size(k)<=6: print(fact(n)*k%1000003)
    else: print(0)
    t-=1