Fixed the factorial to work with larger numbers, it'll still overflow once the number is too big though