/*
*直接遍历画板,遇到Y就一直向右下方走,
*遇到 B就一直向左下面走,遇到G,
*就向两个方向走
*/
#include <bits/stdc++.h>
using namespace std;
char c[55][55];
int n, m;
void findY(int i, int j)
{
if( i>=0 && i<=n && j>=0 && j<m && (c[i][j] == 'Y' || c[i][j] == 'G') )
{
if (c[i][j] == 'Y')
c[i][j] = 'X';
else
c[i][j] = 'B';
findY(i+1, j+1);
}
return;
}
void findB(int i, int j)
{
if( i>=0 && i<=n && j>=0 && j<m && (c[i][j] == 'B' || c[i][j] == 'G') )
{
if (c[i][j] == 'B')
c[i][j] = 'X';
else
c[i][j] = 'Y';
findB(i+1, j-1);
}
return;
}
int main()
{
int cnt=0;
scanf ("%d %d", &n, &m);
for (int i=0; i<n; i++)
{
scanf ("%s", c[i]);
}
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
if (c[i][j] == 'Y')
{
findY(i, j);
cnt++;
}
else if (c[i][j] == 'B')
{
findB(i, j);
cnt++;
}
else if (c[i][j] == 'G')
{
findY(i, j);
cnt++;
findB(i, j);
cnt++;
}
}
}
printf ("%d", cnt);
return 0;
}