아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Возвращение домой

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

요약
우주 A에서 시작해 최대 100번 버튼을 눌러 OR 연산으로 우주 B에 정확히 도달하는 버튼 순서를 찾고, 불가능하면 -1을 출력한다.
난이도

보통10점 중 7점

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

문제

После взрыва коллайдера, Человек-Паук, он же Майлз Моралес, попал в параллельную вселенную. Оценив ситуацию и поняв, что ему нужна помощь, недолго думая Майлз нашел Питера Паркера, человека-паука из этой параллельной вселенной, и рассказал ему свою историю.

Проанализировав чертежи коллайдера, которые Майлз случайно утащил с собой, а также множество других параметров, вместе они выяснили, что сейчас Майлз находится во вселенной номер AA, а его вселенная имеет номер BB. Потратив несколько месяцев, они также смогли построить аппарат для путешествия между вселенными, который может позволить Майлзу вернуться домой. В этом устройстве есть nn кнопок с числами a_1a\_1, a_2a\_2, \ldots a_na\_n, причем нажатие на кнопку с числом a_ia\_i перемещает из текущей вселенной с номером xx во вселенную с номером x∨a_ix \lor a\_i (где ∨\lor --- логическое или). Однако, это не все --- так как наши друзья были ограничены в ресурсах, заряда мощности у устройства хватит только на 100100 перемещений.

Теперь Майлз и Питер сидят и думают, в какой последовательности нужно нажимать кнопки на устройстве, чтобы вернуть Майлза домой. Помогите им!

입력

В первой строке содержится три числа nn, AA и BB --- количество кнопок на устройстве, номер вселенной, в которой сейчас находится Майлз и номер вселенной, в которую ему нужно вернуться (1≤n≤1051 \le n \le 10^5, 0≤A,B≤1090 \le A, B \le 10^9).

В следующей строке содержится nn чисел a_ia\_i --- числа, написанные на кнопках устройства (1≤a_i≤1091 \le a\_i \le 10^9).

출력

Если Майлзу не удастся вернуться домой, в единственной строке выведите <<-1>>. Если же такая возможность у него есть, в первой строке выведите число kk --- количество нажатий на кнопки устройства, которое придется сделать (0≤k≤1000 \le k \le 100). Во второй строке через пробел выведите kk номеров кнопок в порядке, в котором их следует нажимать.

Если существует несколько ответов, выведите любой.

힌트

В первом примере сначала можно нажать на первую кнопку и из вселенной номер 22 переместиться во вселенную номер 2∨3=32 \lor 3 = 3, а затем нажать кнопку 44 и из вселенной 33 переместиться во вселенную 3∨10=113 \lor 10 = 11.

예제2

  1. 예제 1

    입력
    4 2 11
    3 2 6 10
    
    예상 출력
    2
    1 4
    
  2. 예제 2

    입력
    4 4 11
    3 2 6 10
    
    예상 출력
    -1