지성이는 ACM 대학교 컴퓨터공학과의 학생회장이다. 곧 학과의 연례 축제가 열리고, 지성이는 축제에서 진행할 행사를 준비하고 있다. 퍼즐을 만들고 푸는 것을 좋아하는 지성이는 축제를 위해 재미있는 문자열 퍼즐을 하나 만들기로 한다.
퍼즐의 규칙은 다음과 같다.
No를 출력한다.예를 들어 n=2이면 사용할 수 있는 문자는 A와 B이다. 금지 문자열이 {AAA, AB, BA, BB}이면, 이 네 문자열을 부분 문자열로 포함하지 않는 가장 긴 문자열은 AA이다. 하지만 금지 문자열이 {AAA, BBB, ABAB, BBAA}이면, ABAABAABA... 처럼 얼마든지 길게 이어 붙인 문자열이 어떤 금지 문자열도 포함하지 않으므로 가장 긴 문자열이 존재하지 않고, 답은 No이다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 두 정수 n (1≤n≤26)과 s (1≤s≤1000)가 주어지며, 각각 사용할 수 있는 문자의 개수와 금지 문자열의 개수를 나타낸다. 이어지는 s개의 줄에는 금지 문자열이 한 줄에 하나씩 주어진다. 각 금지 문자열의 길이는 최대 50이고, 처음 n개의 대문자로만 이루어지며, 어떤 금지 문자열도 다른 금지 문자열의 부분 문자열이 아니다.
각 테스트 케이스마다 정확히 한 줄을 출력한다. 조건을 만족하는 가장 긴 문자열이 존재하면 그 문자열을 출력하고, 존재하지 않으면 No를 출력한다. 조건을 만족하는 문자열이란 어떤 금지 문자열도 부분 문자열로 포함하지 않는 문자열이다. 조건을 만족하는 문자열을 얼마든지 길게 만들 수 있거나, 조건을 만족하는 문자열이 빈 문자열밖에 없는 경우에는 No를 출력한다. 최대 길이가 같은 문자열이 여러 개 있으면 그중 사전순으로 가장 큰 문자열을 출력한다.