Why isn't this code working? FCTRL2
<p>I have recently shifted from C to Java in competitive programming. But any solution which I submit shows me NZEC runtime error. One such question is <a href="https://www.codechef.com/problems/FCTRL2" rel="nofollow">https://www.codechef.com/problems/FCTRL2</a>
and my solution is </p>

<pre><code>import java.util.Scanner;
import java.math.BigInteger;

class Solution{
    public int t, i=0;
    public BigInteger N;
    public static void main(String args[]){
        Solution sol = new Solution();
        sol.scanT();
        sol.testCase();
        System.exit(0);
    }

    public void scanT(){
        Scanner sc = new Scanner(System.in);
        t = sc.nextInt();
        if(t&gt;100 || t&lt;1){
            return;
        }
    }

    public void testCase(){
        Scanner sc = new Scanner(System.in);
        for(i=0; i&lt;t; i++){
           N = sc.nextBigInteger();
           if(N.compareTo(BigInteger.ONE)&lt;0 || N.compareTo(BigInteger.valueOf(100))&gt;0){
               return;
           }
           BigInteger z =  factorial();
           System.out.println(z);
        }

    }

    public BigInteger factorial(){
      BigInteger Fact = N;
      while(N.compareTo(BigInteger.valueOf(2))&gt;0){
          Fact = Fact.multiply(N.subtract(BigInteger.ONE));
          N = N.subtract(BigInteger.ONE);
      }
   return Fact;
    }
}
</code></pre>

<p>Kindly help me find the error in my solution which results in Runtime error NZEC everytime. My solution shows correct output when run on my computer.</p>