import sys input = sys.stdin.readline # 行列の計算(numpyを使えないとき,modを使用) def prod(A,B,k,l,m):# A:k*l,B:l*m C=[[None for i in range(m)] for j in range(k)] for i in range(k): for j in range(m): ANS=0 for pl in range(l): ANS=(ANS+A[i][pl]*B[pl][j]) C[i][j]=ANS return C def plus(A,B,k,l):# a,B:k*l C=[[None for i in range(l)] for j in range(k)] for i in range(k): for j in range(l): C[i][j]=(A[i][j]+B[i][j]) return C # 逆行列を掃き出し法で計算(floatで計算) def inv_transformation(A,x): # xは正方行列の行数 #print(A) for i in range(x): A[i]+=[0]*x A[i][i+x]=1 for i in range(x): for j in range(x): if i==j: continue base=A[i][i] if base!=1: for k in range(x*2): A[i][k]/=base target=A[j][i] if target==0: continue for k in range(x*2): A[j][k]-=A[i][k]*target B=[[0]*x for i in range(x)] for i in range(x): for j in range(x): B[i][j]=round(A[i][j+x]) return B N,x0,y0=map(int,input().split()) C=[list(map(int,input().split())) for i in range(N)] A=[[1,0,0],[0,1,0],[0,0,1]] for L in C: if L[0]==1: x=L[1] B=[[1,0,0],[0,1,0],[x,0,1]] A=prod(A,B,3,3,3) elif L[0]==2: x=L[1] B=[[1,0,0],[0,1,0],[0,x,1]] A=prod(A,B,3,3,3) else: B=[[0,-1,0],[1,0,0],[0,0,1]] A=prod(A,B,3,3,3) NOW=[[x0,y0,1]] ANS=prod(NOW,A,1,3,3) print(ANS[0][0],ANS[0][1]) for L in C[:-1]: if L[0]==1: x=L[1] B=[[1,0,0],[0,1,0],[x,0,1]] A=prod(inv_transformation(B,3),A,3,3,3) elif L[0]==2: x=L[1] B=[[1,0,0],[0,1,0],[0,x,1]] A=prod(inv_transformation(B,3),A,3,3,3) else: B=[[0,-1,0],[1,0,0],[0,0,1]] A=prod([[0,1,0],[-1,0,0],[0,0,1]],A,3,3,3) ANS=prod(NOW,A,1,3,3) print(round(ANS[0][0]),round(ANS[0][1]))