Trò chơi trên ước số

View as PDF

Submit solution

Points: 0.10
Time limit: 1.0s
Memory limit: 64M
Input: stdin
Output: stdout

Author:
Problem type

Cho số nguyên dương ~n~ và có hai bạn ~A, B~ sẽ chơi một trong hai trò chơi sau đây (~A~ luôn đi trước).

  • Luật 1: ở mỗi lượt, người chơi sẽ trừ vào số hiện tại ước dương của nó mà ước đó khác ~1~ và khác chính số đó, cụ thể là nếu có ~x~ thì có thể chọn một trong các ước của nó là ~d~ mà ~1 < d < x~ và thay ~x \to x-d.~

  • Luật 2: ban đầu, tất cả các ước của ~n~ sẽ được viết ra và ở lượt đầu tiên, ~A~ bắt buộc phải xóa số ~n.~ Ở mỗi lượt tiếp theo, người chơi sẽ xóa ước hoặc bội của số mà người kia xóa ở lượt đi trước đó.

Trong mỗi luật chơi, ai đến lượt đi của mình mà không thực hiện được thì thua cuộc. Vấn đề đặt ra là xác định người có chiến lược thắng, trong đó giả sử hai người đều có cách chơi tối ưu.

Hint: để giảm độ khó hơn, tác giả trò chơi có hint một tí như sau: ở luật 1, thử xét số ~n~ lẻ và sau đó xét luỹ thừa của ~2~ trong phân tích của số ~n~ (còn luật 2 thì dễ, SV tự giải).

Input

Dòng đầu tiên gồm số ~T~ cho biết số test, trong đó ~1 \le T \le 10.~ Mỗi dòng tiếp theo là giá trị của ~n~ trong test, trong đó ~1 \le n \le 10^9.~

Output

Với mỗi test, cho biết ai là người có chiến lược thắng. In ra ~A, A~ hoặc ~A, B~ hoặc ~B, A~ hoặc ~B, B~ một cách thích hợp.

Sample input

2
1
6

Sample output

B A
A B

Giải thích

Trong Ví dụ 1, với ~n=1~ thì theo luật ~1~ thì ~A~ không đi được lần nào; còn theo luật ~2~, người ~A~ sẽ xóa số ~1~ và ~B~ sẽ không còn gì để chơi. Trong Ví dụ 2, với ~n=6~ thì ở luật ~1~, người ~A~ có thể trừ ~n~ cho ~3~, khi đó còn lại ~3~ và ~B~ gặp số ~3~ thì thua ngay; còn ở luật ~2~, có các ước ~1,2,3,6~ ban đầu ~A~ đã xóa số ~6~ thì ~B~ xóa ~3~, đến lượt ~A~ chỉ có thể xóa ~1~ và tiếp theo ~B~ xóa ~2~ thì thắng luôn.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.