만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

보석

면접 대비

시간 제한2초메모리 제한1024 MB

요약
문자열에서 i < j이고 두 문자가 주어진 k개의 순서쌍 중 하나를 이루는 인덱스 쌍의 개수를 센다.
난이도

쉬움10점 중 3점

유형
배열, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

머나먼 동방의 한 나라에서는 오늘날까지도 낙타 카라반이 사막을 건너며, 상인들은 이 카라반으로 향신료와 보석, 값비싼 천을 운반한다. 물론 상인들의 주된 목표는 가진 물건을 최대한 비싸게 파는 것이다. 얼마 전 한 카라반이 힘센 샤의 궁전에 도착했다.

상인들은 가져온 보석 nn개를 샤에게 팔려고 한다. 그래서 샤 앞에 보석을 한 줄로 늘어놓으면, 샤가 보석을 평가하고 살지 말지를 결정한다.

동방에서 알려진 보석의 종류는 그리 많지 않아 모두 26가지이므로, 보석의 종류를 라틴 알파벳 소문자로 나타내기로 한다. 샤는 보통 다음과 같이 보석을 평가한다.

샤는 미리 여러 개의 순서쌍 (a1,b1)(a_1, b_1), (a2,b2)(a_2, b_2), \ldots, (ak,bk)(a_k, b_k)를 정해 두었다. 샤는 이런 쌍을 아름답다고 부르며, 그 집합을 PP로 나타낸다. 이제 상인들이 파는 보석 줄을 라틴 알파벳 소문자로 이루어진 길이 nn의 문자열 SS로 나타내자. 샤는 1≤i<j≤n1 \le i < j \le n이고 보석 SiS_i와 SjS_j가 아름다운 쌍을 이루는, 즉 Si=aqS_i = a_q이고 Sj=bqS_j = b_q인 1≤q≤k1 \le q \le k가 존재하는 순서쌍 (i,j)(i,j)의 개수를 센다.

이 개수가 충분히 크면 샤는 보석을 모두 산다. 그런데 이번에는 상인들이 너무 많은 보석을 가져와서 샤가 그 개수를 셀 수 없다. 그래서 샤는 재상을 불러 이 계산을 맡겼다.

이 문제의 답을 구하는 프로그램을 작성하라.

입력

첫째 줄에는 정수 nn과 kk가 주어진다. nn은 상인들이 가져온 보석의 수, kk는 샤가 아름답다고 여기는 쌍의 수이다(1≤n≤1000001 \le n \le 100000, 1≤k≤6761 \le k \le 676). 둘째 줄에는 상인들이 가져온 보석의 종류를 나타내는 문자열 SS가 주어진다.

이어서 kk개의 줄이 주어지며, 각 줄에는 라틴 알파벳 소문자 두 개가 주어져 아름다운 보석 쌍 하나를 나타낸다.

출력

재상이 구해야 하는 순서쌍의 개수를 출력한다.

예제2

  1. 예제 1

    입력
    7 1
    abacaba
    aa
    
    예상 출력
    6
    
  2. 예제 2

    입력
    7 3
    abacaba
    ab
    ac
    bb
    
    예상 출력
    7