0 - 19 pass refactored to an Array
0 - 29 pass
0 - 39 pass and some refactoring
0 - 99 pass with some more refactoring
Some test refactoring
0 - 1999 pass
0 - 999_999 pass
It raises an exception if maximum value overflows