stk=input().split()
n=int(stk[0]);m=int(stk[1]);k=int(stk[2]);v=float(stk[3])
bmap=[]
for i in range(m): bmap.append(input())
x0,y0 = [int(x) for x in input().split()]
x0-=1
y0-=1
bombs=[]
for i in range(k):
stsss = input().split()
bombs.append((int(stsss[0])-1, int(stsss[1])-1))
vmin=10**10
import math,copy
d9dx = math.sqrt(2)
def dj(x,y,marks,d,kx,ky):
marks[y][x]=True
if kx==x and ky==y:
global vmin
vmin=min(vmin, d)
for dx,dy in [(1,0),(0,1),(-1,0),(0,-1)]:
if x+dx>=0 and y+dy>=0 and x+dx<n and y+dy<m and not marks[y+dy][x+dx] and bmap[y+dy][x+dx]==".":
dj(x+dx, y+dy, copy.deepcopy(marks), d+1, kx,ky)
global d9dx
for dx,dy in [(1,1),(-1,1),(1,-1),(-1,-1)]:
if x+dx>=0 and y+dy>=0 and x+dx<n and y+dy<m and not marks[y+dy][x+dx] and bmap[y+dy][x+dx]==".":
dj(x+dx, y+dy, copy.deepcopy(marks), d+d9dx, kx,ky)
sm=0
for i in range(k):
dj(x0,y0,[[False for j in range(n)] for x in range(m)],0,bombs[i][0], bombs[i][1])
if vmin!=0:
x0,y0 = bombs[i]
sm+=vmin
vmin=10**10
sm/=v
print("%.2f" % sm)
c3RrPWlucHV0KCkuc3BsaXQoKQpuPWludChzdGtbMF0pO209aW50KHN0a1sxXSk7az1pbnQoc3RrWzJdKTt2PWZsb2F0KHN0a1szXSkKYm1hcD1bXQpmb3IgaSBpbiByYW5nZShtKToJYm1hcC5hcHBlbmQoaW5wdXQoKSkKeDAseTAgPSBbaW50KHgpIGZvciB4IGluIGlucHV0KCkuc3BsaXQoKV0KeDAtPTEKeTAtPTEKYm9tYnM9W10KZm9yIGkgaW4gcmFuZ2Uoayk6CglzdHNzcyA9IGlucHV0KCkuc3BsaXQoKQoJYm9tYnMuYXBwZW5kKChpbnQoc3Rzc3NbMF0pLTEsIGludChzdHNzc1sxXSktMSkpCnZtaW49MTAqKjEwCmltcG9ydCBtYXRoLGNvcHkKZDlkeCA9IG1hdGguc3FydCgyKQoKZGVmIGRqKHgseSxtYXJrcyxkLGt4LGt5KToKCW1hcmtzW3ldW3hdPVRydWUKCWlmIGt4PT14IGFuZCBreT09eToKCQlnbG9iYWwgdm1pbgoJCXZtaW49bWluKHZtaW4sIGQpCglmb3IgZHgsZHkgaW4gWygxLDApLCgwLDEpLCgtMSwwKSwoMCwtMSldOgoJCWlmIHgrZHg+PTAgYW5kIHkrZHk+PTAgYW5kIHgrZHg8biBhbmQgeStkeTxtIGFuZCBub3QgbWFya3NbeStkeV1beCtkeF0gYW5kIGJtYXBbeStkeV1beCtkeF09PSIuIjoKCQkJZGooeCtkeCwgeStkeSwgY29weS5kZWVwY29weShtYXJrcyksIGQrMSwga3gsa3kpCglnbG9iYWwgZDlkeAoJZm9yIGR4LGR5IGluIFsoMSwxKSwoLTEsMSksKDEsLTEpLCgtMSwtMSldOgoJCWlmIHgrZHg+PTAgYW5kIHkrZHk+PTAgYW5kIHgrZHg8biBhbmQgeStkeTxtIGFuZCBub3QgbWFya3NbeStkeV1beCtkeF0gYW5kIGJtYXBbeStkeV1beCtkeF09PSIuIjoKCQkJZGooeCtkeCwgeStkeSwgY29weS5kZWVwY29weShtYXJrcyksIGQrZDlkeCwga3gsa3kpCgkKc209MAkJCmZvciBpIGluIHJhbmdlKGspOgoJZGooeDAseTAsW1tGYWxzZSBmb3IgaiBpbiByYW5nZShuKV0gZm9yIHggaW4gcmFuZ2UobSldLDAsYm9tYnNbaV1bMF0sIGJvbWJzW2ldWzFdKQoJaWYgdm1pbiE9MDoKCQl4MCx5MCA9IGJvbWJzW2ldCgkJc20rPXZtaW4KCXZtaW49MTAqKjEwCnNtLz12CnByaW50KCIlLjJmIiAlIHNtKQ==