Why is Python's modulus operation broken? : I'm getting the wrong answer for this:

    long(math.factorial(100)) % long(math.pow(12, 48))

The answer should be 0, but Python gives:

    3533293188234793495632656292699172292923858530336768L

- Why does this happen?
- How do I calculate that correctly?