import java.io.*; import java.math.*; import java.lang.*; public class program { public static void main(String[] args) { try {new program();} catch (Exception e){e.printStackTrace();} } public program() throws Exception { BufferedReader br = new BufferedReader(new FileReader(new File("speech.in"))); int dataSets = Integer.parseInt(br.readLine()); for (int dataSet = 0; dataSet < dataSets; dataSet++) { System.out.println("Data Set " + (dataSet + 1) + ":"); int keyWords = Integer.parseInt(br.readLine()); String wordList[] = new String[keyWords]; int pointList[] = new int[keyWords]; for (int wordNum = 0; wordNum < keyWords; wordNum++) { wordList[wordNum] = br.readLine(); pointList[wordNum] = Integer.parseInt(br.readLine()); } String speech = br.readLine(); int speechPoints = 0; for (int wordNum = 0; wordNum < keyWords; wordNum++) { int myIndex = 0; while (myIndex >= 0) { myIndex = speech.indexOf(wordList[wordNum], myIndex); if (myIndex >= 0) { speechPoints += pointList[wordNum]; myIndex++; } } } System.out.println(speechPoints); } } }