#S8U05P01. 模幂计算

模幂计算

模幂计算

难度:T2

【知识点:快速幂与基础模运算】

前置知识:本单元此前讲解的状态、边界与实现。

题目描述

给定底数 aa、非负整数指数 bb 和正整数 mm,求 aba^b 对 mm 的标准非负余数。规定任何底数的零次幂为 11,包括 000^0。

输入格式

输入整数aa、非负指数bb、正整数mm;约定a0=1a^0=1,包括a=0a=0。

规则说明

对正整数 mm 取标准余数,是取满足 0≤r<m0\le r<m 的整数 rr,使原数减去 rr 后能被 mm 整除。即使原数为负,结果也不能为负;例如 −2-2 对 55 的标准余数是 33。

输出格式

输出aba^b的模mm标准余数。

数据范围

∣a∣≤109|a|\le 10^9,0≤b≤10180\le b\le 10^18,1≤m≤1091\le m\le 10^9。

样例输入

3 13 100

样例输出

23