Trò chơi bốc số (hard version)

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: 1400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

An và Bình đang chơi trò chơi bốc số. An được bốc trước, Bình được bốc sau. Hai người bắt đầu bốc số trong mảng \(a\). An sẽ bốc số chia hết cho một số bất kỳ trong mảng \(b\) (có thể dùng một số nhiều lần) và Bình sẽ bốc số chia hết cho một số bất kỳ trong mảng \(c\) (có thể dùng một số nhiều lần). Trò chơi kết thúc khi một trong hai người hết số để bốc. Hãy xác định xem người nào thắng nếu hai người đều chơi tối ưu.

Input

  • Dòng đầu tiên chứa ba số nguyên \(n, m, k\) lần lượt là số lượng phần tử của mảng \(a, b, c\).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\).
  • Dòng thứ ba chứa \(m\) số nguyên \(b_1, b_2, \dots, b_m\).
  • Dòng thứ tư chứa \(k\) số nguyên \(c_1, c_2, \dots, c_k\).

Output

  • In ra An nếu An thắng, ngược lại in ra Binh.

Constraints

  • \(1 \leq n, m, k \leq 10^5\)
  • \(1 \leq a_i, b_i, c_i \leq 10^6\)

Example

Test 1

Input
5 3 2
2 4 6 8 10
2 2 3
4 5
Output
An

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(n, m, k \leq 100\).
  • Subtask \(2\) (\(70\%\) số điểm): Không có ràng buộc gì thêm.

Bình luận (1)

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