보석
면접 대비시간 제한2초메모리 제한1024 MB
문자열에서 i < j이고 두 문자가 주어진 k개의 순서쌍 중 하나를 이루는 인덱스 쌍의 개수를 센다.
문제
머나먼 동방의 한 나라에서는 오늘날까지도 낙타 카라반이 사막을 건너며, 상인들은 이 카라반으로 향신료와 보석, 값비싼 천을 운반한다. 물론 상인들의 주된 목표는 가진 물건을 최대한 비싸게 파는 것이다. 얼마 전 한 카라반이 힘센 샤의 궁전에 도착했다.
상인들은 가져온 보석 개를 샤에게 팔려고 한다. 그래서 샤 앞에 보석을 한 줄로 늘어놓으면, 샤가 보석을 평가하고 살지 말지를 결정한다.
동방에서 알려진 보석의 종류는 그리 많지 않아 모두 26가지이므로, 보석의 종류를 라틴 알파벳 소문자로 나타내기로 한다. 샤는 보통 다음과 같이 보석을 평가한다.
샤는 미리 여러 개의 순서쌍 , , \ldots, 를 정해 두었다. 샤는 이런 쌍을 아름답다고 부르며, 그 집합을 로 나타낸다. 이제 상인들이 파는 보석 줄을 라틴 알파벳 소문자로 이루어진 길이 의 문자열 로 나타내자. 샤는 이고 보석 와 가 아름다운 쌍을 이루는, 즉 이고 인 가 존재하는 순서쌍 의 개수를 센다.
이 개수가 충분히 크면 샤는 보석을 모두 산다. 그런데 이번에는 상인들이 너무 많은 보석을 가져와서 샤가 그 개수를 셀 수 없다. 그래서 샤는 재상을 불러 이 계산을 맡겼다.
이 문제의 답을 구하는 프로그램을 작성하라.
입력
첫째 줄에는 정수 과 가 주어진다. 은 상인들이 가져온 보석의 수, 는 샤가 아름답다고 여기는 쌍의 수이다(, ). 둘째 줄에는 상인들이 가져온 보석의 종류를 나타내는 문자열 가 주어진다.
이어서 개의 줄이 주어지며, 각 줄에는 라틴 알파벳 소문자 두 개가 주어져 아름다운 보석 쌍 하나를 나타낸다.
출력
재상이 구해야 하는 순서쌍의 개수를 출력한다.