레몬컵 출제하기

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

요약
각 문제는 K비트 집합이고 인코딩이 직전 판정에 따라 뒤집힌다. 앞선 문제의 집합이 현재 집합을 포함하는지 판정한다.
난이도

보통10점 중 7점

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

문제

어떤 문제가 웰논(WellKnown)이라 함은, 그와 유사한 문제가 이미 출제된 적이 있음을 뜻한다. 레몬컵 문제를 출제하게 된 다다스는 웰논 문제를 피하고 싶었기 때문에 다음과 같은 기준을 세웠다.

문제 AA가 문제 BB보다 먼저 출제되었고 문제 AA에서 사용하는 알고리즘이 문제 BB에서 사용하는 알고리즘을 모두 포함한다면, 문제 BB를 웰논이라고 정의한다.

세상에는 수많은 알고리즘이 존재하지만, 다다스는 KK개의 알고리즘만 알고 있다. 따라서 다다스가 출제하는 문제는 이 KK개의 알고리즘 내에서만 다뤄진다.

다다스가 출제한 NN개의 문제가 출제 순서대로 주어진다. 각 문제마다 이전에 출제된 문제들과 비교해 웰논이라면 WellKnown, 아니라면 AdHoc을 출력하라.

알고리즘을 전혀 사용하지 않는 문제가 있을 수 있음에 유의하라.

입력

입력은 다음과 같은 형식으로 주어진다.

N KN \ K

S_1S\_1

S_2S\_2

⋮\vdots

S_NS\_N

값 z_iz\_i는 다음과 같이 정의된다.

  • i=1i=1일 때, z_1=0z\_1=0이다.
  • i>1i>1일 때, (i−1)(i-1)번째 문제가 웰논이었다면 z_i=0z\_i=0, 아니라면 z_i=1z\_i=1이다.

S_iS\_i는 ii번째 문제의 정보를 나타낸다. 이 문자열은 길이가 KK이며, 00과 11로만 이루어져 있다. z_iz\_i의 값에 따라 문자열 S_iS\_i의 해석 방법이 달라진다.

  • z_i=0z\_i=0인 경우: S_iS\_i의 jj번째 문자가 11이면 jj번 알고리즘을 사용한다는 의미이고, 00이면 사용하지 않는다는 의미이다.
  • z_i=1z\_i=1인 경우: S_iS\_i의 (K−j+1)(K-j+1)번째 문자가 11이면 jj번 알고리즘을 사용한다는 의미이고, 00이면 사용하지 않는다는 의미이다.

출력

첫째 줄부터 NN개의 줄에 걸쳐 각 문제가 WellKnown인지 AdHoc인지 한 줄에 하나씩 출력한다.

제한

  • 1≤N≤300 0001 \leq N \leq 300\ 000.
  • 1≤K≤201 \leq K \leq 20.

예제1

  1. 예제 1

    입력
    10 4
    1101
    1010
    0010
    0010
    1100
    1010
    1010
    0101
    0101
    0001
    
    예상 출력
    AdHoc
    WellKnown
    AdHoc
    WellKnown
    WellKnown
    AdHoc
    WellKnown
    WellKnown
    WellKnown
    WellKnown