점퍼

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

고리 모양의 띠에 nn개의 칸이 있습니다. 각 칸은 검은색 또는 흰색으로 칠해져 있습니다. 모든 칸을 검은색으로 칠하는 것이 목표입니다. 칠할 때는 점퍼를 사용합니다. 점퍼는 검은 물감을 묻힌 채 뛰어다니는 로봇입니다. 점퍼가 흰 칸에 착지하면 그 칸을 검은색으로 다시 칠합니다. 점퍼는 검은 칸에는 절대 착지할 수 없습니다. 점퍼는 원하는 만큼 사용할 수 있고, 각 점퍼마다 흰 칸 하나를 출발 칸으로 고릅니다. 이때 고른 출발 칸들은 서로 모두 달라야 합니다.

모든 점퍼는 적어도 한 번은 뛰어야 하며, 출발한 칸으로 다시 돌아와야 합니다. 점퍼는 자신의 출발 칸을 마지막 점프에서만 칠합니다. 모든 점퍼는 동일하며, 가능한 점프의 집합 S={s1,,sm}S = \{s_1, \dots, s_m\}을 똑같이 공유합니다. 점퍼는 현재 칸에서 위 규칙을 만족하는 한 mm가지 이동 중 하나를 할 수 있습니다. ii번째 이동은 시계 방향으로 sis_i칸만큼 점프하는 것입니다.

주어진 띠와 점퍼 명세에 대해, 위 규칙을 모두 지키면서 띠 전체를 검은색으로 칠할 수 있는지 판단하세요.

입력

첫 번째 줄에 테스트 집합의 개수 tt (1t201 \le t \le 20)가 주어집니다. 이어서 각 테스트 집합이 주어집니다.

각 테스트 집합의 첫 줄에는 두 정수 nnmm (1n5001 \le n \le 500, 1mn1 \le m \le n)이 주어집니다. nn은 띠의 길이, mm은 가능한 점프 길이의 개수입니다. 다음 줄에는 고리 모양 띠를 나타내는 BC로 이루어진 길이 nn의 문자열이 주어집니다 (B는 흰 칸, C는 검은 칸). 이어지는 mm개의 줄에는 각각 점퍼가 할 수 있는 점프 길이 sis_i (1sin1 \le s_i \le n)가 하나씩 주어집니다.

출력

각 테스트 집합마다 한 줄을 출력합니다. 띠 전체를 검은색으로 칠할 수 있으면 TAK을, 그렇지 않으면 NIE를 출력합니다.