만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

회사 문화 2

시간 제한5초메모리 제한512 MB

요약
상하 관계 트리에서 특정 직원의 부하 전체에 칭찬 값을 더하는 갱신과 한 직원의 누적 칭찬을 묻는 질의를 실시간으로 처리한다.
난이도

보통10점 중 5점

유형
트리, DFS, 누적 합, 배열
정답자
아직 제출이 없습니다

문제

영선회사에는 내리 칭찬이라는 문화가 있다. 상사가 직속 부하를 칭찬하면 그 부하는 자기 직속 부하에게 같은 칭찬을 그대로 전달한다. 즉, 어떤 직원이 칭찬을 받으면 그 직원 아래에 있는 모든 직원이 같은 칭찬을 받는다.

칭찬에는 정도를 나타내는 수치가 있고, 부하가 받는 수치도 똑같다.

이번에는 내리 칭찬이 실시간으로 일어난다. 쿼리는 두 종류다.

  • 1 i w: ii번 직원이 직속 상사에게 ww만큼 칭찬을 받는다.
  • 2 i: ii번 직원이 지금까지 받은 칭찬 수치의 합을 출력한다.

직속 상사 관계와 쿼리가 주어질 때, 2번 쿼리마다 답을 출력하시오.

입력

첫째 줄에 직원 수 nn과 쿼리 수 mm이 주어진다. (2≤n,m≤1000002 \le n, m \le 100000) 직원 번호는 1번부터 nn번까지다.

둘째 줄에 1번부터 nn번까지 각 직원의 직속 상사 번호가 차례로 주어진다. 직속 상사의 번호는 자기 번호보다 작다. 1번이 사장이고 상사가 없으므로 1번 자리에는 -1이 주어진다.

다음 mm개 줄에 쿼리가 한 줄에 하나씩 주어진다. 1번 쿼리는 1 i w 형식이고 2≤i≤n2 \le i \le n, 1≤w≤10001 \le w \le 1000이다. 2번 쿼리는 2 i 형식이고 1≤i≤n1 \le i \le n이다. 사장은 상사가 없으므로 칭찬을 받지 않는다.

출력

2번 쿼리마다 그 직원이 받은 칭찬 수치의 합을 한 줄에 하나씩 출력한다.

예제6

  1. 예제 1

    입력
    5 5
    -1 1 2 3 4
    1 2 2
    1 3 4
    1 5 6
    2 5
    2 3
    
    예상 출력
    12
    6
    
  2. 예제 2

    입력
    2 2
    -1 1
    1 2 1000
    2 2
    
    예상 출력
    1000
    
  3. 예제 3

    입력
    3 4
    -1 1 1
    1 2 5
    2 1
    2 2
    2 3
    
    예상 출력
    0
    5
    0
    
  4. 예제 4

    입력
    4 5
    -1 1 1 1
    2 2
    2 3
    2 4
    1 4 7
    2 4
    
    예상 출력
    0
    0
    0
    7
    
  5. 예제 5

    입력
    4 6
    -1 1 2 3
    1 2 3
    1 2 3
    1 3 4
    2 2
    2 3
    2 4
    
    예상 출력
    6
    10
    10
    
  6. 예제 6

    입력
    6 7
    -1 1 1 1 1 1
    1 3 9
    1 6 1
    2 2
    2 3
    2 4
    2 5
    2 6
    
    예상 출력
    0
    9
    0
    0
    1