Basic version working without interactive features.
Big number library needed to handle large numbers.