h, w, r, S = map(int, input().split()); T = 0 M = [input() for _ in range(h)] R = {} for i in range(h): for j in range(w): if '0'=ds and D[u:=(ss-ds)*N+nn] > (new:=dd+w): D[u] = new; heappush(pq, (new, u)) Z = min(D[::N]); print(['impossible', Z][Z