만드는 중입니다

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

gahui and sousenkyo 6

시간 제한1.5초메모리 제한512 MB

요약
n과 x가 주어질 때, XOR 값이 x가 되는 서로 다른 양의 정수 n개를 2^63 미만에서 찾습니다.
난이도

보통10점 중 5점

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

문제

가휘는 매년 열리는 캐릭터 총선거를 지켜보고 있다. 선거가 끝나면 상위 16명의 캐릭터는 1년 동안 막대한 혜택을 받는다. 그래서 팬들은 좋아하는 캐릭터를 상위 16위 안에 올리려고 열정적으로 투표한다. 매번 선거마다 최소 한 명의 신데렐라가 나와 뛰어난 성적을 거둔다.

가휘는 캐릭터 총선거 방송을 놓쳤다. 인터넷에서 얻을 수 있는 정보는 다음뿐이다.

  • 선거에 참가한 캐릭터의 수는 nn이다.
  • 두 캐릭터의 득표수는 서로 같지 않고, 모든 캐릭터는 적어도 한 표를 얻었다.
  • 모든 캐릭터의 득표수에 비트 XOR 연산을 적용한 결과는 xx이다.
  • 모든 캐릭터의 득표수는 2632^{63}보다 작다.

선거 결과를 구하라.

입력

첫 줄에 nn과 xx가 공백으로 구분되어 주어진다.

출력

첫 줄에 nn을 출력한다. nn은 선거에 참가한 캐릭터의 수이다.

이어지는 nn개의 줄에 순위 순서대로 각 캐릭터가 얻은 득표수를 출력한다.

답이 여러 개라면 아무거나 출력해도 된다.

제한

  • 4≤n≤1064 \le n \le 10^6
  • 0≤x≤2300 \le x \le 2^{30}

예제1

  1. 예제 1

    입력
    4 3112
    
    예상 출력
    4
    45000
    43000
    40000
    39000