Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

E. Selling Numbers

time limit per test

2 secondsmemory limit per test

512 megabytesinput

standard inputoutput

standard outputBoris really likes numbers and even owns a small shop selling interesting numbers. He has *n* decimal numbers *B*_{i}. Cost of the number in his shop is equal to the sum of costs of its digits. You are given the values *c*_{d}, where *c*_{d} is the cost of the digit *d*. Of course, Boris is interested in that numbers he owns have the maximum cost possible.

Recently Boris got hold of the magical artifact *A*, which can allow him to increase the cost of his collection. Artifact is a string, consisting of digits and '?' symbols. To use the artifact, Boris must replace all '?' with digits to get a decimal number without leading zeros (it is also not allowed to get number 0). After that, the resulting number is added to all numbers *B*_{i} in Boris' collection. He uses the artifact exactly once.

What is the maximum cost of the collection Boris can achieve after using the artifact?

Input

First line contains artifact *A*, consisting of digits '0'–'9' and '?' symbols (1 ≤ |*A*| ≤ 1000). Next line contains *n* — the amount of numbers in Boris' collection (1 ≤ *n* ≤ 1000). Next *n* lines contain integers *B*_{i} (1 ≤ *B*_{i} < 10^{1000}). *A* doesn't start with '0'.

Last line contains ten integers — costs of digits *c*_{0}, *c*_{1}, ..., *c*_{9} (0 ≤ *c*_{i} ≤ 1000).

Output

Output one integer — the maximum possible cost of the collection after using the artifact.

Examples

Input

42

3

89

1

958

0 0 1 1 2 2 3 3 4 4

Output

4

Input

?5?

4

2203

5229

276

6243

2 1 6 1 1 2 5 2 2 3

Output

62

Note

In the second sample input, the optimal way is to compose the number 453. After adding this number, Boris will have numbers 2656, 5682, 729 and 6696. The total cost of all digits in them is equal to 18 + 15 + 11 + 18 = 62.

Codeforces (c) Copyright 2010-2020 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Sep/21/2020 22:56:54 (g2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|