BigInteger class is used for mathematical operations involving large integers with magnitudes too large for primitive data types. For example 100-factorial is 158 digits - much larger than a
long can represent.
BigInteger provides analogues to all of Java's primitive integer operators, and all relevant methods from
java.lang.Math as well as few other operations.