Số dư

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1700 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho 4 số nguyên dương \(A, B, C\)\(M\), trong đó \(C, M\) là hai số nguyên tố cùng nhau. Bạn hãy tính giá trị của biểu thức \((A^B/C)\%M\), biết rằng \(A^B/C\) là một số nguyên và % là phép chia lấy số dư (giống phép % trong ngôn ngữ C/C++).

Input

  • Gồm một dòng chứa 4 số nguyên \(A, B, C, M\) (\(1 \le A, B, C, M \le 10^{18}\)), trong đó \(C, M\) là hai số nguyên tố cùng nhau.

Output

  • Gồm một dòng chứa một số nguyên là câu trả lời của bài toán.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(1 \le A^B, C, M \le 10^9\).
  • Subtask \(2\) (\(40\%\) số điểm): \(1 \le A, B, C, M \le 10^9\).
  • Subtask \(3\) (\(40\%\) số điểm): \(1 \le A, B, C, M \le 10^{18}\).

Example

Test 1

Input
2 3 4 5
Output
2

Bình luận (3)

Mới nhất
Tải bình luận...