-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBigmod.cpp
More file actions
69 lines (64 loc) · 1.98 KB
/
Bigmod.cpp
File metadata and controls
69 lines (64 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
#define FIO ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define MEM(a,x) memset(a,x,sizeof(a))
#define SZ(v) v.size()
#define bug cout<<"bug"<<endl;
#define pi acos(-1.0)
#define ll long long
#define pb push_back
#define mp make_pair
#define pii pair< int,int >
#define pll pair< ll,ll >
#define vii vector< int >
#define vll vector< ll >
#define vpi vector< pii >
#define vpl vector<pll>
#define MX 100005
#define EPS 1e-12
#define ss second
#define ff first
using namespace std;
using namespace __gnu_pbds;
template<typename T>
using ordered_set=tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update>;
template<typename T>
using ordered_multiset=tree<T, null_type, less_equal<T>, rb_tree_tag,tree_order_statistics_node_update>;
void Fileio(){freopen ("output.txt","w",stdout);freopen ("input.txt","r",stdin);}
inline ll powr(int a,int b){ll res=1;while(b){if(b&1) res*=a;a*=a;b/=2;}return res;}
int cases=1;
#ifdef ppqq
#define debug(...) __f(#__VA_ARGS__, __VA_ARGS__)
template < typename Arg1 >
void __f(const char* name, Arg1&& arg1){
cerr << name << " is " << arg1 << std::endl;
}
template < typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args){
const char* comma = strchr(names+1, ',');
cerr.write(names, comma - names) << " is " << arg1 <<" ";
__f(comma+1, args...);
}
#else
#define debug(...)
#endif
///******************************************START******************************************
ll M = 10000007;
ll bigmod(ll N,ll P)
{
if(P==0) return 1;
if(P%2==0)
{
ll ret=bigmod(N,P/2);
return ((ret%M)*(ret%M))%M;
}
else return ((N%M)*(bigmod(N,P-1)%M))%M;
}
int main()
{
FIO;
cout<<bigmod(2,32);
}