#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n,m,x,y;
cin>>n>>m>>x>>y;
char val;
vector<vector<int> > dp(m,vector<int>(2,INT_MAX)),count(m,vector<int>(2,0));
vector<vector<int> > MAT(n,vector<int>(m,0));
for(int i=0;i<n;i++){
for(int j = 0;j<m;j++){
cin>>val;
if(val=='.') MAT[i][j] = 1;
}
}
for(int j = 0;j<m;j++){
int mn = 0;
for(int i = 0;i<n;i++) mn+=MAT[i][j];
count[j][1] = mn;
count[j][0] = n - count[j][1];
if(j!=0){
count[j][0] += count[j-1][0];
count[j][1] += count[j-1][1];
dp[j][0] = count[j][0];
dp[j][1] = count[j][1];
}
}
dp[x-1][0] = count[x-1][0];
dp[x-1][1] = count[x-1][1];
for(int i = x;i<m;i++){
for(int j = i-1;j>=1;j--){
if(j+1>=x && i-j+1<=y){
dp[i][0] = min(dp[i][0],dp[j][1] + count[i][0] - count[j-1][0]);
dp[i][1] = min(dp[i][1],dp[j][0] + count[i][1] - count[j-1][1]);
}
}
}
cout<<min(dp[m-1][0],dp[m-1][1])<<'\n';
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7CgkKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZSgwKTsgY291dC50aWUoMCk7CgkKCWludCBuLG0seCx5OwoJY2luPj5uPj5tPj54Pj55OwoJY2hhciB2YWw7CgkKCXZlY3Rvcjx2ZWN0b3I8aW50PiA+IGRwKG0sdmVjdG9yPGludD4oMixJTlRfTUFYKSksY291bnQobSx2ZWN0b3I8aW50PigyLDApKTsKCXZlY3Rvcjx2ZWN0b3I8aW50PiA+IE1BVChuLHZlY3RvcjxpbnQ+KG0sMCkpOwoJCglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQkKCQlmb3IoaW50IGogPSAwO2o8bTtqKyspewoJCQljaW4+PnZhbDsKCQkJaWYodmFsPT0nLicpIE1BVFtpXVtqXSA9IDE7CgkJfQoJCQoJfQoJCgoJZm9yKGludCBqID0gMDtqPG07aisrKXsKCQkKCQlpbnQgbW4gPSAwOwoJCWZvcihpbnQgaSA9IDA7aTxuO2krKykgbW4rPU1BVFtpXVtqXTsKCQkKCQljb3VudFtqXVsxXSA9IG1uOwoJCWNvdW50W2pdWzBdID0gbiAtIGNvdW50W2pdWzFdOwkKCQlpZihqIT0wKXsgCgkJCWNvdW50W2pdWzBdICs9IGNvdW50W2otMV1bMF07CgkJCWNvdW50W2pdWzFdICs9IGNvdW50W2otMV1bMV07CgkJCWRwW2pdWzBdID0gY291bnRbal1bMF07CgkJCWRwW2pdWzFdID0gY291bnRbal1bMV07CgkJfQoJCgl9CgkKCWRwW3gtMV1bMF0gPSBjb3VudFt4LTFdWzBdOwoJZHBbeC0xXVsxXSA9IGNvdW50W3gtMV1bMV07CgkKCQoJZm9yKGludCBpICA9IHg7aTxtO2krKyl7CgkJCgkJZm9yKGludCBqID0gaS0xO2o+PTE7ai0tKXsKCQkJCQoJCQkJaWYoaisxPj14ICYmIGktaisxPD15KXsKCQkJCQkKCQkJCWRwW2ldWzBdID0gbWluKGRwW2ldWzBdLGRwW2pdWzFdICsgY291bnRbaV1bMF0gLSBjb3VudFtqLTFdWzBdKTsgCgkJCQlkcFtpXVsxXSA9IG1pbihkcFtpXVsxXSxkcFtqXVswXSArIGNvdW50W2ldWzFdIC0gY291bnRbai0xXVsxXSk7CgkJCQkKCQkJCX0KCQl9CgkJCgl9CgkKCWNvdXQ8PG1pbihkcFttLTFdWzBdLGRwW20tMV1bMV0pPDwnXG4nOwoJCglyZXR1cm4gMDsKfQ==