만드는 중입니다

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

트리와 쿼리 16

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

요약
숲에 간선을 온라인으로 추가하고, 2번 질의는 정점 u와 정수 k를 받습니다. 질의의 답은 본문에 정의되어 있지 않습니다.
난이도

어려움10점 중 8점

유형
트리, 그래프
정답자
아직 제출이 없습니다

문제

N개의 정점으로 이루어진 포레스트가 있다. 정점은 1번부터 N번까지 번호가 매겨져 있고, 초기 포레스트에는 간선이 없다.

입력

첫 번째 줄에 두 정수 NN, QQ가 주어진다. (1≤N≤100 0001 \le N \le 100\,000, 1≤Q≤200 0001 \le Q \le 200\,000)

이후 QQ개의 줄에 세 정수 tit_i, aia_i, bib_i가 주어진다. (1≤ti≤21 \le t_i \le 2, 0≤ai,bi<n0 \le a_i, b_i < n)

초기값이 0인 추가 변수 lastlast를 생각하자.

  • ti=1t_i = 1이면 인자는 ui=((ai+last)mod  n)+1u_i = ((a_i + last) \mod n) + 1, vi=((bi+last)mod  n)+1v_i = ((b_i + last) \mod n) + 1이다.
  • ti=2t_i = 2이면 인자는 ui=((ai+last)mod  n)+1u_i = ((a_i + last) \mod n) + 1, ki=((bi+last)mod  n)k_i = ((b_i + last) \mod n)이다. 이 쿼리의 답을 계산한 뒤, lastlast를 그 답으로 갱신한다.

출력

ti=2t_i = 2인 쿼리마다 답을 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

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