#include <stdio.h>
#include <stdlib.h>
int compare(const void*a, const void*b){
return(*(int*)b - *(int*)a);
}
int main(void) {
int n, m, k; //行 列 可染数
scanf("%d%d%d", &n, &m, &k);
char** ch = (char**)malloc(n * sizeof(char*));
for (int i = 0; i < n; i++) {
ch[i] = (char*)malloc(m * sizeof(char));
}
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
scanf(" %c", &ch[i][j]);
int*a = (int*)malloc(n*m* sizeof(int*));
int size = 0;
for(int j = 0; j < m; j++){
for(int i = 0; i < n; i++){
int s = 0;
while(i < n && ch[i][j] == 'o'){
s++;
i++;
}
if(s-1>0)
a[size++] = s-1;
}
}
qsort(a, size, sizeof(int), compare);
int ans = 0;
for(int i = 0; i < size; i++){
if(k >= a[i] + 1){
ans += a[i];
k -= a[i] + 1;
}
else if(k > 0){
ans += k - 1;
break;
}
}
printf("%d\n", ans);
for(int i = 0; i < n; i++)
free(ch[i]);
free(a);
free(ch);
return 0;
}