问题 Q: 难题

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:227 通过:97

题目描述


    瓦西里喜欢解决不同的任务。今天他发现了一个他自己无法解决的问题,所以他请求你的帮助。

     瓦西里给出了n个由小写英文字母组成的字符串。他希望这些字符串按照字典顺序排序(就像在字典中那样),但他不允许交换这些字符串中的任何一个。他允许做的唯一操作是将其中任何一个字符串反转(第一个字符变成最后一个字符,第二个字符变成最后一个字符之前的一个字符,以此类推)

为了反转第i个字符串,瓦西里必须花费ci个单位的能量。他感兴趣的是,为了按字典顺序对字符串进行排序,他必须花费的最小能量。

如果字符串AB(|A|<|B|)并且是它的前缀,则字符串A在字典编法上比字符串B小;如果两个字符串A,B彼此都不是另一个字符串的前缀,并且从左到右第一个不相同的字符、A中的字符比B中的字符小,也称A比B小。

    为了解决这个问题,且相邻的两个相等的字符串不能破坏序列按字典顺序排序的条件,求瓦西里必须花费的最小总能量。 

https://www.toutiao.com/video/7301500474878853667/


输入格式

输入的第一行包含一个整数n(2n100000)−字符串的个数。

第二行包含n个整数ci(0ci10^9),第i个整数等于Vasiliy为了反转第i个字符串所花费的能量。

然后接n行,每一行包含一个由小写英文字母组成的字符串。这些字符串的总长度不超过100000

输出格式

如果无法将某些字符串反向以使它们按字典顺序排列,则输出-1。否则,输出瓦西里必须花费的最小总能量。



Examples
Input
2
1 2
ba
ac
Output
1
Input
3
1 3 1
aa
ba
ac
Output
1
Input
2
5 5
bbb
aaa
Output
-1
Input
2
3 3
aaa
aa
Output
-1

在第二个例子中,必须反转字符串2或字符串3。扭转弦3所需的能量更小。 

在第三个示例中,两个字符串在反向后都没有改变,而且它们的顺序是错误的,因此答案是-1。 

在第四个示例中,两个字符串都只由字符'a'组成,但在排序顺序中,字符串"aa"应该在字符串"aaa"之前,因此答案是-1。 

输入样例 复制

2
1 2
ba
ac

输出样例 复制

1

数据范围与提示