阿梦遇见了他的数列
题号:NC214221
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

晨昕从来没有想过会有这么烦人的一个人天天绕着他的身边。

他知道阿梦的数学很差,所以只好让她写点数学题让他耳根清净清净。

所以聪明的你愿意一起来看看这个烦人的问题么?

给定一个含有 n 个数字的序列 a1, a2, a3, … , an,逐步进行如下操作:

        将序列中所有为 2 的元素换为 1

        将序列中所有为 1 的元素换为 2

        将序列中所有为 4 的元素换为 3

        将序列中所有为 3 的元素换为 4

        将序列中所有为 6 的元素换为 5

        将序列中所有为 5 的元素换为 6

        ……

        将序列中所有为 109 的元素换为 109 - 1

        将序列中所有为 109 - 1 的元素换为 109

求最终形成的序列。

输入描述:

第一行输入一个整数T,代表有T组测试数据。

每组第一行包括一个数n(1 <= n <= 1000),表示序列长度。

第二行包括以空格间隔开的n个数a1,a2,a3…,an(1<= ai <=10^9)

输出描述:

对于每组数据,输出n个数b1,b2,b3…,bn,以空格间隔。bi表示经过所有操作后,新序列中第i个元素的值。

示例1

输入

复制
2
5
1 2 4 5 10
5
3 5 7 8 9

输出

复制
2 2 4 6 10
4 6 8 8 10