#include<stdio.h>
int a[1005][1005];
int main()
{
int n,m,q,_case;
char c;
int x,x1,x2,y1,y2,t;
int ii,i,j;
scanf("%d",&_case);
while(_case--)
{
scanf("%d %d %d",&n,&m,&q);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
for(i=0;i<q;i++)
{
getchar();
scanf("%c",&c);
if(c=='Q')
{
scanf("%d %d %d %d %d",&x,&x1,&x2,&y1,&y2);
for(ii=x1;ii<=x2;ii++)
{
if(a[ii][y1]<=x&&a[ii][y2]>=x)//必然的下一行
{
int front=y1;
int end=y2;
while(front<=end)
{
j=(front+end)/2;
if(a[ii][j]>x)end=j-1;
else if(a[ii][j]<x)front=j+1;
else goto Re;
}
}
}
if(ii>x2)printf("-1 -1\n");
else
{
Re: while(j>0&&a[ii][j-1]==x)j--;//左边相同
printf("%d %d\n",ii,j);
}
}
else
{
scanf("%d %d",&x1,&x);
for(j=0;j<m;j++)
a[x1][j]+=x;
for(j=0;j<m;j++)
{
//printf("##\n");
ii=x1+1;
while(ii<n&&a[ii][j]<=a[x1][j])ii++;
if(ii==x1+1)continue;//不是都换
t=a[ii-1][j];
a[ii-1][j]=a[x1][j];
a[x1][j]=t;
}
}
}
}
return 0;
}