급여 격차

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

문제

직원이 NN명인 회사가 있다. 직원 한 명을 뺀 나머지 직원 모두에게 직속 상사가 한 명씩 있다. 직속 상사가 없는 직원은 회사의 다른 모든 직원의 간접 상사다. 직원 YY가 직원 XX의 직속 상사이거나, XX의 직속 상사가 YY의 부하 직원이면 XXYY의 부하 직원이다.

인사팀은 회사의 급여 격차를 조사하려고 한다. 어떤 직원의 격차는 그 직원과 그 직원의 모든 부하 직원이 받는 급여 중 최댓값에서 최솟값을 뺀 값이다.

직원 한 명이 자신과 자신의 모든 부하 직원의 급여를 같은 금액만큼 올리는 일도 있다. 인상과 격차 질의를 주어진 순서대로 처리하라.

입력

첫 줄에 분석할 회사의 수 TT가 주어진다. TT는 20 이하다.

각 회사는 다음과 같이 주어진다. 첫 줄에 직원 수 NN이 주어진다. 직원에게는 1부터 NN까지 서로 다른 번호가 붙어 있다. 다음 줄에 N1N-1개의 정수가 주어지고, 그중 KK번째 정수는 직원 K+1K+1의 직속 상사 번호다. 다음 줄에 NN개의 정수가 주어지고, 그중 KK번째 정수는 직원 KK의 급여다. 다음 줄에 처리할 사건의 수 QQ가 주어진다. 이어지는 QQ개의 줄에 사건이 한 줄에 하나씩 주어진다. 인상 사건은 문자 R로 시작하고, 직원 번호와 그 직원 및 그 직원의 모든 부하 직원의 급여에 더할 금액이 뒤따른다. 격차 질의는 문자 Q로 시작하고, 격차를 구할 직원 번호가 뒤따른다.

  • 2N10000002 \le N \le 1\,000\,000
  • 1Q100001 \le Q \le 10\,000

모든 직원 KK의 직속 상사 번호는 KK보다 작다. 처음 급여는 1 이상 1000 이하이고, 인상 금액도 1 이상 1000 이하다.

출력

격차 질의마다 그 직원의 격차를 한 줄에 하나씩 출력한다.