#include #define int long long #define matsuri pair //const int iris = 1e9+7; const int iris = 998244353; using namespace std; using akari = pair; void solve() { int n,C,V; cin>>n>>C>>V; vector > > > G(n+1, vector > >(C+1)); vector S(V), T(V), Y(V), M(V); for(int &x:S) cin>>x; for(int &x:T) cin>>x; for(int &x:Y) cin>>x; for(int &x:M) cin>>x; vector > dis(n+1, vector(C+1, 1e18)); for(int i=0;i, greater > pq; pq.emplace(0, matsuri{1,0}); while(!pq.empty()) { auto [d,_]=pq.top(); pq.pop(); auto [a,x]=_; if(dis[a][x]!=d) continue; for(auto [b,y,c]:G[a][x]) { if(dis[a][x]+c>T; while(T--) solve(); return 0; }