HSG THCS Hà Nội 2021


Tích lớn nhất

Nộp bài
Điểm: 6 Thời gian: 1.0s Bộ nhớ: 1G Input: MAXPRO.INP Output: MAXPRO.OUT

Nguồn: Học sinh Giỏi THCS Hà Nội năm 2020 - 2021

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

Dữ liệu nhập vào từ tệp văn bản MAXPRO.INP:

  • Gồm một dòng chứa bốn số nguyên \(a\), \(b\), \(c\), \(M\).

Output

Kết quả ra tệp văn bản MAXPRO.OUT:

  • Một số nguyên duy nhất là kết quả của bài toán — phần dư khi chia tích lớn nhất cho \(M\).

Note

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

Examples

Test 1

Input
3 2 5 4
Output
3

Test 2

Input
2 -3 -2 100
Output
6

Explanation

  • Ví dụ 1:
    • Tích lớn nhất: \(3 \times 5 = 15\).
    • \(15 \bmod 4 = 3\).
  • Ví dụ 2:
    • Tích lớn nhất: \((-2) \times (-3) = 6\).
    • \(6 \bmod 100 = 6\).

Bỏ phiếu

Nộp bài
Điểm: 5 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: VOTE.INP Output: VOTE.OUT

Xoá dòng

Nộp bài
Điểm: 5 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: DELROW.INP Output: DELROW.OUT

Tăng bảng

Nộp bài
Điểm: 4 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: ITABLE.INP Output: ITABLE.OUT