{"raw_statement":[{"iden":"statement","content":"给序列 $a_1,\\dots,a_n$ 和排列 $b_1,\\dots,b_n$，共有 $m$ 次操作：\n\n修改操作：给定 $x,y$，将 $a_x$ 改为 $y$；\n\n查询操作：给定 $l,r,x$，查区间 $[l,r]$ 内最长的子区间 $[l',r']$（即满足 $l\\le l'\\le r'\\le r$），使得对 $l'\\le i<r'$ 有 $a_{i+1}=b_{a_i}$，且存在 $l'\\le i\\le r'$ 使得 $a_i=x$。需要输出满足条件的 $r'-l'+1$ 的最大值，若不存在则输出 $0$。\n"},{"iden":"input","content":"第一行两个整数 $n,m$；\n\n第二行 $n$ 个整数依次表示 $a_1,\\dots,a_n$；\n\n第三行 $n$ 个整数依次表示 $b_1,\\dots,b_n$；\n\n接下来 $m$ 行，每行 $1,x,y$ 或 $2,l,r,x$ 表示进行一次修改操作或查询操作。\n\n输入的所有数值为整数。"},{"iden":"output","content":"对每个查询操作，输出一行，表示相应的答案。"},{"iden":"note","content":"$1\\le n,m\\le 10^6$；\n\n$1\\le a_i\\le n$；\n\n$1\\le b_i\\le n$，$b_i$ 互不相同；\n\n对修改操作，满足 $1\\le x,y\\le n$；\n\n对查询操作，满足 $1\\le l\\le r\\le n$，$1\\le x\\le n$。"}],"translated_statement":null,"sample_group":[["8 10\n1 4 7 3 8 2 4 7\n5 4 8 7 1 6 3 2\n2 6 6 2\n2 8 8 7\n1 4 3\n2 6 8 3\n2 4 4 3\n2 4 4 3\n2 6 8 4\n2 5 6 2\n2 1 8 1\n2 1 1 6\n","1\n1\n0\n1\n1\n3\n2\n1\n0\n"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}