Roger likes saying yabe. Some people think he might be trying to say eBay, but obviously, he's saying yabe.
Two strings are equivalent if the two strings are equal after removing all lowercase letters.
Given a graph
of
nodes and
labelled directed edges with
destination nodes, we define
to be the
language of the graph. Imagine a walk that starts at node
and ends at some destination node.
Let
be the string obtained by concatenating all the labels of the edges that are walked in order.
is thus defined
as all possible strings
that can be generated by this process.
Compute the minimum possible value of
where
and
are both in
,
, and
and
are equivalent.
Constraints



If two edges go out of a common vertex, they are labelled with distinct letters.
Input Specification
The first line contains three integers,
,
, and
.
Each of the next
lines contains a unique positive integer less than or equal to
. These represent the destination nodes.
Each of the next
lines contains an integer
, a lowercase or uppercase letter
, and another integer
, indicating
a directed edge labeled with
going from vertex
to vertex
.
Output Specification
Output the minimum possible value of
where
and
are both in
,
, and
and
are equivalent.
If no such value exists, output -1
.
Sample Input
Copy
4 1 8
3
1 F 1
1 A 2
2 b 1
2 F 3
2 d 3
3 B 3
3 y 4
4 d 1
Sample Output
Copy
10
Comments