Tích lớn nhất

Xem PDF



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: 1200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho ba số nguyên \(a, b, c\) và một số nguyên dương \(M\).

Yêu cầu: Hãy tìm tích lớn nhất được tạo bởi hai trong ba số \(a, b, c\). Vì kết quả có thể rất lớn nên chỉ cần in ra phần dư khi chia cho \(M\).

Input

  • Gồm bốn số nguyên \(a, b, c, M\).
  • Các số cách nhau một dấu cách.

Output

  • Một số nguyên duy nhất là kết quả của bài toán.

Example

Test 1

Input
3 2 5 4
Output
3
Note

Tích lớn nhất: \(3 \times 5 = 15\). \(15\) chia \(4\)\(3\). Kết quả là \(3\).

Test 2

Input
2 -3 -2 100
Output
6
Note

Tích lớn nhất: \((-2) \times (-3) = 6\). \(6\) chia \(100\)\(6\). Kết quả là \(6\).

Scoring

  • \(70\%\) số test tương ứng với số điểm có \(|a|, |b|, |c| \leq 10^9\), \(1 \leq M \leq 10^9\).
  • \(30\%\) số test còn lại tương ứng với số điểm có \(|a|, |b|, |c| \leq 10^{18}\), \(1 \leq M \leq 10^{18}\).

Bình luận (2)

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

Kỳ thi: