Problem Statement: Your task is to create a large integer library, similar to what we have in Java as BigInteger.
Your library should provide functionalities to store arbitrarily large integer and perform basic math operations.
Operations to be implemented :
Fast exponentiation
GCD of 2 integers
Factorial of an integer.