역행렬

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

P=998244353P = 998244353은 소수다. N×NN \times N 정수 행렬 AA가 주어졌을 때, 법 PP 위에서 AA의 역행렬을 구하는 프로그램을 작성하시오.

ABBAIN(modP)AB \equiv BA \equiv I_N \pmod P를 만족하는 행렬 BBAA의 역행렬이라고 하며, A1A^{-1}로 표기한다. 두 행렬이 합동이라는 것은 같은 자리의 원소가 모두 법 PP에서 합동이라는 뜻이다. INI_NN×NN \times N 단위행렬이며, iji \ne j일 때 Ii,j=0I_{i,j} = 0, Ii,i=1I_{i,i} = 1이다.

PP가 소수이므로 역행렬은 존재하면 유일하다. 역행렬이 존재할 필요충분조건은 AA의 행렬식이 PP의 배수가 아닌 것이다. 정수로 계산한 행렬식이 0이 아니어도 PP로 나누어떨어지면 법 PP 위에서는 역행렬이 없다.

입력

첫째 줄에 행렬의 크기 NN이 주어진다. (1N5001 \le N \le 500)

다음 NN개 줄에 행렬 AA의 정보가 주어진다. 각 줄은 NN개의 정수로 이루어져 있으며, 정수의 절댓값은 1,000보다 작거나 같다. 음수 원소는 법 PP에서 대응하는 나머지로 읽는다.

출력

PP 위에서 AA의 역행렬이 존재하면 NN개의 줄에 걸쳐 A1A^{-1}을 출력한다. 각 줄에는 NN개의 정수를 공백 하나로 구분해 출력하며, 각 정수는 00 이상 PP 미만이어야 한다.

역행렬이 존재하지 않으면 no inverse를 출력한다.