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

#define mp(x, y) make_pair((x), (y))

typedef long long ll;

int n;
char a[555][555];
int white_col;
int black_row;
int black_row_ok;

int main()
{
	scanf("%d\n", &n);
	for(int i=0; i<n; i++) {
		scanf("%s\n", a[i]);
	}
	for(int j=0; j<n; j++) {
		int wh=0;
		for(int i=0; i<n; i++) {
			if(a[i][j]=='.') wh=1;
		}
		white_col+=wh;
	}
	for(int i=0; i<n; i++) {
		int bl=0;
		for(int j=0; j<n; j++) {
			if(a[i][j]=='#') bl++;
		}
		int ok=0;
		for(int ii=0; ii<n; ii++) {
			if(a[ii][i]=='#') ok=1;
		}
		if(bl>black_row) {
			black_row=bl;
			black_row_ok=ok;
		} else if(bl==black_row) {
			black_row_ok=max(black_row_ok, ok);
		}
	}
	if(black_row==0) {
		printf("-1\n");
	} else {
		printf("%d\n", (n-black_row)+(1-black_row_ok)+white_col);
	}

	return 0;
}