#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MP make_pair typedef unsigned long long ULL; long d[100][100]; long cost[100][100]; int n; int main(){ int c,v; cin>>n>>c>>v; vector s(v),t(v),y(v),m(v); for(int i=0;i>s[i]; for(int i=0;i>t[i]; for(int i=0;i>y[i]; for(int i=0;i>m[i]; for(int i=0;id[i][k]+d[k][j] && cost[0][i]+cost[i][k]+cost[k][j]<=c){ d[i][j]=d[i][k]+d[k][j]; cost[0][k]=cost[0][i]+cost[i][k]; cost[0][j]=cost[0][k]+cost[k][j]; } } } } if(d[0][n-1]==99999) d[0][n-1]=-1; cout<