까다로운 연산
시간 제한1초메모리 제한2048 MB
배열에 접두사 XOR, 접미사 XOR, 그리고 각각의 역연산을 순서대로 적용한 뒤 최종 배열을 출력합니다.
문제
Svetozar에게 정수 개로 이루어진 배열 가 있다. 그는 이 배열에 다음 연산들을 생각해 냈다.
1: 배열 를 의 접두사 XOR 배열로 바꾼다. 즉, 연산 후 번째 원소는 가 된다.2: 배열 를 접미사 XOR 배열로 바꾼다. 즉, 연산 후 번째 원소는 이 된다.-1: 연산1의 역연산이다. 연산-1을 수행한 뒤 연산1을 적용하면, 그 결과는-1을 적용하기 전의 배열과 같아진다.-2: 연산2의 역연산이다. 연산-2를 수행한 뒤 연산2를 적용하면, 그 결과는-2를 적용하기 전의 배열과 같아진다.
Svetozar는 여러 연산을 차례로 수행했고, 이 계산이 맞는지 확인하려고 한다. 첫 번째 연산은 항상 양수로 표시되며, 연속된 두 연산의 부호는 서로 다르다.
입력
첫 줄에 테스트 케이스의 수 ()가 주어진다. 각 테스트 케이스는 세 줄로 이루어진다.
첫 줄에는 배열의 크기 과 연산의 수 ()가 주어진다.
둘째 줄에는 배열의 원소 ()이 주어진다.
셋째 줄에는 실행 순서대로 연산 (, , , )가 주어진다.
모든 테스트 케이스에서 의 합은 를 넘지 않고, 의 합도 를 넘지 않는다.
출력
각 테스트 케이스마다 모든 연산을 적용한 뒤의 배열을 한 줄에 개의 정수로 출력한다.