CSES - Company Queries II | Truy vấn công ty II

Flower_On_Stone , haidanghutcansa , An09855

Một công ty có \(n\) nhân viên, tạo thành một hệ thống phân cấp dạng cây trong đó mỗi nhân viên, ngoại trừ tổng giám đốc đều có một ông chủ.

Nhiệm vụ của bạn là xử lý \(q\) truy vấn có dạng: ai là người sếp chung thấp nhất của nhân viên \(a\)\(b\) trong hệ thống phân cấp?

Input

  • Dòng đầu vào đầu tiên có hai số nguyên \(n\)\(q:\) số lượng nhân viên và truy vấn. Các nhân viên được đánh số \(1,2,... ,n\) và người số \(1\) là tổng giám đốc.
  • Dòng tiếp theo có \(n−1\) số nguyên \(e_2,e_3,\dots,e_n:\) người chủ mỗi nhân viên \(2,3,...,n\).
  • Cuối cùng, có \(q\) dòng mô tả các truy vấn. Mỗi dòng có hai số nguyên \(a\)\(b\) ứng với câu hỏi: "Ai là chủ chung thấp nhất của nhân viên \(a\)\(b\)?"

Output

  • In câu trả lời cho mỗi truy vấn.

Constraints

  • \(1 ≤ n,q ≤ 2⋅10^5\)
  • \(1 ≤ e_{i} ≤ i − 1\)
  • \(1 ≤ a,b ≤ n\)

Example

Sample Input

5 3
1 1 3 3
4 5
2 5
1 4

Sample Output

3
1
1
...Xem thêm

BOOLEAN 1

stack_queue_4977

Cho số nguyên dương \(n\).

Yêu cầu: In ra kết quả \(y\) sao cho \(y\) = \(not\) \(x\).

(Các bạn có thể search GG để tìm hiểu về phép toán thao tác bit: \(not\))

Input

  • Dòng đầu ghi \(q\) không quá \(100\) - số câu hỏi.
  • \(q\) dòng tiếp theo, mỗi dòng ghi \(n\) \((n \le 10^{18})\).

Output

  • Ứng với mỗi testcase, in ra đáp án cần tìm.

Example

Test 1

Input
1
0
Output
-1
...Xem thêm

Xin chào

Small

Nhập họ tên của mình và in ra màn hình lại câu "Xin chao: " và họ tên vừa nhập.

Input

  • Một dòng chứa họ tên

Output

  • In ra câu "Xin chao: " và họ tên vừa nhập.

sample Input

Small

Sample Output

Xin chao: Small
...Xem thêm