#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define mem(x,n) memset(x,n,sizeof(x))
#define sz(x) (int)(x).size()
#define all(x) (x).begin(),(x).end()
#define foreach(it,l) for(auto it=(l).begin();it!=(l).end();it++)
#define pnl printf("\n")
#define len(x) (x).length()

typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
typedef pair<LL,LL> PLL;
const double EPS=1e-10;
//const double PI=acos(-1.0);
const int INF=1<<30;
const LL LLINF=1ll<<60;
const int MOD=1e9+7;
const int xx[8]={1,0,-1,0,1,-1,1,-1};
const int yy[8]={0,1,0,-1,-1,1,1,-1};

/****************************************************************************************\
  __    __               __ /\/|   ___ _           _       /\/|__               __    __
  \ \  / /  _____ __ ____\ \/\/   / __| |__ _ _ __(_)___  |/\// /____ __ _____  \ \  / /
   \ \| |  |___\ V  V /___| |    | (__| / _` | '_ \ / -_)    | |___\ V  V /___|  | |/ /
    \_\ |  |___|\_/\_/|___| |     \___|_\__,_| .__/_\___|    | |___|\_/\_/|___|  | /_/
       \_\               /_/                 |_|              \_\               /_/
\****************************************************************************************/

char input[105][105];
int cnt[105][105];

int main(){
	int r,c;
	scanf("%d%d",&r,&c);
	getchar();
	for(int i=0;i<r;i++){
		scanf("%s",input[i]);
	}
	
	for(int i=0;i<r;i++){
		int mini=INF,maxi=-1;
		for(int j=0;j<c;j++){
			if(input[i][j]=='X'){
				mini=min(mini,j);
				maxi=max(maxi,j);
			}
		}
		
		if(mini==INF&&maxi==-1) continue;
		for(int j=mini;j<=maxi;j++){
			cnt[i][j]=1;
		}
	}
	
	for(int i=0;i<r;i++){
		for(int j=0;j<c;j++){
			if(cnt[i][j]==1){
				for(int ii=0;ii<4;ii++){
					int tempx = xx[ii]+i;
					int tempy = yy[ii]+j;
					
					if(tempx<0||tempx>=r||tempy<0||tempy>=c){
						printf("-1\n");
						return 0;
					}
					if(cnt[tempx][tempy]==1) continue;
					
					cnt[tempx][tempy]=2;
				}
			}
		}
	}
	
	int ans=0;
	for(int i=0;i<r;i++){
		for(int j=0;j<c;j++){
			if(cnt[i][j]==2) ans++;
		}
	}
	
	printf("%d\n",ans);
		
	return 0;
}
