#include <bits/stdc++.h>
using namespace std;
long long n;
long long a[5100][5100]{},b[5100][5100]{},c[5100][5100]{};
long long s1=0;
void aaa(long long x,long long y){
b[x][y]=1;
long long dx=x,dy=y;
dx=x+1,dy=y;
if(dx>=1&&dx<=n&&dy>=1&&dy<=n&&b[dx][dy]==0){
aaa(dx,dy);
}
dx=x-1,dy=y;
if(dx>=1&&dx<=n&&dy>=1&&dy<=n&&b[dx][dy]==0){
aaa(dx,dy);
}
dx=x,dy=y+1;
if(dx>=1&&dx<=n&&dy>=1&&dy<=n&&b[dx][dy]==0){
aaa(dx,dy);
}
dx=x,dy=y-1;
if(dx>=1&&dx<=n&&dy>=1&&dy<=n&&b[dx][dy]==0){
aaa(dx,dy);
}
return;
}
bool bbb(long long x,long long y){
if(a[x][y]==0){
return 1;
}
long long dx=x,dy=y;
dx=x+1,dy=y;
if(dx>=1&&dx<=n&&dy>=1&&dy<=n&&c[dx][dy]==0&&b[dx][dy]==0){
c[dx][dy]=1;
return bbb(dx,dy);
}
dx=x-1,dy=y;
if(dx>=1&&dx<=n&&dy>=1&&dy<=n&&c[dx][dy]==0&&b[dx][dy]==0){
c[dx][dy]=1;
return bbb(dx,dy);
}
dx=x,dy=y+1;
if(dx>=1&&dx<=n&&dy>=1&&dy<=n&&c[dx][dy]==0&&b[dx][dy]==0){
c[dx][dy]=1;
return bbb(dx,dy);
}
dx=x,dy=y-1;
if(dx>=1&&dx<=n&&dy>=1&&dy<=n&&c[dx][dy]==0&&b[dx][dy]==0){
c[dx][dy]=1;
return bbb(dx,dy);
}
return 0;
}
long long s2=0;
int main(){
cin>>n;
for(long long i=1;i<=n;i++){
for(long long j=1;j<=n;j++){
char bbb;
cin>>bbb;
if(bbb=='.'){
b[i][j]=1;
a[i][j]=b[i][j];
}
}
}
for(long long i=1;i<=n;i++){
for(long long j=1;j<=n;j++){
if(b[i+1][j]==1||b[i-1][j]==1||b[i][j+1]==1||b[i][j-1]==1){
a[i][j]=1;
}
}
}
for(long long i=1;i<=n;i++){
for(long long j=1;j<=n;j++){
if(b[i][j]==0){
s1++;
if(bbb(i,j)){
s2++;
}
aaa(i,j);
}
}
}
cout<<s1-s2;
return 0;
}
```