#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
#define int long long
const int N =1e2+10,M = 6e4;
char a[N][N];
signed main()
{
int n,m;
cin >>n >>m;
for(int i = 1; i <= n; i++)cin >>a[i] + 1;
int res = 1e9;
int cnt = 0;
//cnt是第一行和最后一行必须修改的数量
for(int i = 1; i < m; i++){
if(a[1][i] != 'W') cnt++;
if(a[n][i] != 'R') cnt++;
}
int ans = 0;//w,b,r为白色,蓝色,红色行数
for(int w = 1; w <= n-2; w++)
{
for(int b = 1; b <=n-2 ; b++){
if(w + b > n-1) break;
ans = 0;
for(int i = 2; i <= w; i++){
for(int j = 1; j <= m; j++){
if(a[i][j] != 'W') ans++;
}
} //白色
//cout <<ans<<" ";
for(int i = w+1; i <= b + w; i++){
for(int j = 1; j <= m; j++){
if(a[i][j] != 'B') ans++;
}
}
//cout <<ans<<" ";
for(int i = w+b+1; i <= n-1; i++){
for(int j = 1; j <= m; j++){
if(a[i][j] != 'R') ans++;
}
}
//cout <<ans<<" ";
res = min(res,ans);
}
}
//cout <<cnt<<" ";
cout <<res+cnt;
return 0;
}