木桩
题号:NC206979
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

现有 n 根木桩,长度为 n 的正整数数组 a 中的 ai 表示第 i 根木桩的高度。小明现在获得了一个木桩高度更改器,他能够控制更改器在高度 H 从左到右发射出一条更改光线;光线能够将照射到的第一根木桩 (第一根高度不低于H 的木桩) 高度更改为 h 。当小明发射完 m 条射线后,他想知道现在所有木桩的高度,你能帮帮他吗?

输入描述:

第一行包含一个整数 T ( 1 ≤ T ≤ 10 ) 表示共有T组测试样例
接下来每组的第一行有两个整数n , m ( 1 ≤ n , m ≤ 1e5 )
n - 木桩数量
m - 光线数量
接下来一行包含 n 个整数 a1 , a2 ··· an ( 0 ≤ ai ≤ 1e6 ) 表示木桩高度
接下来 m 行,每行包含两个整数 H , h ( 0 ≤ H , h ≤ 1e6 )
H - 发射射线高度
h - 照射后更改的木桩高度

输出描述:

每组输出 n 个整数,对应最终的木桩高度,每两个数之间用空格隔开。
示例1

输入

复制
2
5 2
5 4 3 2 1
2 1
2 3
5 3
5 4 3 2 1
2 6
1 4
5 5

输出

复制
1 3 3 2 1
4 4 3 2 1