#include <iostream>
#include <string>
using namespace std;
int cntRoom(string [], int, int); //머물 수 있는 기간 반환
int maxRoom(string [], int, int); //머물 수 있는 날이 가장 긴 방의 인덱스를 반환
int main() {
int n, m, s, t;
string room[102];
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> room[i];
cin >> s >> t;
s; t;
int stayRoomI = maxRoom(room, s, m);
int cnt = 0;
for (; s < t; s++){
if (stayRoomI == (m + 1)) {
cnt = -1; break;
}
else if (cntRoom(room, s, stayRoomI) == -1){
stayRoomI = maxRoom(room, s, m); cnt++;
}
}
printf("%d", cnt);
}
int cntRoom(string room[], int s, int row) { //row 번 방에서 s 일 부터 머물 수 있는 기간
int cnt = 0;
if (room[s][row] == 'X') return -1;
else {
for (; room[s][row] == 'O'; s++) cnt++;
return cnt;
}
}
int maxRoom(string room[], int s, int m) { //m 개의 방 중에서 s일 부터 가장 오래 머물 수 있는 방
int index = 0;
int max = cntRoom(room, s, index);
for (int i = 1; i < m; i++)
if (cntRoom(room, s, i) > max) {
index = i;
max = cntRoom(room, s, index);
}
if (index == 0 && (cntRoom(room, s, index) == -1)) return (m + 1);
else return index;
}