#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define f first
#define s second 
 


std::vector<int> solve(
std::vector<std::pair<int, int>> R,
std::vector<long long> D,
std::vector<int> S,
std::vector<int> T,
std::vector<bool> I
){
    //CHANGE FROM VOID!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    int n=1;
    for(auto v:R){
      n++;
    }

    int m=0;
    for(auto i:S)m++;
 

    int ans[m+4];
    for(int i=0; i<m; i++) ans[i]=0;
    int tm=-1;
    int pos[m+4];

    for(int i=0; i<m; i++){
        pos[i]=S[i];
    }
    int done=0;
        bool infctprez[n+7];

bool vr[m+2];
for(int i=0; i<m; i++) vr[i]=false;
    while(done<m){
        for(int i=0; i<n; i++)
                infctprez[i]=false;

        for(int i=0; i<m; i++){
            if(I[i]==true&&vr[i]==false){
                infctprez[pos[i]]=true;}
        }

        for(int i=0; i<m; i++)
          if(!vr[i]){
            if(infctprez[pos[i]]){
                I[i]=true;
                ans[i]++;
            }
        }



        for(int i=0; i<m; i++){
         if(T[i]>S[i]) {if(pos[i]>=T[i]&&vr[i]==false){
                done++;
                vr[i]=true;
            }
            else{
                pos[i]++;
            }}
        else{
            if(pos[i]<=T[i]&&vr[i]==false){
                done++;
                vr[i]=true;
            }
            else{
                pos[i]--;
            }

        }
        }

    }
    vector<int>send;
    for(int i=0; i<m; i++) send.pb(ans[i]);
    return send;

};