#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>
using namespace std;
const int N = 60;
int n, m;
char arr[N][N];
int get(char f[], char op)
{
map<char, int> mp;
for (int i = 0; i < m; i++) mp[f[i]]++;
return (m - mp[op]);
}
int main()
{
cin >> n >> m;
int res = 0, cnt = n*m;
for (int i = 1; i <= n; i++) cin >> arr[i];
res = get(arr[1], 'W') + get(arr[n], 'R');
for (int i = 2; i <= n - 1; i++)
{
int sum = 0;
int cnt_of_B = 0;
int cnt_of_W = 0;
int cnt_of_R = 0;
for (int j = 2; j < i; j++)
{
cnt_of_B += get(arr[j], 'B');
cnt_of_W += get(arr[j], 'W');
}
sum += min(cnt_of_W, cnt_of_B);
cnt_of_B = 0;
for (int j = i + 1; j <= n - 1; j++)
{
cnt_of_B += get(arr[j], 'B');
cnt_of_R += get(arr[j], 'R');
}
sum += min(cnt_of_B, cnt_of_R);
sum += get(arr[i], 'B');
cnt = min(cnt, sum);
}
cout << res + cnt << endl;
return 0;
}