노래를 음의 나열로 주고 의심되는 발췌 구간이 조를 바꿔서라도 노래 안에 나타나는지 판정한다.
보통6문자열 매칭배열구현문자열아직 제출이 없습니다시간 제한2초메모리 제한512 MB음은 서양 전통 음악의 기본 단위다. 음마다 진동수가 하나씩 대응하는데, 기본 진동수의 비가 2의 거듭제곱인 두 음(한쪽이 다른 쪽의 절반이거나 두 배인 경우 등)은 귀에 거의 같은 음으로 들린다. 그래서 이런 관계인 음은 모두 같은 이름을 쓴다.
기본이 되는 음은 열두 개다. 진동수가 작은 것부터 늘어놓으면 이웃한 두 음의 간격이 어디서나 같고, 이 간격을 반음이라고 한다. 열두 음 가운데 일곱 개는 알파벳 A, B, C, D, E, F, G로 적는다. 이 일곱 음 사이의 거리를 반음 수로 나타내면 다음과 같다.
| 음 | A-B | B-C | C-D | D-E | E-F | F-G | G-A |
|---|---|---|---|---|---|---|---|
| 반음 수 | 2 | 1 | 2 | 2 | 1 | 2 | 2 |
알파벳 이름이 없는 음이 다섯 개 남는다. A와 B 사이, C와 D 사이, D와 E 사이, F와 G 사이, G와 A 사이에 있는 음이다.
음에는 변화표 두 가지를 붙일 수 있다. 올림표 #는 음을 반음 올리고, 내림표 b는 음을 반음 내린다. 변화표를 붙인 음은 음 이름 뒤에 기호를 이어 적는다. 이 표기로 열두 음을 모두 적을 수 있다.
아래 그림은 피아노 건반의 일부에 위 규칙대로 음 이름을 붙인 것이다.

선율은 음을 나열해 적는다. 예를 들어 A A D C# C# D E E E F# A D G# A는 널리 알려진 선율이다. 반음 간격이 어디서나 같으므로 같은 선율을 다른 음에서 시작해 적을 수도 있다. 이때 선율의 조가 바뀌었다고 한다.
B B E D# D# E Gb Gb Gb G# B E A# B
이웃에 사는 작곡가가 누군가 자기 곡을 표절했다고 의심한다. 곡의 선율과 표절이 의심되는 선율 조각이 주어질 때, 그 조각이 어떤 조로든 곡 안에 나타나는지 판정하는 프로그램을 작성하시오.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 정수 M과 T가 주어진다(1≤M≤100000, 1≤T≤10000, T≤M). M은 곡의 음 개수, T는 표절이 의심되는 조각의 음 개수다. 이어지는 두 줄에는 곡의 음 M개와 조각의 음 T개가 차례로 주어진다.
한 줄 안의 음은 공백으로 구분한다. 각 음은 A, B, C, D, E, F, G 중 하나이고, 뒤에 올림표 #나 내림표 b가 붙을 수 있다.
마지막 테스트 케이스 다음 줄에는 공백으로 구분한 0 두 개만 주어진다.
각 테스트 케이스마다 문자 하나를 한 줄에 출력한다. 조각이 실제로 곡에서 나타나면 S, 그렇지 않으면 N을 출력한다.