Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- typedef long long ll;
- using namespace std;
- const ll mod=1e9+7;
- const int N=1e5+10;
- ll mod_pow (ll num, ll pw)
- {
- ll ret=1;
- while (pw)
- {
- if (pw&1) ret=(ret*num)%mod;
- pw>>=1;
- num=(num*num)%mod;
- }
- return ret;
- }
- ll a, b, sol=1;
- char s[N];
- void calc ()
- {
- int n=strlen(s);
- ll x=a;
- for (int i=n-1;i>=0;i--)
- {
- sol=(sol*mod_pow(x, (ll)(s[i]-'0')))%mod;
- x=mod_pow(x, 10);
- b/=10;
- }
- }
- int main()
- {
- scanf ("%lld%s", &a, s);
- calc();
- cout << sol;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement