#include<bits/stdc++.h>
using namespace std;
int n,m,k,x,y,a[210][210],f[2][210][210],q[210],v[210],ans,h,r;
bool pan;
int X[6]={0,-1,1,0,0},Y[6]={0,0,0,-1,1};
void dp(int x,int y,int n,int now,int d){
h=1,r=0;
for(int i=1;i<=n;i++){
if(a[x][y]==0)
r=h+1;
else
{
int temp=f[!pan][x][y]+n-i;
while(h>=r&&temp>v[r]) r--;
q[r++]=i;
v[r]=temp;
while(i-q[h]>now) h++;
f[pan][x][y]=v[h]+i-n;
}
x+=X[d];
y+=Y[d];
}
}
int main()
{
memset(f,0x80,sizeof f);
cin>>n>>m>>x>>y>>k;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
int tmp;
scanf("%c",&tmp);
if(tmp=='x')
a[n][m]=1;
}
}
f[pan][x][y]=0;
for(int i=1;i<=k;i++) {
int h,r,d;
cin>>h>>r>>d;
pan^=1;
if(d==1)
for(int j=1;j<=m;j++)
dp(n,j,n,r-h+1,d);
else if(d==2)
for(int j=1;j<=m;j++)
dp(1,j,n,r-h+1,d);
else if(d==3)
for(int j=1;j<=n;j++)
dp(j,m,m,r-h+1,d);
else
for(int j=1;j<=n;j++)
dp(j,1,m,r-h+1,d);
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
ans=max(ans,f[pan][i][j]);
cout<<ans;
return 0;
}
k的那个循环里tnnd输入不进东西,是我孤陋寡闻了还是咋了?