The city of Xentopia has a well-connected railway network. The city has N junctions numbered from 1 to N.
M pairs of railway tracks exist between the junctions. Trains can travel in both directions on each track.
Each railway track is either red, blue or white in colour.

Tima, a tourist in the city, wants to travel from junction S to junction T in the minimum possible time.
Tima has a map of the railway network that she can use to help herself.

The map contains the information of each railway track:
*U V X C* - denoting that a track exists between junction U and junction V,
the train covers this track in X seconds and the track has colour C.
There can be multiple tracks connecting U and V.

Tima, the eccentric woman that she is, has some interesting constraints for her travel:
- She wants to travel via exactly k1 red tracks, exactly k2 blue tracks and any number of white tracks in any order.
- She is fine with using a railway track more than once.

Can you tell the minimum time Tima will take to go from S to T ensuring that her constraints are not violated?

Input Format:
- The first line contains 4 space-separated integers - N, M, k1 and k2.
- M lines follow. Each line contains 4 space-separated integers: U, V, X, C
- The last line contains 2 space-separated integers - S, T - the source and the destination of Tima's journey

Output Format:
Print a single integer on a new line denoting the total time Tima would take.
If in case she can't travel from S to T without violating the conditions, print -1.

Constraints:
1 <= N, M, k1, k2 <= 200
1 <= U, V, S, T <= N (Note: S could be equal to T)
0 <= X <= 10^9
0 <= C <= 2
C=0 denotes a white track, C=1 denotes red track and C=2 denotes blue track
