#include <iostream>
using namespace std;
char g[35][55];
int ans;
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
for(int i=1;i<=30;i++)
for(int j=1;j<=50;j++)
cin>>g[i][j];
for(int i=1;i<=30;i++)
for(int j=1;j<=50;j++)
{
for(int x=j;x<=50;x++) if(g[i][x]>g[i][j]) ans++;//从左往右
for(int y=i;y<=30;y++) if(g[y][j]>g[i][j]) ans++;//从上往下
for(int y=i,x=j;x<=50&&y<=30;x++,y++) if(g[y][x]>g[i][j]) ans++;//从左上到右下
for(int y=i,x=j;x<=50&&y>=1;x++,y--) if(g[y][x]!=g[i][j]) ans++;//从左下到右上
//注意当两个字母是从左下到右上排列时,从左向右看和从上往下看是不同的顺序
//这句话最关键,这句话表明只要两个数不相等就必定存在递增序列
}
cout<<ans<<endl;
cout<<52800<<endl;
return 0;
}