docs: public static long factorial(int n)
      {
          if (n < 0 || n > MAX_LONG_FACTORIAL)
          {
              throw new IllegalArgumentException("Argument must be in the range 0 - 20.");
          }
          long factorial = 1;
          for (int i = n; i > 1; i--)
          {
              factorial *= i;
          }
          return factorial;
      }