#include<bits/stdc++.h>
using namespace std;
int n,m,s,e;
double dis[2010];
int nxt[100010],h[2010],ver[100010],edge[100010],tot;
bool fg[2020];
priority_queue<pair<double,int> >q;
inline int read()
{
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void dijkstra()
{
q.push(make_pair(1,s));
while(!q.empty())
{
int tmp=q.top().second;
q.pop();
if(fg[tmp]==1) continue;
fg[tmp]=1;
for(int i=h[tmp]; i!=0; i=nxt[i])
{
if(dis[ver[i]]<dis[tmp]*((100-edge[i])*0.01));
dis[ver[i]]=dis[tmp]*((100-edge[i])*0.01);
q.push(make_pair(dis[ver[i]],ver[i]));
}
}
}
void add(int x,int y,int z)
{
tot++;
ver[tot]=y;
nxt[tot]=h[x];
h[x]=tot;
edge[tot]=z;
}
int main()
{
n=read();
m=read();
for(int i=1; i<=m; i++)
{
int x,y,z;
x=read();
y=read();
z=read();
add(x,y,z);
add(y,x,z);
}
s=read();
e=read();
dis[s]=1;
dijkstra();
printf("%.8lf",100/dis[e]);
return 0;
}
全WA,顺便还爆了最后两个点的内存(大雾