#include <cstdio>
#include <algorithm>
#include <iostream>
const int M=52;
using namespace std;
char comp[M][M];
int n,m;
void fillin(int w,int r,int b) {
int i;
for(i=0; i<w; i++)
fill(comp[i],comp[i]+m,'W');
for(i=w; i<n-r; i++)
fill(comp[i],comp[i]+m,'B');
for(i=n-r; i<n; i++)
fill(comp[i],comp[i]+m,'R');
}
int compare(char source[][M],const char tar[][M]) {
int cnt=0; //cnt为次数
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
if(source[i][j]!=tar[i][j])
cnt++;
}
}
return cnt;
}
int main() {
int i,j,res=2500;
char flag[M][M];
int w,b,r;
//分别代表三种颜色的行数
scanf("%d%d",&n,&m);
getchar();
for(i=0; i<n; i++) {
for(j=0; j<m; j++)
cin>>flag[i][j];
// flag[i][j]=getchar();
// scanf("%c",&flag[i][j]);
// getchar();
}
for(w=1; w<=n-2; w++) {
for(b=1; b<=n-w-1; b++) {
r=n-w-b;
if(r>=1) {
fillin(w,r,b);
res=min(res,compare(flag,comp));
}
}
}
printf("%d",res);
return 0;
}