#976. 数据纠错

数据纠错

题目背景

希蒙学习了一维数组的知识后,他迫不及待的想使用自己学到的知识提升自己的工作效率

题目描述

蒙蒙辛苦搜集了n条调查问卷的数据,每条数据都是一个整数,但是因为头一天蒙蒙没有休息好,所以很多数据都有错乱。正好,希蒙学习了编程,他想通过编程的知识快速的解决好朋友蒙蒙的难题(本题从1开始检索数据)。希蒙一共有三种数据修复方式:

  1. 将第K个数据修改为d。
  2. 将第L个到第R个之间的所有值为x的数字,修改成y。
  3. 将第L个到第R个之间的所有数,修改为原来的2倍,然后再减去10。

现在给你原始数据,和希蒙所有m次的具体操作,请输出希蒙纠错后的数据。

输入输出格式

输入

若干行

第一行 两个 整数 n 和 m

第二行 n个整数表示原始数据

接下来m行,每行几个整数,表示希蒙的具体纠错操作(每行的第一个整数操作为操作种类,如果种类是1,则需要继续输入k和d;种类是2,则需要继续输入 L,R,x, y ; 种类为3,则需要继续输入L和R)

输出

一行整数,以空格分开,表示纠错以后的数据

样例

10 3
1 2 1 2 1 2 1 2 1 2
1 2 4
2 3 5 1 0
3 7 9
1 4 0 2 0 2 -8 -6 -8 2

提示与数据范围

1 1 \leq n \leq 1000

1 1 \leq m \leq 100

1a[i] 1 \leq a[i] \leq 100