무기 배분
시간 제한1초메모리 제한256 MB
각 병사에게 재고 범위 안에서 선호 순위 합이 가장 작아지도록 무기 하나씩 배정합니다.
문제
세오덴 왕은 영토를 노린 습격과 사루만의 위협에 맞서 백성을 헬름 협곡으로 물렸다. 그런데 무기고에 있는 무기가 종류마다 모자라서, 모든 병사에게 가장 잘 다루는 무기를 쥐여 줄 수는 없다. 병참장교는 지금 있는 무기만으로 부대의 전투력이 가장 높아지도록 무기를 나눠 줘야 한다.
병사는 저마다 무기 종류를 가장 잘 다루는 것부터 가장 못 다루는 것까지 차례로 적은 목록이 있다. 어떤 병사가 자기 목록에서 번째 무기를 받으면 미숙련도 합이 만큼 늘어난다. 가장 잘 다루는 무기가 번째다. 목록이 ABCD인 병사는 C를 받으면 , B를 받으면 이 늘어난다. 병사는 모두 무기를 하나씩 받고, 한 무기 종류는 무기고에 있는 개수만큼만 나눠 줄 수 있다. 미숙련도 합의 최솟값을 구하라.
입력
첫째 줄에 테스트 케이스의 개수가 주어진다. 개수는 이하다.
각 테스트 케이스의 첫째 줄에는 무기 종류의 수 과 병사의 수 이 주어진다. (, )
다음 개 줄에는 문자 와 정수 가 주어진다. 는 무기 종류를 나타내는 대문자이고, 는 무기고에 있는 그 무기의 개수다. () 문자 개는 서로 다르다.
다음 개 줄에는 병사 한 명의 목록이 한 줄씩 주어진다. 목록은 무기 문자 개를 그 병사가 가장 잘 다루는 순서대로 이어 붙인 문자열이다.
무기고에 있는 무기의 총 개수는 항상 이상이므로 모든 병사가 무기를 받는다. 모든 테스트 케이스의 을 더한 값은 이하다.
출력
각 테스트 케이스마다 미숙련도 합의 최솟값을 한 줄에 출력한다.