TAIDADA

시간 제한1초메모리 제한1024 MB

요약
1 이상 M 이하에서 서로 다른 정수 N개를 골라 어떤 두 수의 XOR도 K가 되지 않게 한다.
난이도

보통10점 중 7점

유형
수학, 비트 연산, 그리디
정답자
아직 제출이 없습니다

문제

월간 향유회는 2025년에도 계속됩니다.

11 이상 MM 이하의 서로 다른 정수 NN개를 나열하여 다음 조건을 만족하는 수열 AA를 만들어 보자.

  • A_i⊕A_j≠KA\_i \oplus A\_j \neq K (1≤i<j≤N)(1 \le i < j \le N)

⊕\oplus는 Bitwise XOR 연산을 의미한다.

입력

첫째 줄에 수열 AA의 길이 NN과 양의 정수 MM, KK가 공백으로 구분되어 주어진다. (1≤N≤200,000;(1 \le N \le 200\\,000; 1≤M,K≤109)1 \le M, K \le 10^9)

출력

수열 AA를 만들 수 있다면 수열 AA의 NN개의 원소를 공백으로 구분하여 한 줄에 출력한다. 그렇지 않다면 -1을 대신 출력한다.

조건을 만족하는 출력이 여러 가지인 경우 그중 아무거나 출력한다.

예제2

  1. 예제 1

    입력
    3 5 2
    
    예상 출력
    2 3 4
    
  2. 예제 2

    입력
    2 1 1
    
    예상 출력
    -1