Cho ba số nguyên a, b, m (b ≥ 0, m ≥ 1). Hãy tính (a^b) mod m sử dụng kĩ thuật luỹ thừa nhanh kết hợp với toán tử bitwise (exp & 1n) và dịch phải (exp >>= 1n). Vì b có thể lớn, hãy dùng BigInt cho phép toán mod để tránh tràn số.
Một dòng gồm ba số nguyên a, b, m cách nhau khoảng trắng.
0 ≤ a ≤ 10^9, 0 ≤ b ≤ 10^9, 1 ≤ m ≤ 10^9.
Một số nguyên — (a^b) mod m.
Ví dụ:
Đầu vào:
2 10 1000
Đầu ra:
24
Giải thích:
Đang tải editor...