Use BigInteger implementation of factorial