#000085

kamen

Малиот Џокица нашол N каменчиња. На секое каменче запишано една голема буква од англиската абецеда (од 'A' до 'Z').
Тој го измерил секој камен и ја утврдил неговата тежина во грами. Потоа тој напишал збор со должина M кој се состои само од големи
букви од англиската азбука. Мали Џокица го интересира најмалата маса на каменчињата, која треба да се одбере, за по нивното сложување
во еден ред го добие претходно напишаниот збор. Бидејќи мали Џокица го мрзи да смета и сака да си игра, овој проблем го препуштил на вас.



Input

(Влезните податоци се вчитуваат преку стандарден влез). Во првиот ред се наоѓаат целите броеви N (1<=N<=50000) и M (1<=M<=50000).
Во наредните N редови се наоѓа по една буква si и еден цел број ti , каде што si ја претставува буквата на i-тиот
камен ( si секогаш е голема буква од англиската азбука), а ti (1<=t[i]<=50000) ја претставува масата на i-тиот камен.
Потоа се вчитуваат M редови кои содржат по една буква и тоа се подредените букви од зборот кој го напишал мали Џокица.



Output

Во првиот ред да се испише најмалата вкупна маса на камењата при чие сложување се добива бараниот збор. Ако е невозможно
да се добие напишаниот збор се испишува -1.



Влез:5 3
A 10
B 40
C 30
B 20
E 50
C
E
B

Излез:100

Влез:14 11
A 1
I 2
K 3
L 4
O 5
P 6
N 7
F 8
R 9
O 10
M 11
T 12
I 13
Z 14
I
N
F
O
R
M
A
T
I
K
A

Излез:-1

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.