#include<cstdio>
#include<iostream>
using namespace std;
int n,m,op,p,q,i1,i2,s1=0,s2=0;
struct point
{
int x,y;
}p1[100001];
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i)scanf("%d%d",&p1[i].x,&p1[i].y);
for(int i=1;i<=m;++i)
{
scanf("%d",&op);
if(op==1)
{
scanf("%d%d",&p,&q);
s1+=p;s2+=q;
}
else if(op==2){scanf("%d",&i1);swap(p1[i1].x,p1[i1].y);}
else if(op==3){
scanf("%d",&i2);
if(f[i2]==false)printf("%d %d\n",p1[i2].x+p,p1[i2].y+q);
else printf("%d %d\n",p1[i2].y+p,p1[i2].x+q);
}
}
return 0;
}