破忒头的匿名信
题号:NC201896
时间限制:C/C++/Rust/Pascal 5秒,其他语言10秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

破忒头想要写一封匿名信来做坏事,由于他不想被认出自己的笔迹,因此他想要雇佣萨博来帮他写这封信。萨博按照这样的标准来收费:他的词典里有N个单词,第i个单词的单价是p_i。如果你提供一个长度为M的序列,那么你需要支付的金钱,而萨博会依次往信里写上。破忒头希望支付最少的金钱,让萨博写的内容恰好为他想要的信件内容 。请你告诉破忒头,最少需要付多少钱,能让萨博写出他想要的匿名信,或者告诉他这是不可能做到的。

输入描述:

对于每组测试数据,第一行包含一个正整数 ,表示萨博词典里的单词个数()。接下来的  行描述词典里的每个单词,第  行包含一个字符串 S_i 和这个字符串的单价 p_i()。接下来一行包含破忒头想要的信件内容 ()。保证S_i和T都仅包含小写字母,且S_i的总长度不超过

输出描述:

如果有可能让萨博写出破忒头想要的信件内容,那么输出一个正整数,表示最小需要付出的代价。否则,输出-1。
示例1

输入

复制
4
ab 5
cd 10
abc 100
d 1
abcd

输出

复制
15
示例2

输入

复制
1
ab 1
abc

输出

复制
-1