慢慢变小的序列
题号:NC25674
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

给一个长度为 n 的序列,你需要支持以下两种操作: 
操作 1:L R X Y,对所有赋值 ,其中 L, R, X, Y 均为整数,且有
操作 2:x,询问A_x的值,这里 x 是整数,且有。 

输入描述:

第一行包含两个整数,分别表示序列长度为以及操作次数,

第二行是 n 个整数 

接下来 q 行,每行第一个数字表示操作类型,接下来输入对应题面描述。

输出描述:

对于每个操作 2,输出对应查询的结果。
示例1

输入

复制
5 5
0 0 0 0 0
2 1
1 1 5 2 -1
2 5
1 1 2 -1 2
2 1

输出

复制
0
-2
-1