#include <bits/stdc++.h>
using namespace std;
struct ab{
int to,l;
};
int n,m,r[2005],a,b;
double pay[2005];
vector<ab>s[2005];
double ans;
void dfs (double payy,int num){
pay[num]=payy;
for (int i=0;i<=s[num].size();i++){
if (pay[s[num][i].to]>payy/(double)((100-s[num][i].l)/100)){
dfs(payy/((100-s[num][i].l)/100),s[num][i].to);
printf("%.8lf\n",payy/((100-s[num][i].l)/100));
}
}
}
int main(){
cin>>n>>m;
for (int i=1;i<=n;i++){
int x,y,z;
cin>>x>>y>>z;
r[x]++,r[y]++;
s[x].push_back((ab){y,z});
s[y].push_back((ab){x,z});
}
for (int i=1;i<=n;i++)
pay[i]=9999;
cin>>a>>b;
dfs(100,b);
printf("%.8lf",pay[a]);
return 0;
}