#include using namespace std; typedef signed long long ll; #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x<(to);x++) #define FORR(x,arr) for(auto& x:arr) #define FORR2(x,y,arr) for(auto& [x,y]:arr) #define ALL(a) (a.begin()),(a.end()) #define ZERO(a) memset(a,0,sizeof(a)) #define MINUS(a) memset(a,0xff,sizeof(a)) template bool chmax(T &a, const T &b) { if(a bool chmin(T &a, const T &b) { if(a>b){a=b;return 1;}return 0;} //------------------------------------------------------- int N,M,Q; int L[202020],R[202020]; ll T[202020],X[202020]; int P[202020]; vector pos[202020]; int A[202020][60]; void solve() { int i,j,k,l,r,x,y; string s; cin>>N>>M>>Q; FOR(i,M) { cin>>L[i]>>R[i]; L[i]--,R[i]--; } FOR(i,Q) { cin>>T[i]>>X[i]; X[i]--; if(T[i]%M) pos[T[i]%M].push_back(i); } FOR(i,N) P[i]=i; FOR(i,M) { swap(P[L[i]],P[R[i]]); FORR(v,pos[i+1]) X[v]=P[X[v]]; } FOR(i,N) { A[i][0]=P[i]; } FOR(j,59) FOR(i,N) A[i][j+1]=A[A[i][j]][j]; FOR(i,Q) { x=X[i]; ll v=T[i]/M; FOR(j,60) if(v&(1LL<