세 수 XOR과 쿼리
시간 제한2초메모리 제한1024 MB
값이 64 미만인 배열에서 구간 내 서로 다른 세 원소의 XOR이 x인지 판별하고, 구간의 각 원소에 x를 더해 64로 나눈 나머지로 바꿉니다.
문제
길이가 인 정수 수열 이 주어진다. 다음 두 종류의 쿼리를 처리하는 프로그램을 작성하시오.
- 1 : 을 만족하는 순서쌍 중 인 것이 존재하면 1을, 존재하지 않으면 0을 출력한다. 여기서 는 Bitwise XOR 연산을 의미한다.
- 2 : 인 모든 에 대해 를 로 바꾼다.
입력
첫 번째 줄에 수열의 길이 과 쿼리의 수 가 공백으로 구분되어 주어진다.
두 번째 줄에 개의 정수 이 공백으로 구분되어 주어진다.
이어지는 개의 줄에 쿼리가 한 줄에 하나씩 주어진다.
출력
종류 1인 쿼리마다 결과를 주어진 순서대로 한 줄에 하나씩 출력한다.
제한
- 종류 1인 쿼리에 대해
- 입력으로 주어지는 모든 수는 정수이다.
- 종류 1인 쿼리는 한 번 이상 주어진다.
힌트
를 음이 아닌 정수, 를 양의 정수라 하자. 는 를 로 나눈 나머지이며, 이 값은 음이 아닌 정수이다.