문제
승우는 얼룩무늬가 있는 소 마리와 무늬가 없는 소 마리를 키우고 있다. 최근 유전학 수업을 마친 승우는 소의 얼룩무늬가 유전체 변이에 의해 발생한다고 확신했다.
승우는 많은 비용을 들여 소들의 유전체 서열을 분석했다. 각 유전체는 A, C, G, T 네 종류의 문자로 구성된 길이 의 문자열이다. 소들의 유전체를 나열하면 일 때 다음과 같은 표를 얻을 수 있다.
위치: 1 2 3 4 5 6 7 ... M
얼룩무늬 소 1: A A T C C C A ... T
얼룩무늬 소 2: G A T T G C A ... A
얼룩무늬 소 3: G G T C G C A ... A
무늬 없는 소 1: A C T C C C A ... G
무늬 없는 소 2: A G T T G C A ... T
무늬 없는 소 3: A G T T C C A ... T
이 표를 주의 깊게 살펴본 승우는 2번과 4번 위치만으로 얼룩무늬 유무를 설명할 수 있다고 추측했다. 즉, 이 두 위치의 문자만 보고도 어떤 소가 얼룩무늬가 있고 어떤 소가 없는지 예측할 수 있다. (예를 들어, 2번 위치가 G이고 4번 위치가 C라면 그 소는 반드시 얼룩무늬 소여야 한다.)
승우는 얼룩무늬가 단 한두 개의 위치가 아니라, 서로 다른 세 위치의 집합을 살펴봄으로써 설명될 수 있다고 확신한다. 얼룩무늬를 설명할 수 있는 서로 다른 세 위치의 집합이 총 몇 개인지 구하는 프로그램을 작성하시오.
세 위치의 집합이 얼룩무늬를 설명할 수 있다는 것은, 해당 세 위치의 유전체 정보를 확인했을 때 승우가 가진 소 집단 내에서 얼룩무늬 유무를 완벽하게 예측할 수 있음을 의미한다. 다시 말해, 어떤 얼룩무늬 소의 세 위치 문자 조합이 어떤 무늬 없는 소의 동일한 위치 문자 조합과도 일치하지 않아야 한다.
입력
첫째 줄에 과 이 공백으로 구분되어 주어진다. (; )
다음 개의 줄에는 얼룩무늬 소들의 유전체를 나타내는 길이 의 문자열이 한 줄에 하나씩 주어진다.
마지막 개의 줄에는 무늬가 없는 소들의 유전체를 나타내는 길이 의 문자열이 한 줄에 하나씩 주어진다.
출력
얼룩무늬를 완벽하게 설명할 수 있는 서로 다른 세 위치의 집합 의 개수를 출력한다.
예제 입력 1
3 8
AATCCCAT
GATTGCAA
GGTCGCAA
ACTCCCAG
ACTCGCAT
ACTTCCAT
예제 출력 1
22
코드를 제출하려면 로그인이 필요합니다.
로그인