만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

쉬운 승리

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

요약
돌 더미 n개가 주어질 때, 한 번에 한 더미에서 1개 이상 x개 이하의 돌을 가져가는 게임에서 x의 값마다 선공이 이기는지 구합니다.
난이도

보통10점 중 6점

유형
비트 연산, 누적 합, 수학
정답자
아직 제출이 없습니다

문제

앨리스와 밥이 게임을 한다.

돌 더미가 nn개 있고, ii번째 더미에는 aia_i개의 돌이 있다(1≤ai≤n1 \le a_i \le n).

앨리스부터 차례대로 각 플레이어는 아무 더미나 골라 최소 1개, 최대 xx개의 돌을 가져간다. 자기 차례에 움직일 수 없는 플레이어(모든 더미가 비어 있는 경우)가 진다.

앨리스와 밥은 xx의 최종 값을 아직 정하지 않았다. 1≤x≤n1 \le x \le n인 모든 xx에 대해, 두 사람이 최적으로 플레이할 때 누가 이기는지 구하라.

입력

첫 줄에 정수 nn(1≤n≤500 0001 \le n \le 500\,000)이 주어진다. 이는 더미의 개수이자 각 더미 돌 개수의 상한이다.

둘째 줄에 nn개의 정수 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤n1 \le a_i \le n)이 주어진다. 각 더미에 있는 돌의 개수이다.

출력

nn개의 단어를 출력한다. ii번째 단어는 x=ix = i일 때 최적으로 플레이하면 앨리스가 이기는 경우 "Alice", 그렇지 않으면 "Bob"이다.

힌트

첫 번째 예제에서 xx와 무관하게 밥은 대칭 전략을 쓸 수 있다. 앨리스가 어떤 더미에서 돌을 가져가면, 밥은 돌 개수가 같은 더미에서 같은 수만큼 가져간다. 따라서 밥은 매 차례 항상 움직일 수 있다.

예제3

  1. 예제 1

    입력
    6
    6 6 6 6 6 6
    
    예상 출력
    Bob Bob Bob Bob Bob Bob
    
  2. 예제 2

    입력
    4
    1 2 3 4
    
    예상 출력
    Bob Alice Bob Alice
    
  3. 예제 3

    입력
    5
    1 2 3 2 2
    
    예상 출력
    Bob Alice Bob Bob Bob