// compile: make data
// run: ./data < data.in
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#ifdef LOCAL
#include <debug/codeforces.h>
#define debug(x...) _debug_print(#x, x);
#define Debug(x...) _debug_print_format(#x, x);
std::ifstream terminal("/dev/tty");
#define PP cerr<<"\033[1;30mpause...\e[0m",terminal.ignore();
#else
#define debug(x...)
#define Debug(x...)
#define PP
#endif
template<typename...Args> void print_(Args...args){((cout<<args<<" "),...)<<endl;}
#define VI vector<int>
#define VII vector<vector<int>>
#define VIII vector<vector<vector<int>>>
#define rep(i,a,b) for(int i=(a);i<(int)(b);++i)
#define sz(v) ((int)(v).size())
#define print(...) print_(__VA_ARGS__);
#define FIND(a, x) ((find(a.begin(),a.end(),(x))!=a.end())?1:0)
#define cmin(x,...) x=min({(x), __VA_ARGS__})
#define cmax(x,...) x=max({(x), __VA_ARGS__})
#define INTMAX (int)(9223372036854775807)
#define INF (int)(1152921504606846976)
#define NaN (int)(0x8b88e1d0595d51d1)
#define double long double
#define int long long
#define uint unsigned long long
#define MAXN 200010
int pow_mod(int pm_x, int pm_n, int pm_P = INF) {
constexpr auto safe_mod = [](int pm_a, int pm_m) constexpr -> int {
pm_a %= pm_m;
if (pm_a < 0) pm_a += pm_m;
return pm_a;
};
struct barrett {
uint pm__m, pm_im;
explicit barrett(uint m) : pm__m(m), pm_im((uint)(-1) / m + 1) {}
uint umod() const { return pm__m; }
uint mul(uint pm_b_a, uint pm_b_b) const {
uint pm_b_z = pm_b_a;
pm_b_z *= pm_b_b;
uint pm_b_x = (uint)(((unsigned __int128)(pm_b_z)*pm_im) >> 64);
uint pm_b_y = pm_b_x * pm__m;
return (uint)(pm_b_z - pm_b_y + (pm_b_z < pm_b_y ? pm__m : 0));
}
};
if (pm_P == 1) return 0;
barrett pm_bt((uint)(pm_P));
uint pm_r = 1, pm_y = (uint)(safe_mod(pm_x, pm_P));
while (pm_n) {
if (pm_n & 1) pm_r = pm_bt.mul(pm_r, pm_y);
pm_y = pm_bt.mul(pm_y, pm_y);
pm_n >>= 1;
}
return pm_r;
}
void solve() {
int a, b; cin >> a >> b;
printf("%lld\n", pow_mod(a, b, 1000000007));
}
int32_t main() {
ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
int _; cin >> _;
while (_--) solve();
return 0;
}
Needed to download in7game and in7gamedownload sorted me out. Clean download, no weird stuff. Top marks. Download from in7gamedownload
Saw a few ads for f8betlgoptimusl9, decided to check it out. Not bad, not bad. The welcome bonus is pretty sweet, gonna see what else they got! Excited to explore f8betlgoptimusl9.
Yo, just stumbled onto vin88win. It’s pretty slick and has more stuff than I expected. Definitely worth a look if you’re checking out different sources. Just sayin’: vin88win