CSES Exponentiation
// 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;
}

Comments

  1. 11 months ago
    2025-12-06 2:34:49

    Needed to download in7game and in7gamedownload sorted me out. Clean download, no weird stuff. Top marks. Download from in7gamedownload

  2. 11 months ago
    2025-12-19 13:49:53

    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.

  3. 10 months ago
    2025-12-29 6:18:07

    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

  4. 2 months ago
    2026-9-01 12:08:27

    I’ve been looking for a reliable platform and this one really delivers. The login process is super smooth and the games are top-notch. Highly recommend checking out 8k8ocomlogin for a great experience!

  5. 1 month ago
    2026-9-25 7:10:56

    Solid platform with a great selection of games. I’ve tried many others but this one feels the most professional. Check out bdz444 for a great time.

  6. 1 month ago
    2026-10-02 23:19:36

    Really honest platform with fair odds. I appreciate how transparent everything is here. Good luck to everyone playing! pk365lucky

  7. 6 days ago
    2026-10-27 14:42:52

    What a wonderful discovery for anyone chasing that lucky streak. The login process is as easy as pie and the slot games bring such a joyful energy to your screen. I appreciate how the platform keeps things light and entertaining while still offering serious rewards. Give it a spin and see for yourself. phtg777casinologin.ph

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous
Next