#include<stdio.h>
int exp_mod(int b,int w, int p){
//compute b raised to the w-th power mod p
int result=1;
while (w>0){
if (w%2) result*=b;
result%=p;
b*=b;
b%=p;
w/=2;
}
return result;
}
int main()
{
printf("%d\n", exp_mod
(2, 10, 7)); return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCAgZXhwX21vZChpbnQgYixpbnQgdywgaW50IHApewovL2NvbXB1dGUgYiByYWlzZWQgdG8gdGhlIHctdGggcG93ZXIgbW9kIHAgCiAgaW50IHJlc3VsdD0xOwogIAogIHdoaWxlICh3PjApewogICAgaWYgKHclMikgcmVzdWx0Kj1iOwogICAgcmVzdWx0JT1wOwogICAgYio9YjsKICAgIGIlPXA7CiAgICB3Lz0yOyAgICAKICB9CiAgcmV0dXJuIHJlc3VsdDsKfQoKaW50IG1haW4oKSAKewogICBwcmludGYoIiVkXG4iLCBleHBfbW9kKDIsIDEwLCA3KSk7ICAKICAgcmV0dXJuIDA7Cn0=