#include <stdio.h>
int n,m,s,t;
char ar[101][31];
int f(int a){
int max=0;
for(int i=0;i<m;i++){
int cnt=0;
for(int j=a;j<t-1;j++){
if(ar[j][i]=='O') cnt++;
else break;
}
if(max<cnt) max=cnt;
}
return max;
}
int main(){
scanf("%d %d\n",&n,&m);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%c",&ar[i][j]);
}
scanf("\n");
}
scanf("%d %d\n",&s,&t);
int cnt=-1;
for(int i=s-1;i<t-1;){
cnt++;
if(f(i)==0){
cnt=-1;
break;
}
i+=f(i);
}
printf("%d", cnt);
}
I2luY2x1ZGUgPHN0ZGlvLmg+IAppbnQgbixtLHMsdDsKY2hhciBhclsxMDFdWzMxXTsKaW50IGYoaW50IGEpewoJaW50IG1heD0wOwoJZm9yKGludCBpPTA7aTxtO2krKyl7CgkJaW50IGNudD0wOwoJCWZvcihpbnQgaj1hO2o8dC0xO2orKyl7CgkJCWlmKGFyW2pdW2ldPT0nTycpIGNudCsrOyAKCQkJZWxzZSBicmVhazsKCQl9CgkJaWYobWF4PGNudCkgbWF4PWNudDsKCX0KCXJldHVybiBtYXg7Cn0KaW50IG1haW4oKXsKCQoJc2NhbmYoIiVkICVkXG4iLCZuLCZtKTsKCQoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJZm9yKGludCBqPTA7ajxtO2orKyl7CgkJCXNjYW5mKCIlYyIsJmFyW2ldW2pdKTsKCQl9CgkJc2NhbmYoIlxuIik7Cgl9CglzY2FuZigiJWQgJWRcbiIsJnMsJnQpOwoJCglpbnQgY250PS0xOwoJZm9yKGludCBpPXMtMTtpPHQtMTspewoJCWNudCsrOwoJCWlmKGYoaSk9PTApewoJCQljbnQ9LTE7CgkJCWJyZWFrOwoJCX0KCQlpKz1mKGkpOwoJfQoJCglwcmludGYoIiVkIiwgY250KTsKfQ==