만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

합

시간 제한3초메모리 제한512 MB

요약
소수 p에 대한 n×m 행렬이 주어질 때, 외적의 합이 이 행렬과 같아지는 K개의 벡터 쌍 b, c를 찾습니다.
난이도

어려움10점 중 8점

유형
행렬, 수학, 구현
정답자
아직 제출이 없습니다

문제

n×mn \times m 크기의 직사각형 배열 aa와 소수 pp가 주어진다. 다음 조건을 모두 만족하는 K×nK \times n 크기의 배열 bb와 K×mK \times m 크기의 배열 cc를 구하라.

  1. 0≤bi,j<p0 \le b_{i,j} < p (∀1≤i≤K,1≤j≤n\forall 1 \le i \le K, 1 \le j \le n)
  2. 0≤ci,j<p0 \le c_{i,j} < p (∀1≤i≤K,1≤j≤m\forall 1 \le i \le K, 1 \le j \le m)
  3. ∑j=1nbi,j≥1\sum_{j=1}^{n} b_{i,j} \ge 1 (∀1≤i≤K\forall 1 \le i \le K)
  4. ∑i=1mci,j≥1\sum_{i=1}^{m} c_{i,j} \ge 1 (∀1≤j≤K\forall 1 \le j \le K)
  5. ∑l=1Kbl,i⋅cl,j≡ai,j(modp)\sum_{l=1}^{K} b_{l,i} \cdot c_{l,j} \equiv a_{i,j} \pmod{p} (∀1≤i≤n,1≤j≤m\forall 1 \le i \le n, 1 \le j \le m)

입력

첫째 줄에 양의 정수 nn, mm, KK, pp가 주어진다 (1≤n⋅m,K⋅n,K⋅m≤1051 \le n \cdot m, K \cdot n, K \cdot m \le 10^5; 2≤p≤109+72 \le p \le 10^9 + 7; pp는 소수).

이어지는 nn개의 줄 중 ii번째 줄에는 정수 ai,1,ai,2,…,ai,ma_{i,1}, a_{i,2}, \ldots, a_{i,m} (0≤ai,j<p0 \le a_{i,j} < p)이 mm개 주어진다.

출력

해가 없으면 No solution!을 한 줄에 출력한다.

해가 있으면 KK개의 줄을 출력한다. ii번째 줄에는 n+mn + m개의 정수 bi,1,bi,2,…,bi,n,ci,1,ci,2,…,ci,mb_{i,1}, b_{i,2}, \ldots, b_{i,n}, c_{i,1}, c_{i,2}, \ldots, c_{i,m}을 출력한다.

답이 여러 개이면 그중 아무거나 출력해도 된다.

예제2

  1. 예제 1

    입력
    1 1 1 97
    0
    
    예상 출력
    No solution!
    
  2. 예제 2

    입력
    3 3 1 97
    1 2 3
    2 4 6
    3 6 9
    
    예상 출력
    1 2 3 1 2 3