#include "dungeons.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define fi first
#define se second
#define FOR for(int i=1;i<=n;i++)
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define lim 400005
int dizi[lim][4];
int N;
void init(int n, std::vector<int> s, std::vector<int> p, std::vector<int> w, std::vector<int> l) {
N=n;
for(int i=0;i<n;i++){
dizi[i][0]=s[i];
dizi[i][1]=p[i];
dizi[i][2]=w[i];
dizi[i][3]=l[i];
}
return;
}
long long simulate(int x, int z) {
int cur_s=z;
while(x!=N){
if(cur_s>=dizi[x][0]){
cur_s+=dizi[x][0];
x=dizi[x][2];
}
else{
cur_s+=dizi[x][1];
x=dizi[x][3];
}
}
return cur_s;
}
//~ int main(){
//~ int n;
//~ cin>>n;
//~ vector<int> s(n),p(n),w(n),l(n);
//~ for(int i=0;i<n;i++){
//~ cin>>s[i];
//~ }
//~ for(int i=0;i<n;i++){
//~ cin>>p[i];
//~ }
//~ for(int i=0;i<n;i++){
//~ cin>>w[i];
//~ }
//~ for(int i=0;i<n;i++){
//~ cin>>l[i];
//~ }
//~ init(n,s,p,w,l);
//~ int q;cin>>q;
//~ while(q--){
//~ int a,b;cin>>a>>b;
//~ int cev=simulate(a,b);
//~ cout<<cev<<'\n';
//~ }
//~ return 0;
//~ }