[Ynoi2018] 天降之物

题目背景

可曾做过这样的梦呢? 在我身边,有一个我从没见过的少女 我很喜欢她,她也很喜欢我 不过—— 最后总是 在她被天空掳去的时候 迎来梦醒时分 ![](https://cdn.luogu.com.cn/upload/pic/58812.png) 人? 不对 不是人 没有人会... 长着翅膀 ![](https://cdn.luogu.com.cn/upload/pic/58813.png) 没有没有没有 哪里都没有 没有我可以回去的地方 我没有任何可以回去的地方! 哪里都没有... 我能回去的地方...无论哪里...无论哪里都没有... 我不想杀死任何人,不想伤害任何人! 为什么...为什么要制造出我... 不需要...我不需要这种力量... ![](https://cdn.luogu.com.cn/upload/pic/58814.png) 幸福不足以形容我现在的心情 我该说什么才好呢 啊对了 我...爱你 我爱你...主人 ![](https://cdn.luogu.com.cn/upload/pic/58815.png) 神话中的伊卡洛斯,由于过于靠近太阳,用蜡粘住的羽毛融化后坠海而死

题目描述

伊卡洛斯给了你一个长为 $n$ 的序列 $a$。 你需要实现 $m$ 个操作,操作有两种: 1. 把序列中所有值为 $x$ 的数的值变成 $y$。 2. 找出一个位置 $i$ 满足 $a_i=x$,找出一个位置 $j$ 满足 $a_j=y$,使得 $|i-j|$ 最小,并输出 $|i-j|$。

输入输出格式

输入格式


第一行两个整数 $n,m$。 之后一行 $n$ 个整数,表示序列 $a$。 之后 $m$ 行,每行三个数 $opt,x,y$。 如果 $opt$ 为 $1$,代表把序列中所有值为 $x$ 位置的值变成 $y$。 如果 $opt$ 为 $2$,代表找出一个位置 $i$ 满足 $a_i=x$,找出一个位置 $j$ 满足 $a_j=y$,使得 $|i-j|$ 最小,并输出 $|i-j|$,如果找不出这样的位置,输出 `Ikaros`。 本题强制在线,每次的 $x,y$ 需要 xor 上上次答案,如果输出 `Ikaros`,或者是第一次询问,则上次答案为 $0$。 共 $50$ 组数据,数据中保证 $n=m$。

输出格式


对于每个 $2$ 操作,输出一行一个整数表示答案。 如果无法找出满足题意的 $i,j$,则输出 `Ikaros`。

输入输出样例

输入样例 #1

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

输出样例 #1

Ikaros
1
1

说明

Idea:nzhtl1477,Solution:nzhtl1477,Code:nzhtl1477,Data:nzhtl1477( partially uploaded ) 对于 $100\%$ 的数据,所有数在 $[1,10^5]$ 内,每次操作的值不超过 $n$。