# Include <stdio. h> <br/> # define ll unsigned long int </P> <p> inline ll Mod (ll a, LL B) <br/>{< br/> while (A> = B) <br/> A-= B; <br/> return; <br/>}< br/> // a * B mod C <br/> inline ll mulandmod (ll a, ll shl_ B, ll C) <br/>{< br/> ll Val, pre; <br/> pre = Mod (a, c); <br/> val = 0; <br/> while (shl_ B) <br/>{< br/> If (shl_ B & 0x1) <br/> val = Mod (Val + pre, C ); <br/> shl_ B >>= 1; <br/> pre = Mod (pre <1, C); <br/>}< br/> RET Urn val; <br/>}</P> <p> inline ll a_bmodc (ll a, ll shl_ B, ll C) <br/>{</P> <p> ll Val, pre; <br/> If (shl_ B & 0x1) <br/> val = Mod (, c); <br/> else <br/> val = 1; <br/> shl_ B >>= 1; <br/> pre = mulandmod (a,, c); <br/> while (shl_ B) <br/>{< br/> If (shl_ B & 0x1) <br/> val = mulandmod (Val, pre, c); <br/> shl_ B> = 1; <br/> pre = mulandmod (PRE, pre, c); <br/>}< br/> return val; <br/>}</P> <p> int main () <br/> {<br/> ll A, B, C; <br/> While (scanf ("% LlU", & A, & B, & C )! = EOF) <br/> printf ("% LlU/N", a_bmodc (A, B, C); <br/> return 0; <br/>}</P> <p>