#include<iostream>
using namespace std;
int cnt;//计算方案总数
int R, C, K;
char show[200][200];
void dfs1(int u)//枚举每一行
{
if (u > R)
{
return;
}
for (int i = 1; i <= C; i++)
{
int tmp = K;
if (show[u][i] != '.')continue;
for (int j = i; j <= i + tmp;j++)
{
if (show[u][j] == '.') tmp--;
else break;
}
if (tmp <= 0) cnt++;
}
dfs1(u + 1);
}
void dfs2(int u)//枚举每列
{
if (u > C)
{
return;
}
for (int i = 1; i <= R; i++)
{
int tmp = K;
if (show[i][u] != '.')continue;
for (int j = i; j <= i + tmp; j++)
{
if (show[j][u] == '.') tmp--;
else break;
}
if (tmp <= 0) cnt++;
}
dfs2(u + 1);
}
int main()
{
cin >> R >> C >> K;
for (int i = 1;i <= R; i++)
{
for (int j = 1; j <= C; j++)
{
cin >> show[i][j];
}
}
dfs1(1);
dfs2(1);
if (K == 1)cnt /= 2;
cout << cnt;
return 0;
}