만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

TAIDADA

면접 대비

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

요약
1부터 M까지의 서로 다른 정수 N개를 골라 두 수의 XOR 값이 K가 되지 않게 합니다. 불가능하면 -1을 출력합니다.
난이도

보통10점 중 4점

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

문제

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

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

  • Ai⊕Aj≠KA_i \oplus A_j \neq K (1≤i<j≤N)(1 \le i < j \le N)

⊕\oplus는 비트 단위 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