Well, if this is critical, we could also use BigInteger.