{"id":"integer-mod-pow","version":"1.0.0","description":"Compute base^exponent mod modulus exactly using fast modular exponentiation.","supported_operations":["integer mod pow","modular exponentiation","modular power","fast exponentiation mod m"],"unsupported_operations":["negative exponent","modular inverse","floating-point power"],"semantics":["base and exponent are canonical integer strings; modulus is a canonical integer string.","exponent must be non-negative; a negative exponent is rejected (use integer-mod-inverse first for negative exponents).","modulus must be a positive canonical integer; zero and negative moduli are rejected.","base may be negative or exceed the modulus; it is reduced modulo modulus before exponentiation, matching mathematical convention (result is always in [0, modulus)).","modulus 1 always yields 0.","The result is base^exponent mod modulus as a canonical non-negative integer string, computed by binary exponentiation so exponent size does not cause a slow loop.","Each input may have at most 1000 digits excluding sign; the result has fewer digits than modulus."],"limits":{"max_digits":1000},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["base","exponent","modulus"],"properties":{"base":{"type":"string","minLength":1,"maxLength":1001},"exponent":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":1000},"modulus":{"type":"string","minLength":1,"maxLength":1001}}},"output_schema":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string"}}},"examples":[{"input":{"base":"4","exponent":"13","modulus":"497"},"output":{"value":"445"}}],"execute_url":"/v1/tools/integer-mod-pow/versions/1.0.0/execute"}