#include #include using namespace std; struct node { int a,b; double r,c; }e[210]; double dis[110]; int n,m,s,cnt=0; double v; void add(int a,int b,double r,double c) { e[cnt].a=a; e[cnt].b=b; e[cnt].r=r; e[cnt++].c=c; } bool bellman_ford() { memset(dis,0,sizeof(dis)); dis[s]=v; for(int i=1;i>n>>m>>s>>v; while(m--) { cin>>a>>b>>rab>>cab>>rba>>cba; add(a,b,rab,cab); add(b,a,rba,cba); } if(bellman_ford()) cout<<"YES"<