C.S.G.

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

요약
두 사람이 번갈아 카드를 가져가되 새로 가져온 수는 이전에 가져온 모든 수와 서로소여야 할 때, 최선의 플레이에서 승자를 구한다.
난이도

어려움10점 중 8점

유형
게임 이론, 정수론, 비트 연산, 동적 계획법
정답자
아직 제출이 없습니다

문제

게임 마스터 amsminn은 유망주 bnb2011과 게임을 하려고 한다. 게임은 11 이상 NN 이하의 정수 중 하나가 적혀있는 카드 MM개가 펼쳐져 있는 책상에서 진행되며, 게임의 규칙은 다음과 같다.

  1. 게임은 교대로 진행되며, amsminn이 먼저 게임을 시작한다.
  2. 각 사람은 자기 차례가 왔을 때, 책상에 남아 있는 카드 중 하나를 가져간다. 이때, 가져간 카드는 이전까지 서로가 가져간 카드 전부와 서로소여야 한다. 그리고 가져간 카드는 책상에서 사라지게 된다.
  3. 자신의 차례가 되었을 때 더 이상 카드가 존재하지 않거나, 규칙에 위배되지 않는 카드를 가져갈 수 없는 사람이 지게 된다.

두 수의 최대공약수가 11인 경우 두 수를 서로소라고 한다. 서로가 최선을 다해 게임을 진행한다고 했을 때 누가 이기는지 구해보자.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. (1≤T≤10)(1 \le T \le 10)

각 테스트 케이스는 두 줄에 걸쳐 주어진다. 첫째 줄에 카드에 적힐 수 있는 수의 최댓값인 NN과 카드의 개수인 MM이 공백으로 구분되어 주어진다. (1≤N≤150(1 \le N \le 150; 1≤M≤100,000)1 \le M \le 100\\,000)

그리고 둘째 줄에 각 카드에 적혀 있는 정수가 공백으로 구분되어 주어진다. 카드에 적힌 수는 11 이상 NN 이하의 정수 중 하나이다.

모든 테스트 케이스에 대한 NN의 합은 150150 이하이며, 입력으로 주어지는 모든 수는 정수이다.

출력

각 테스트 케이스에 대해 amsminn이 이긴다면 amsminn를, bnb2011이 이긴다면 bnb2011를 각 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3
    4 3
    2 3 4
    3 2
    2 3
    5 1
    5
    
    예상 출력
    bnb2011
    bnb2011
    amsminn