#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<bitset>
#include<cstdlib>
#include<cmath>
#include<set>
#include<list>
#include<deque>
#include<map>
#include<queue>
#define long long ll;
using namespace std;
int heng[2005][2005],zong[2005][2005];
char ch[2005][2005];
int main()
{
int n,m,k,i,j;
cin>>n>>m>>k;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin>>ch[i][j];
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(ch[i][j-1]!='*'&&ch[i][j]!='*')
{
heng[i][j]=heng[i][j-1]+1;
}
else if(ch[i][j]!='*')
{
heng[i][j]=1;
}
if(ch[i-1][j]!='*'&&ch[i][j]!='*')
{
zong[i][j]=zong[i-1][j]+1;
}
else if(ch[i][j]!='*')
{
zong[i][j]=1;
}
}
int res=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(heng[i][j]>=k)
res++;
if(zong[i][j]>=k)
res++;
}
cout<<res<<endl;
}
dp的思想,一看就懂,当时我是对每一个符合条件的点看其行与列,结果就是超时了