#include<bits/stdc++.h>
using namespace std;
int i,j,m,n,ans,dx[4]={0,1,0,-1},dy[4]={-1,0,1,0},s;
char k[500][501];
void dfs(int x,int y)
{
k[x][y]='X';
for(int p=0;p<4;p++){
int nx=x+dx[p],ny=y+dy[p];
if(nx>=0&&nx<m&&ny<n&&ny>=0&&k[nx][ny]=='J')
{
s++;
dfs(nx,ny);
}
}
return;
}
int main(void)
{
int max;
while(cin>>m>>n)
{
ans=0;
max=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
cin>>k[i][j];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(k[i][j]=='J')
{
s=1;
dfs(i,j);
if(s>max)max=s;
ans++;
}
}
}
cout<<ans<<" "<<max<<"\n";
}
return 0;
}