Taxi bay

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Để giảm thiểu tai nạn giao thông, ô tô không người lái đã được chế tạo và đưa vào thử nghiệm. Đi xa hơn nữa, người ta đã chế tạo thiết bị bay tự động không người lái và đưa vào khai thác dưới dạng taxi bay tự động.

Các địa điểm trong địa bàn hoạt động của taxi bay được mã hóa bằng một số nguyên không âm. Mỗi taxi có một bộ các điểm chốt \(a_1, a_2, \dots, a_n\). Khi hành khách lên xe ở điểm \(A\) và đưa yêu cầu tới điểm \(B\), hệ thống máy tính trên xe sẽ tính toán và đưa ra trên màn hình dãy \(k\) số nguyên \(a_{i_1}, a_{i_2}, \dots, a_{i_k}\). Hành khách phải lần lượt bấm vào các số này để tới đích. Nếu xe đang ở vị trí \(x\) thì khi bấm nút \(a_i\), xe sẽ di chuyển tới địa điểm \(x \text{ OR } a_i\) (phép toán logic OR trên các bit nhị phân).

Để hạn chế người đi chiếm dụng xe quá lâu, hệ thống chỉ cho phép bấm nút chọn không quá \(100\) lần. Ngoài ra, có thể hành trình đã thiết kế của xe không cho phép đi được từ \(A\) tới \(B\), khi đó trên màn hình sẽ hiển thị số \(-1\).

Hãy cho biết số \(k\) và dãy số hiển thị trên màn hình nếu \(k \neq -1\).

Input

  • Dòng đầu tiên chứa ba số nguyên \(n, A\) và \(B\) (\(1 \le n \le 10^5, 0 \le A, B \le 10^9\)).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9, i = 1 \dots n\)).

Output

  • Dòng đầu tiên chứa số nguyên \(k\).
  • Nếu \(k \neq -1\), dòng thứ hai chứa \(k\) số nguyên là các chỉ số \(i_1, i_2, \dots, i_k\) của các điểm chốt được chọn (\(1 \le i_j \le n\)).

Example

Test 1

Input
4 2 11
3 2 6 10
Output
2
1 4
Note
  • Bắt đầu từ \(A = 2\) (nhị phân: 0010).
  • Chọn \(a_1 = 3\) (nhị phân: 0011): \(2 \text{ OR } 3 = 3\) (nhị phân: 0011).
  • Chọn \(a_4 = 10\) (nhị phân: 1010): \(3 \text{ OR } 10 = 11\) (nhị phân: 1011).
  • Đích đến \(B = 11\). Số lần bấm \(k = 2\). Các chỉ số là \(1\) và \(4\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.