D. 小途的问题

内存限制:256 MiB 时间限制:1000 ms 输入文件: data.in 输出文件: data.out
题目类型:传统 评测方式:文本比较

题目描述

小途有一个序列,但他实在不太聪明,以至于一个操作问题都要来问你了。

给定 n 个数的整数序列 a_1, a_2, \cdots, a_n ,有 m 次操作,每次操作给定 x, y ,你需要找到所有 i ,满足 i \oplus x = 0 ,然后 a_i \gets a_i - y 。如果没有任何一个这样的 i ,则序列什么也不会更改。这里的 \oplus 为按位异或操作。

操作结束后,你需要输出这个序列。

输入格式

第一行,两个正整数 n,m ,表示序列长度和操作次数。

接下来一行,表示初始序列。

接下来 m 行,每行两个数 x,y ,意思如题面所示。

输出格式

输出一行, n 个数,表示操作结束后的序列。

样例

样例输入 #1

6 1
1 1 4 5 1 1
0 7

样例输出 #1

1 1 4 5 1 1

样例输入 #2

3 1
0 3 9
1 2

样例输出 #2

-2 3 9

数据范围与提示

对于 20\% 的数据,保证 1 \leq n, m \leq 10^3

对于另外 20\% 的数据,保证 x=0

对于 100\% 的数据,保证 1 \leq n, m \leq 10^6 -10^8 \leq y, a_i \leq 10^{8} 0 \leq x \leq n