바이트오티아(Byteotia)의 마을 이름은 정확히 n개의 비트로 이루어진 서로 다른 이진 문자열이다. 이 나라에는 마을이 2n−k개 있으며, 따라서 길이 n짜리 비트열 중 정확히 k개는 어떤 마을의 이름도 아니다.
일부 마을 쌍은 도로로 직접 연결되어 있다. 구체적으로, 두 마을의 이름이 정확히 한 비트에서만 다를 때, 그리고 그럴 때에만 두 마을은 도로로 직접 이어진다. 도로는 마을 바깥에서 서로 교차하지 않는다.
바이트아사르(Byteasar)는 마을 x에서 출발하여 도로만을 따라 마을 y까지 산책하려고 한다. 마을 x에서 마을 y로 이러한 산책이 가능한지 판정하는 프로그램을 작성하여라.
첫째 줄에 두 정수 n과 k가 공백 하나로 구분되어 주어진다 (1≤n≤60, 0≤k≤1,000,000, k≤2n−1, n⋅k≤5,000,000). n은 마을 이름의 비트 길이이고, k는 어떤 마을의 이름도 아닌 길이 n짜리 비트열의 개수이다.
둘째 줄에는 공백으로 구분된 두 문자열이 주어지며, 각각 0과 1로 이루어진 길이 n의 이름이다. 이는 각각 마을 x와 y의 이름이다.
이어지는 k개의 줄에는 어떤 마을의 이름도 아닌 길이 n짜리 비트열이 한 줄에 하나씩 주어진다. 각 비트열은 0과 1로 이루어진 길이 n의 문자열이다. x와 y는 이 k개의 비트열에 포함되지 않는다.
마을 x에서 마을 y로 산책이 가능하면 TAK(폴란드어로 '예')를, 불가능하면 NIE(폴란드어로 '아니오')를 한 줄에 출력한다.
예를 들어 0000에서 1011로 가는 산책은 다음과 같이 두 가지가 가능하다.