아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

표

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

요약
n×m 표의 첫 행이 주어질 때, 각 아래 칸을 위쪽 삼각형 영역의 합을 r로 나눈 값으로 채우고 마지막 행을 출력한다.
난이도

어려움10점 중 8점

유형
누적 합, 동적 계획법, 조합론, 수학
정답자
아직 제출이 없습니다

문제

n×mn \times m 크기의 직사각형 표를 생각하자. 표의 행은 위에서부터 11부터 nn까지, 열은 왼쪽부터 11부터 mm까지 번호를 붙인다. 표는 다음과 같이 채워진다. ii번째 행 jj번째 열에 있는 수를 ai,ja_{i,j}라 하자. 첫 번째 행은 주어진 수 a1,1,a1,2,⋯ ,a1,ma_{1,1}, a_{1,2}, \cdots, a_{1,m}으로 채워진다. 그다음 22번째 행부터 nn번째 행까지 차례로 채운다. ai,ja_{i,j}는 ai,ja_{i,j} 위쪽에 있는 삼각형 모양 영역에 포함된 모든 수의 합으로 계산한다. 모든 계산은 rr로 나눈 나머지로 수행한다.

더 정확히는 ai,ja_{i,j}는 다음 식으로 계산한다.

예를 들어 표의 행이 3개, 열이 4개이고 첫 번째 행이 2,3,4,52,3,4,5이며 r=40r = 40이면 표는 다음과 같다. 나머지를 취한 값은 계산 결과가 달라지는 곳에만 표시했다.

22334455
5=2+35 = 2 + 39=2+3+49 = 2 + 3 + 412=3+4+512 = 3 + 4 + 59=4+59 = 4 + 5
23=2+3+4+5+923 = 2 + 3 + 4 + 5 + 90=(2+3+4+5+5+9+12) mod 40=40 mod 400 = (2 + 3 + 4 + 5 + 5 + 9 + 12) \bmod 40 = 40 \bmod 404=(2+3+4+5+9+12+9) mod 40=44 mod 404 = (2 + 3 + 4 + 5 + 9 + 12 + 9) \bmod 40 = 44 \bmod 4033=3+4+5+12+933 = 3 + 4 + 5 + 12 + 9

첫 번째 행 (a1,1,a1,2,⋯ ,a1,m)(a_{1,1}, a_{1,2}, \cdots, a_{1,m})이 주어졌을 때 마지막 행을 구하자. 답이 커질 수 있으므로 답을 rr로 나눈 나머지를 구한다.

입력

첫 번째 줄에 nn, mm, rr이 주어진다. (2≤n,m≤20002 \le n, m \le 2000, 2≤r≤1092 \le r \le 10^9) nn과 mm은 각각 표의 행과 열의 개수이고, rr은 답을 나눌 수이다. 다음 줄에 mm개의 정수 a1,1,a1,2,⋯ ,a1,ma_{1,1}, a_{1,2}, \cdots, a_{1,m}이 주어진다. 모든 a1,ia_{1,i}는 음이 아니며 10910^9보다 크지 않다.

출력

첫 번째 줄에 mm개의 수 an,1,an,2,⋯ ,an,ma_{n,1}, a_{n,2}, \cdots, a_{n,m}을 출력한다. 이 수들이 표의 마지막 행이다.

예제3

  1. 예제 1

    입력
    2 3 10
    1 2 3
    
    예상 출력
    3 6 5
    
  2. 예제 2

    입력
    3 3 10
    1 1 1
    
    예상 출력
    8 0 8
    
  3. 예제 3

    입력
    3 4 40
    2 3 4 5
    
    예상 출력
    23 0 4 33