Kiểm tra siêu máy tính

View as PDF

Submit solution


Points: 0.84 (partial)
Time limit: 0.98s
Memory limit: 256M
Input: stdin
Output: stdout

Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

yenthanh132 vừa mới mua được một chiếc siêu máy tính, mạnh gấp trăm lần siêu máy tính mạnh nhất thế giới hiện nay - Sequoia - có thể tính được ~16{,}32~ triệu tỷ ~(16{,}32~ ~\times~ ~10^{15})~ phép tính trong một giây. Để thử nghiệm sức mạnh chiếc siêu máy tính của mình, yenthanh132 đã viết ra một chương trình đơn giản để tính phép tính các phép tính có dạng ~a^{b} \bmod c~. Kết quả chiếc siêu máy tính này đã tính ra kết quả trong chớp nhoáng mặc dù yenthanh132 đã nhập vào những số cực kì lớn.

Nhưng với tính vốn rất cẩu thả của mình, yenthanh132 sợ có sai sót trong chương trình vừa viết nên muốn kiểm tra lại, nhưng nếu tiến hành kiểm tra thì yenthanh132 sẽ lại sợ có sai sót trong quá trình kiểm tra nên sẽ phải tiến hành kiểm tra lại quá trình kiểm tra trước đó của mình... đó sẽ là một vòng lặp vô tận... chỉ mới liên tưởng đến việc đó thôi mà yenthanh132 đã muốn xỉu rồi @@

Bạn là một người tốt bụng, và cũng là một lập trình viên siêu hạng, tuy không có được chiếc siêu máy tính như yenthanh132 nhưng hãy giúp anh ta tính kết quả của bài toán ~a^{b} \bmod c~ một cách chính xác để yenthanh132 có thể lấy kết quả của bạn để kiểm tra xem chương trình của anh ta xuất ra có đúng không.

Input

Dòng đầu tiên chứa số ~a~. ~(2 \le a < 10^{1000000})~

Dòng thứ hai chứa số ~b~. ~(1 \le b < 10^{1000000})~

Dòng chứ ba chứa số ~c~. ~(2 \le c \le 10^{9})~

Chú ý: số ~a~, ~b~ có thể có độ dài lên tới ~999999~ chữ số.

Output

Một dòng duy nhất là kết quả của phép tính ~a^{b} \bmod c~.

Sample Input 1

2
5
1000000

Sample Output 1

32

Sample Input 2

123
456
123456

Sample Output 2

17505

Comments

Please read the guidelines before commenting.



  • -1
    chunguyen2k8  commented on April 4, 2024, 7:57 a.m.

    Số Học Hay thật :3