#include<bits/stdc++.h>
using namespace std;
const int N=2010;
const int INF=1e9;
double G[N][N], dis[N];
bool vis[N];
int n,m,i,j,k,x,y,minn;
void dijkstra(int x)
{
memset(dis,0,sizeof dis);
memset(vis,0,sizeof vis);
for(int i=1;i<=n;i++)
{
dis[i]=G[x][i];
}
dis[x]=1;
vis[x]=1;
for(int i=1;i<=n-1;i++)
{
int minn=INF;
for(int j=1;j<=n;j++)
if(!vis[j] && dis[j]<minn)
{
k=j;
minn=dis[j];
}
vis[k]=1;
if(k==y)
{
break;
}
for(int j=1;j<=n;j++)
{
if(vis[j]==0 && dis[k]*G[k][j]>dis[j])
{
dis[j]=dis[k]*G[k][j];
}
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>j>>k;
cin>>G[j][k];
G[j][k]=(100-G[j][k])/100;
G[k][j]=G[j][k];
}
cin>>x>>y;
dijkstra(x);
dis[y]=100.0/dis[y];
cout<<fixed<<setprecision(8)<<dis[y]<<'\n';
return 0;
}