小 A 的消息记录中有 n 条消息,依次以 1, 2, ..., n 编号。编号小的消息发送时间早于编号大的消息。
一条消息可以引用一条编号小于它的消息,也可以不引用消息。对于消息 i(1 <= i <= n),小 A 以 r[i] 标记消息 i 是否有引用,以及所引用的消息编号。如果 r[i] > 0,则消息 i 引用了消息 r[i];如果 r[i] = 0,则消息 i 没有引用消息。
消息查找工具任意时刻只能定位恰好一条消息,如果当前位于消息 i(1 < i <= n),那么接下来可以选择以下两种操作之一:
- 定位到消息
i - 1; - 如果消息
i引用了消息r[i],定位到消息r[i]。
以上操作可以执行任意次(包括零次)。
小 A 有 q 次询问。在第 k 次询问中,小 A 给出消息编号 x[k], y[k](y[k] < x[k])。小 A 想知道,如果当前消息查找工具位于 x[k],至少需要多少次操作才能定位到消息 y[k]。