how to store value in big integer
//Facto Sum-hackerblocks
import java.util.*;
import java.math.BigInteger;
public class Main {
static BigInteger fact(int n){
BigInteger b= new BigInteger("1");
for(int i=2;i<=n;i++){
b=b.multiply(BigInteger.valueOf(i));
}
return b;
}
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int []arr= new int[n];
for(int i=0;i<n;i++){
arr[i]=sc.nextInt();
}
BigInteger sum=new BigInteger("0");
for(int i=0;i<n;i++){
BigInteger x=(sum.add(fact(arr[i])));
BigInteger t= new BigInteger("107");
BigInteger y= x.mod(t);
System.out.println(y);
}
}
}