#P1255. 古代遗迹

古代遗迹

背景

JHB 成功捉获了一个入侵者,从他的口中JHB 了解到WZland 的中心存在一个古代遗址,这个遗址内部存在一个神秘的物件,获得这个物件之后可以拥有不可思议的力量……

问题描述

JHB第一时间就将这个消息透露给WZland的国王,但国王对这件事情不怎么关心,他鸟都没鸟JHB就去干其他事情去了。

没办法JHB就将这个消息告诉了WZOI小组的其他成员,他们决定一起去找寻找这个神秘的遗址。WZOI的小组成员了解到古代遗址在一个十分隐秘的地方,他们不能通过开车的方式到达那里,他们只能通过巨大的传送网络到达古代遗址所在的地方。

这个传送网络中存在N个传送站点,简单地标号为1,2,…,N。每个传送点有一个传送门,两个不同的传送点可通过传送门相互到达,但并不是所有的传送点都可以通过传送门直接相互到达。这个传送网络中存在M个传送通道,每个传送通道可以用两个互不相同的整数A和B来描述,表示传送点A和传送点B可直通过一次传送而相互可达。

ZOI的人了解到他们现在处于传送点S,而古代遗址处于传送点T,在点S处他们的传送速度为V。这个传送网络还有一个神奇之处,它的每一个站点拥有一个参数Ci,如果在传送点a的传送速度为Va,传送点a的参数为Ca,传送点b的参数为Cb,传送点b和传送点a可以直接传送。那么在传送点b的速度为Vb=Va*2^(Cb-Ca),而通过这个传送通道的时间为1/Va.

WZOI的成员们想知道他们怎样才能用最少的时间到达目的地。

输入格式

输入数据第1行包含三个整数N,M,V,分别表示传送站点的数目,传送通道的数目,以及初始速度;

第2行包含N个整数,C1,C2,…,CN,其中Ci(1≤i≤N)表示第i个传送通道的参数;

第3行到第M+3行,每行两个整数A,B(1≤A,B≤N,A≠B),表示传送点A和传送点B存在传送通道;

第M+4行,包含两个整数S,T(1≤S,T≤N,S≠T),分别表示出发点和目的地。

输出格式

输出数据只有一行,包含一个数T,表示WZOI 的成员最少需要花多少时间能到达目的地。

注意T 可能是一个实数,你只需要将它保留一位小数输出即可。

样例输入输出

Sample #1vestige.in

3 3 1
1 2 3
1 2
2 3
1 3
1 3

vestige.out

1.0

vestige.in

4 5 2
3 2 4 1
1 3
1 4
1 2
3 4
2 3
1 4

vestige.out

0.5

数据规模

对于30%的数据,N≤1000,M≤10000;

对于50%的数据,N≤20000,M≤200000;

对于100%的数据,N≤100000,M≤200000;

对于100%的数据,Ci∈[-20,20],V≤100000.输入数据保证存在一条路径从S到达T。