#include <iostream>
using namespace std;
int r2, c2, r1, c1;
int n, m;
char p[105][105];
bool vis[105][105];
int dx[4] = {1,0,-1,0};
int dy[4] = {0,1,0,-1};
int T, num = 0;
void dfs(int x, int y, int time)
{
if(x<0||y<0||x>=n||y>=m) return;
\\if(vis[x][y]) return;
\\vis[x][y] = 1;
if(time > T) return;
if(x == r2&&y == c2) {num++;return;}
for(int i = 0; i < 4; i++){
int nx = x + dx[i];
int ny = y + dy[i];
if(p[nx][ny] == '.') dfs(nx, ny, time+1);
}
\\vis[x][y] = 0;
}
int main(){
cin >> n >> m >> T;
for(int i = 0; i<n; i++)
for(int j = 0; j<m; j++)//注意循环始末点
cin >> p[i][j];
cin >> r1 >> c1 >> r2 >> c2;
r2--;c2--;
dfs(r1-1,c1-1,0);
cout << num;
}