#include "stdio.h"
#include "string.h"
#include "math.h"
#include "stdlib.h"
int main()
{
int times,a,m,n,i,j,k,p,q,x=0,y=0,words,length,cishu,flag=0;
char juzhen[60][60],letter[60];
scanf("%d",×);
for(a=1;a<=times;a++)
{ memset(juzhen,0,sizeof(juzhen));
scanf("%d%d\n",&m,&n);
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
scanf("%c",&juzhen[i][j]);
getchar();
}
scanf("%d\n",&words);
for(cishu=1;cishu<=words;cishu++)
{
gets(letter);
length=strlen(letter);
for(i=m;i>0;i--)
for(j=n;j>0;j--)
{
if(letter[0]-juzhen[i][j]==0||letter[0]-juzhen[i][j]=='a'-'A'||letter[0]-juzhen[i][j]=='A'-'a')
{ p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p--;q--;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
q--;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p++;q--;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p++;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p++;q++;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
q++;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p--;q++;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p--;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
}
}
printf("%d %d\n",x,y);
}
if(a<times)printf("\n");
}
system("pause");
return 0;
}
#include "string.h"
#include "math.h"
#include "stdlib.h"
int main()
{
int times,a,m,n,i,j,k,p,q,x=0,y=0,words,length,cishu,flag=0;
char juzhen[60][60],letter[60];
scanf("%d",×);
for(a=1;a<=times;a++)
{ memset(juzhen,0,sizeof(juzhen));
scanf("%d%d\n",&m,&n);
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
scanf("%c",&juzhen[i][j]);
getchar();
}
scanf("%d\n",&words);
for(cishu=1;cishu<=words;cishu++)
{
gets(letter);
length=strlen(letter);
for(i=m;i>0;i--)
for(j=n;j>0;j--)
{
if(letter[0]-juzhen[i][j]==0||letter[0]-juzhen[i][j]=='a'-'A'||letter[0]-juzhen[i][j]=='A'-'a')
{ p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p--;q--;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
q--;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p++;q--;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p++;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p++;q++;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
q++;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p--;q++;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
p=i;q=j;
for(k=0;k<length;k++)
{ flag=0;
if(p<1||q<1||p>m||q>n)break;
if(letter[k]!=juzhen[p][q]&&letter[k]!=juzhen[p][q]+'A'-'a'&&letter[k]!=juzhen[p][q]-'A'+'a')break;
p--;
if(k==length-1)flag=1;
}
if(flag==1){x=i;y=j;break;}
}
}
printf("%d %d\n",x,y);
}
if(a<times)printf("\n");
}
system("pause");
return 0;
}