//Lib
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<queue>
#include<set>
//#include<map>
using namespace std;
//Macro
#define rep(i,a,b) for(int i=a,tt=b;i<=tt;++i)
#define drep(i,a,b) for(int i=a,tt=b;i>=tt;--i)
#define erep(i,e,x) for(int i=x;i;i=e[i].next)
#define irep(i,x) for(__typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define read() (strtol(ipos,&ipos,10))
#define sqr(x) ((x)*(x))
#define pb push_back
#define PS system("pause");
typedef long long ll;
typedef pair<int,int> pii;
const int oo=~0U>>1;
const double inf=1e100;
const double eps=1e-6;
string name="", in=".in", out=".out";
//Var
struct E
{
int next,node,cap;
}e[400008];
queue<int> q;
int h[1008],map[28][28],node[28][28],dis[1008];
bool s[28][28];
int n,m,d,tot=1,cnt,ans,st,ed;
inline bool CanOut(int x,int y){return x+d>n||x-d<1||y+d>m||y-d<1;}
inline bool Dis(int x1,int y1,int x2,int y2){return abs(x1-x2)+abs(y1-y2)<=d;}
void add(int a,int b,int c)
{
e[++tot].next=h[a];e[tot].node=b;e[tot].cap=c;h[a]=tot;
e[++tot].next=h[b];e[tot].node=a;e[tot].cap=0;h[b]=tot;
}
void Init()
{
cin>>n>>m>>d;
char ch;
int size=n*m;st=size*2+1;ed=size*2+2;
rep(i,1,n)rep(j,1,m)node[i][j]=++cnt;
rep(i,1,n)rep(j,1,m)
{
cin>>ch;
map[i][j]=ch-'0';
if(ch-'0')add(node[i][j],size+node[i][j],map[i][j]);
}
rep(i,1,n)rep(j,1,m)
{
cin>>ch;
if(ch=='L')
{
add(st,node[i][j],1);
ans++;
}
}
rep(i,1,n)rep(j,1,m)if(map[i][j]&&CanOut(i,j))add(size+node[i][j],ed,oo);
rep(i,1,n)rep(j,1,m)
{
rep(k,1,n)rep(l,1,m)
{
if((i!=k||j!=l)&&map[i][j]&&map[k][l]&&Dis(i,j,k,l))
add(size+node[k][l],node[i][j],oo);
}
}
}
bool BFS()
{
q.push(ed);
memset(dis,-1,sizeof dis);
dis[ed]=0;int u,v;bool flag=0;
while(!q.empty())
{
u=q.front();q.pop();
erep(i,e,h[u])
{
if(dis[v=e[i].node]==-1&&e[i^1].cap)
{
dis[v]=dis[u]+1;
q.push(v);
if(v==st)flag=true;
}
}
}
return flag;
}
int DFS(int u,int low)
{
if(u==ed)return low;
int ret=low,v,tmp;
erep(i,e,h[u])
{
if(dis[v=e[i].node]==dis[u]-1&&e[i].cap)
{
tmp=DFS(v,min(low,e[i].cap));
e[i].cap-=tmp;
e[i^1].cap+=tmp;
low-=tmp;
if(low==0)break;
}
}
if(ret==low)dis[u]=-1;
return ret-low;
}
void Work()
{
int flow;
while(BFS())
while(flow=DFS(st,oo))
ans-=flow;
cout<<ans<<endl;
}
int main()
{
// freopen((name+in).c_str(),"r",stdin);
// freopen((name+out).c_str(),"w",stdout);
Init();
Work();
return 0;
}
Ly9MaWIKI2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxjc3RyaW5nPgojaW5jbHVkZTxjc3RkbGliPgojaW5jbHVkZTxjbWF0aD4KI2luY2x1ZGU8Y3RpbWU+CiAKI2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxzdHJpbmc+CiNpbmNsdWRlPHF1ZXVlPgojaW5jbHVkZTxzZXQ+Ci8vI2luY2x1ZGU8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwovL01hY3JvCiNkZWZpbmUgcmVwKGksYSxiKSAgZm9yKGludCBpPWEsdHQ9YjtpPD10dDsrK2kpCiNkZWZpbmUgZHJlcChpLGEsYikgZm9yKGludCBpPWEsdHQ9YjtpPj10dDstLWkpCiNkZWZpbmUgZXJlcChpLGUseCkgZm9yKGludCBpPXg7aTtpPWVbaV0ubmV4dCkKI2RlZmluZSBpcmVwKGkseCkgICBmb3IoX190eXBlb2YoeC5iZWdpbigpKSBpPXguYmVnaW4oKTtpIT14LmVuZCgpO2krKykKI2RlZmluZSByZWFkKCkgIChzdHJ0b2woaXBvcywmaXBvcywxMCkpCiNkZWZpbmUgc3FyKHgpICAoKHgpKih4KSkKI2RlZmluZSBwYiAgcHVzaF9iYWNrCiNkZWZpbmUgUFMgIHN5c3RlbSgicGF1c2UiKTsKdHlwZWRlZiBsb25nIGxvbmcgICBsbDsKdHlwZWRlZiBwYWlyPGludCxpbnQ+IHBpaTsKY29uc3QgaW50IG9vPX4wVT4+MTsKY29uc3QgZG91YmxlIGluZj0xZTEwMDsKY29uc3QgZG91YmxlIGVwcz0xZS02OwpzdHJpbmcgbmFtZT0iIiwgaW49Ii5pbiIsIG91dD0iLm91dCI7Ci8vVmFyCnN0cnVjdCBFCnsKICAgIGludCBuZXh0LG5vZGUsY2FwOwp9ZVs0MDAwMDhdOwpxdWV1ZTxpbnQ+IHE7CmludCBoWzEwMDhdLG1hcFsyOF1bMjhdLG5vZGVbMjhdWzI4XSxkaXNbMTAwOF07CmJvb2wgc1syOF1bMjhdOwppbnQgbixtLGQsdG90PTEsY250LGFucyxzdCxlZDsKaW5saW5lIGJvb2wgQ2FuT3V0KGludCB4LGludCB5KXtyZXR1cm4geCtkPm58fHgtZDwxfHx5K2Q+bXx8eS1kPDE7fQppbmxpbmUgYm9vbCBEaXMoaW50IHgxLGludCB5MSxpbnQgeDIsaW50IHkyKXtyZXR1cm4gYWJzKHgxLXgyKSthYnMoeTEteTIpPD1kO30Kdm9pZCBhZGQoaW50IGEsaW50IGIsaW50IGMpCnsKICAgIGVbKyt0b3RdLm5leHQ9aFthXTtlW3RvdF0ubm9kZT1iO2VbdG90XS5jYXA9YztoW2FdPXRvdDsKICAgIGVbKyt0b3RdLm5leHQ9aFtiXTtlW3RvdF0ubm9kZT1hO2VbdG90XS5jYXA9MDtoW2JdPXRvdDsKfQp2b2lkIEluaXQoKQp7CiAgICBjaW4+Pm4+Pm0+PmQ7CiAgICBjaGFyIGNoOwogICAgaW50IHNpemU9biptO3N0PXNpemUqMisxO2VkPXNpemUqMisyOwogICAgcmVwKGksMSxuKXJlcChqLDEsbSlub2RlW2ldW2pdPSsrY250OwogICAgcmVwKGksMSxuKXJlcChqLDEsbSkKICAgIHsKICAgICAgICBjaW4+PmNoOwogICAgICAgIG1hcFtpXVtqXT1jaC0nMCc7CiAgICAgICAgaWYoY2gtJzAnKWFkZChub2RlW2ldW2pdLHNpemUrbm9kZVtpXVtqXSxtYXBbaV1bal0pOwogICAgfQogICAgcmVwKGksMSxuKXJlcChqLDEsbSkKICAgIHsKICAgICAgICBjaW4+PmNoOwogICAgICAgIGlmKGNoPT0nTCcpCiAgICAgICAgewogICAgICAgICAgICBhZGQoc3Qsbm9kZVtpXVtqXSwxKTsKICAgICAgICAgICAgYW5zKys7CiAgICAgICAgfQogICAgfQogICAgcmVwKGksMSxuKXJlcChqLDEsbSlpZihtYXBbaV1bal0mJkNhbk91dChpLGopKWFkZChzaXplK25vZGVbaV1bal0sZWQsb28pOwogICAgcmVwKGksMSxuKXJlcChqLDEsbSkKICAgIHsKICAgICAgICByZXAoaywxLG4pcmVwKGwsMSxtKQogICAgICAgIHsKICAgICAgICAgICAgaWYoKGkhPWt8fGohPWwpJiZtYXBbaV1bal0mJm1hcFtrXVtsXSYmRGlzKGksaixrLGwpKQogICAgICAgICAgICAgICAgYWRkKHNpemUrbm9kZVtrXVtsXSxub2RlW2ldW2pdLG9vKTsKICAgICAgICB9CiAgICB9Cn0KYm9vbCBCRlMoKQp7CiAgICBxLnB1c2goZWQpOwogICAgbWVtc2V0KGRpcywtMSxzaXplb2YgZGlzKTsKICAgIGRpc1tlZF09MDtpbnQgdSx2O2Jvb2wgZmxhZz0wOwogICAgd2hpbGUoIXEuZW1wdHkoKSkKICAgIHsKICAgICAgICB1PXEuZnJvbnQoKTtxLnBvcCgpOwogICAgICAgIGVyZXAoaSxlLGhbdV0pCiAgICAgICAgewogICAgICAgICAgICBpZihkaXNbdj1lW2ldLm5vZGVdPT0tMSYmZVtpXjFdLmNhcCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZGlzW3ZdPWRpc1t1XSsxOwogICAgICAgICAgICAgICAgcS5wdXNoKHYpOwogICAgICAgICAgICAgICAgaWYodj09c3QpZmxhZz10cnVlOwogICAgICAgICAgICB9ICAgCiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGZsYWc7Cn0KaW50IERGUyhpbnQgdSxpbnQgbG93KQp7CiAgICBpZih1PT1lZClyZXR1cm4gbG93OwogICAgaW50IHJldD1sb3csdix0bXA7CiAgICBlcmVwKGksZSxoW3VdKQogICAgewogICAgICAgIGlmKGRpc1t2PWVbaV0ubm9kZV09PWRpc1t1XS0xJiZlW2ldLmNhcCkKICAgICAgICB7CiAgICAgICAgICAgIHRtcD1ERlModixtaW4obG93LGVbaV0uY2FwKSk7CiAgICAgICAgICAgIGVbaV0uY2FwLT10bXA7CiAgICAgICAgICAgIGVbaV4xXS5jYXArPXRtcDsKICAgICAgICAgICAgbG93LT10bXA7CiAgICAgICAgICAgIGlmKGxvdz09MClicmVhazsKICAgICAgICB9CiAgICB9CiAgICBpZihyZXQ9PWxvdylkaXNbdV09LTE7CiAgICByZXR1cm4gcmV0LWxvdzsKfQp2b2lkIFdvcmsoKQp7CiAgICBpbnQgZmxvdzsKICAgIHdoaWxlKEJGUygpKQogICAgICAgIHdoaWxlKGZsb3c9REZTKHN0LG9vKSkKICAgICAgICAgICAgYW5zLT1mbG93OwogICAgY291dDw8YW5zPDxlbmRsOwp9CmludCBtYWluKCkKewovLyAgZnJlb3BlbigobmFtZStpbikuY19zdHIoKSwiciIsc3RkaW4pOwovLyAgZnJlb3BlbigobmFtZStvdXQpLmNfc3RyKCksInciLHN0ZG91dCk7CiAgICBJbml0KCk7CiAgICBXb3JrKCk7CiAgICByZXR1cm4gMDsKfQrvu78=