Problem

7 /8


گربه غاز و ماتریس تصادفی

Problem

گربه غاز برای نیک فیوری یک میز مستطیل شکل a به اندازه \(n \cdot m\) آماده کرد که حاوی اعداد از 0< /span> code> به p−1. نیک فیوری بلافاصله متوجه شد که هر عدد در این جدول به طور تصادفی با احتمال مساوی از 0 تا p− 1، صرف نظر از موارد دیگر.

وظیفه شما — زیر ماتریس مستطیلی این جدول را پیدا کنید که در آن مجموع آن بر p بخش پذیر است. > به طور رسمی، باید \(1 <= i_1 <= i_2 <= n\)، \( 1 <= j_1 <= j_2 <= m\) که مجموع ax,y در همه \(i_1 <= x <= i_2\)، \(j_1 <= y <= j_2\) بر روی p تقسیم می‌شود، و در این میان حداکثر مقدار را دارد.


ورودی
خط اول شامل سه عدد صحیح n، m، p (\(1 < ;= n m، p <= 1,000,000\)) — ابعاد ماتریس و عددی که مجموع زیرماتریس باید بر آن تقسیم شود.
خطوط n زیر حاوی اعداد صحیح m، عدد j-امین در خط i-امین هستند. برابر است با ai,j (\(0 <= a_{i,j} <= p ? 1\) ).
تضمین می‌شود که هر عدد در a به‌طور مستقل و به‌طور تصادفی، احتمالاً از 0 تا p−1 انتخاب شود.

خروجی
چاپ یک عدد صحیح — حداکثر مجموع یک زیرماتریس مستطیلی که در آن مجموع بر p بخش پذیر است. اگر وجود ندارد، 0 را چاپ کنید.

 

نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1
6 7 5
0 0 3 0 1 0 4
0 2 3 0 2 2 1
2 4 1 4 4 0 3
1 1 0 2 0 3 2
3 0 3 1 0 1 2
1 2 0 0 3 3 1
65