题目描述
给定两个长度为 n 的数列 a1,a2,…,an 和 b1,b2,…,bn。
接下来有 m 次操作,操作分为如下两种类型:
- 1 x y k:将数列 b 中下标从 y 开始的连续 k 个元素用数列 a 中下标从 x 开始的连续 k 个数替换,即:by←ax,by+1←ax+1,by+2←ax+2,……,by+k−1←ax+k−1;
- 2 x:查询 bx 的数值。
对于每次查询操作,输出对应的结果。
输入格式
第一行,两个整数 n 和 m,分别表示数列长度以及操作次数(1≤n,m≤105)。
第二行,n 个整数 a1,a2,…,an(∣ai∣≤109)。
第三行,n 个整数 b1,b2,…,bn(∣bi∣≤109)。
接下来 q 行,每行包含依次操作,格式为 1 x y k(1≤x,y,k≤n 且 max{x+k−1,y+k−1}≤n)或 2 x(1≤x≤n)。
输出格式
对于每次查询操作 2 x,输出一行,包含一个整数,表示 bx 的数值。
样例
5 10
1 2 0 -1 3
3 1 5 -2 0
2 5
1 3 3 3
2 5
2 4
2 1
1 2 1 4
2 1
2 4
1 4 2 1
2 2
0
3
-1
3
2
3
-1
说明/提示
数据规模与约定
- 对于 20% 的数据,n,m≤10
- 对于 50% 的数据,n,m≤1000
- 对于 100% 的数据,1≤n,m≤105