응원단

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

문제

UCPC 대학교 내에서 열리는 체육대회의 응원단에 N2N^2(NN은 짝수)명의 단원이 참가할 예정이다. 응원단장은 먼저 N2N^2명의 단원을 NN개의 행(가로줄)과 NN개의 열(세로줄)로 구성된 N×NN\times N의 격자 형태로 배치했다. 그리고 iijj열에 위치한 응원단의 번호를 A_i,jA\_{i,j}라 할 때, A_i,j=(i1)×N+jA\_{i,j}=(i-1)\times N+j번의 번호를 부여하는 방식으로 각 단원에게 11번부터 N2N^2번까지 번호를 매겼다.

N=4N=4일 때 응원단의 상태

응원단은 경기가 진행될 동안 QQ번의 응원 패턴을 수행하기로 했다. 수행할 응원 패턴의 종류는 총 55가지이다.

  • RORO: (홀수 행 이동) 홀수 행에 위치한 단원들의 열을 11 증가시킨다. 열이 NN을 초과한 단원은 동일한 행의 11열로 이동한다. 즉, ii가 홀수인 모든 ii에 대해 A_i,jA\_{i,j}A_i,((j2)modN)+1A\_{i,((j-2)\mod N) +1}로 바꾼다.
  • RERE: (짝수 행 이동) 짝수 행에 위치한 단원들의 열을 11 증가시킨다. 열이 NN을 초과한 단원은 동일한 행의 11열로 이동한다. 즉, ii가 짝수인 모든 ii에 대해 A_i,jA\_{i,j}A_i,((j2)modN)+1A\_{i,((j-2)\mod N) +1}로 바꾼다.
  • COCO: (홀수 열 이동) 홀수 열에 위치한 단원들의 행을 11 증가시킨다. 행이 NN을 초과한 단원은 동일한 열의 11행으로 이동한다. 즉, jj가 홀수인 모든 jj에 대해 A_i,jA\_{i,j}A_((i2)modN)+1,jA\_{((i-2)\mod N) +1,j}로 바꾼다.
  • CECE: (짝수 열 이동) 짝수 열에 위치한 단원들의 행을 11 증가시킨다. 행이 NN을 초과한 단원은 동일한 열의 11행으로 이동한다. 즉, jj가 짝수인 모든 jj에 대해 A_i,jA\_{i,j}A_((i2)modN)+1,jA\_{((i-2)\mod N) +1,j}로 바꾼다.
  • SS r_1r\_1 c_1c\_1 r_2r\_2 c_2c\_2: (교체) r_1r\_1c_1c\_1열에 위치한 단원과 r_2r\_2c_2c\_2열에 위치한 단원이 서로 자리를 바꾼다.

단원의 수와 경기가 진행되는 동안 수행한 응원 패턴 QQ개가 순서대로 주어졌을 때, 응원 패턴을 모두 수행한 뒤의 응원단의 최종 상태를 출력하자.

입력

첫 번째 줄에 NN, QQ가 공백으로 구분되어 주어진다. (2N1 000,N(2\leq N\leq 1\ 000,N은 짝수,1Q500 000),1\leq Q\leq 500\ 000)

두 번째 줄부터 QQ개의 줄에 각 줄마다 위의 5가지 응원 패턴 중 하나가 순서대로 주어진다. (1r_1,c_1,r_2,c_2N,(r_1,c_1)(r_2,c_2))(1\leq r\_1,c\_1,r\_2,c\_2\leq N,(r\_1,c\_1)\neq(r\_2,c\_2))

입력으로 주어지는 모든 수는 정수이다.

출력

NN개의 줄에 걸쳐 응원단의 최종 상태를 출력한다. ii번째 줄에는 ii11열부터 iiNN열까지 위치한 단원의 번호를 의미하는 NN개의 정수를 공백으로 구분하여 출력한다.