함수열과 쿼리

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

문제

함수열이란 함수들의 열로 f_i_iN\\{f\_i\\}\_{i\in\mathbb{N}}의 형태로 정의되며, 나열하면 f_1,f_2,f_3,...f\_1, f\_2, f\_3,... 과 같이 표현됩니다.

함수의 합성 "\circ"는 (fg)(x)=f(g(x))(f\circ g)(x) = f(g(x))의 식으로 정의됩니다. 이것도 마찬가지로 여러 개로 이어지면, (f_1f_2f_3)(x)=(f_1f_2)(f_3(x))=f_1(f_2(f_3(x))(f\_1\circ f\_2 \circ f\_3)(x) = (f\_1 \circ f\_2)(f\_3(x)) = f\_1(f\_2(f\_3(x)) 이렇게 표현됩니다.

예를 들어 f_1(3)=2,f_2(1)=3,f_3(2)=1f\_1(3) = 2, f\_2(1) = 3, f\_3(2) = 1 이라면 (f_1f_2f_3)(2)=f_1(f_2(f_3(2))=f_1(f_2(1))=f_1(3)=2(f\_1\circ f\_2 \circ f\_3)(2) = f\_1(f\_2(f\_3(2)) = f\_1(f\_2(1)) = f\_1(3) = 2와 같이 계산할 수 있습니다.

문제에서는 다음 조건을 만족하는 함수 nn개가 차례대로 주어집니다.

  • 1x51 \le x \le 5 를 만족하는 자연수 xx에 대해 f(x)f(x)는 자연수이고, 1f(x)51 \le f(x) \le 5 입니다.
  • xyx \ne y 이면 f(x)f(y)f(x) \ne f(y) 입니다.

즉, 11 부터 55 까지로 이루어진 순열이 nn개 주어집니다.

이어서 다음과 같은 쿼리가 주어집니다.

  • uu aa bb y_1y\_1 y_2y\_2 y_3y\_3 y_4y\_4 y_5y\_5

각 쿼리에서 aabbauba \le u \le b를 만족하게 주어지며, g=(f_af_a+1f_a+2...f_b)g = (f\_a\circ f\_{a+1}\circ f\_{a+2}\circ ... \circ f\_{b})gg1i51 \le i \le 5ii에 대해 g(i)=y_ig(i) = y\_i가 되도록 f_uf\_u를 변경했음을 의미합니다.

각각의 쿼리마다 f_uf\_u가 어떤 함수로 변했는지 구합니다.

단, 쿼리에 의해 변한 f_uf\_u는 그대로 유지됩니다. 즉, 쿼리가 누적됩니다.

입력

첫 번째 줄에 함수열의 길이 n(3n100,000)n(3\le n \le 100\\,000)이 주어집니다. 두 번째 줄부터 n+1n+1번째 줄까지 함수열이 주어집니다. 각 i+1i + 1번째 줄에는 f_if\_i가 주어지며, f_i(1)f\_i(1), f_i(2)f\_i(2), f_i(3)f\_i(3), f_i(4)f\_i(4), f_i(5)f\_i(5)가 차례대로 공백으로 구분되어 주어집니다.

n+2n+2번째 줄에 쿼리의 수 q(1q100,000)q(1\le q \le 100\\,000)가 주어집니다. 이후 n+3n + 3번째 줄 부터 n+q+2n + q + 2번째 줄까지 문제에서 제시된 쿼리가 주어집니다.

각 쿼리는 줄마다

uu aa bb y_1y\_1 y_2y\_2 y_3y\_3 y_4y\_4 y_5y\_5

의 형태로 주어지며 1aubn1 \le a\le u \le b \le n이고 iji \ne j 이면 y_iy_jy\_i \ne y\_j임을 만족하게 주어집니다.

출력

각 쿼리마다 f_u(1)f\_u(1), f_u(2)f\_u(2), f_u(3)f\_u(3), f_u(4)f\_u(4), f_u(5)f\_u(5)가 어떤 값으로 변했는지 차례대로 공백으로 구분하여 출력합니다. 경우에 따라서는 f_uf\_u가 변하지 않았을 때에 쿼리를 만족할 수 있습니다. 만약 f_uf\_u가 변경되지 않았어도 같은 형식으로 출력합니다.