Array Rotation

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

문제

스킵이는 N×NN\times N 크기의 2차원 배열을 가지고 있다. 너무 귀여운 배열을 관찰하던 스킵이는 배열이 멋대로 돌아가는 걸 발견했다. 배열이 돌아가는 연산에는 두 가지가 있다.

  • 1 i: i(1iN)i(1 \leq i \leq N)번째 행을 선택한다. 선택한 행의 마지막 원소를 삭제하고 첫 번째 원소 앞에 추가한다.
  • 2: 새로운 배열 AA를 만든다. 원래 있던 배열의 모든 원소에 대해 ii번째 행 jj번째 열의 원소는 AAjj번째 행 Ni+1N-i+1번째 열의 원소가 된다. 그 후 가지고 있는 배열을 AA로 만든다.

배열에 수행한 연산이 순서대로 주어진다. 모든 연산을 수행했을 때 최종적으로 돌아간 배열의 원소를 출력해 주자.

입력

첫 번째 줄에 2차원 배열의 크기 NN이 주어진다. (1N100)(1\leq N\leq 100)

그다음 줄부터 NN개의 줄에는 배열의 원소가 공백으로 구분되어 주어진다. 배열의 모든 원소는 1,0001\\,000 이하의 양의 정수이다.

그다음 줄에는 배열에 수행한 연산의 개수 QQ가 주어진다. (1Q100)(1\leq Q\leq 100)

그다음 줄부터 QQ개의 줄에는 배열에 수행한 연산이 차례대로 주어진다.

출력

첫 번째 줄부터 NN개의 줄에 모든 연산을 수행한 배열을 출력한다. 같은 행의 원소는 공백으로 구분하고 각 행마다 개행문자로 구분한다.