

public class Factorial
{
    public static void main(String[] args)
    {
        long out;
    
        System.out.println("Long.MAX_VALUE = " + Long.MAX_VALUE);
        
        out = factorial(20);
        System.out.println("20! =            " + out);
        
        out = factorial(21);
        System.out.println("21! =            " + out);
    }
    
    public static long factorial(long n)
    {
        long result = 1;
        
        for ( int i = 1; i <= n; i++ )
    {
            result = result * i;
        }
        return result;
    }   
}
