#include <bits/stdc++.h>

using namespace std;


char mp[520][520];
int n;
int cntb;
int hasb[520];
int ans = 1e9;

int main() {
	scanf("%d", &n);

	for (int i = 0; i < n; i++) {
		scanf("%s", mp[i]);
	}

	for (int i = 0; i < n; i++) 
		for (int j = 0; j < n; j++)
			if (mp[i][j] == '#') {
				cntb++;
			}
			else {
				hasb[j] = 1;
			}

	int tmpans = 0;
	for (int i = 0; i < n; i++)
		tmpans += hasb[i];
	if (cntb == 0) {
		ans = -1;
	}
	else if (cntb == n*n) {
		ans = 0;
	}
	else {
		for (int raw = 0; raw < n; raw++) {
			int cnt = 0;
			for (int i = 0; i < n; i++) {
				if (mp[raw][i] == '.')
					cnt++;
			}

			int all_black = 0;
			
			if (cnt == 0) {
				all_black = 1;
			}
			else {
				for (int i = 0; i < n; i++)
					if (mp[i][raw] == '#')
						all_black = 1;
			}

			if (all_black == 0 && cnt != n) {
				ans = min(ans, tmpans + cnt + 1);
			}

			if (all_black) {
				ans = min(ans, tmpans + cnt);
			}

		}

	}

	if (ans == 1000000000) ans = -1;

	printf("%d\n", ans);

	return 0;
}