#include <bits/stdc++.h>
using namespace std;
bool prime[1001];
void SieveOfEratosthenes() {
  memset(prime, true, sizeof(prime));
  for (long long p = 2; p * p <= 1000; p++) {
    if (prime[p] == true) {
      for (long long i = p * p; i <= 1000; i += p) prime[i] = false;
    }
  }
  for (long long i = 2; i <= 1000; i++)
    if (prime[i]) cout << i << " ";
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  {
    long long t = 1;
    while (t--) {
      long long n;
      cin >> n;
      long long a[n][n];
      for (long long i = 0; i < n; i++) {
        for (long long j = 0; j < n; j++) {
          char x;
          cin >> x;
          if (x == '#')
            a[i][j] = 1;
          else
            a[i][j] = 0;
        }
      }
      for (long long i = 0; i < n; i++) {
        for (long long j = 0; j < n; j++) {
          if (a[i][j] == 0 && j != n - 1 && i != n - 1 && i != 0 && j != 0) {
            if (a[i - 1][j] == 0 && a[i + 1][j] == 0 && a[i][j - 1] == 0 &&
                a[i][j + 1] == 0) {
              a[i][j]++;
              a[i - 1][j]++;
              a[i + 1][j]++;
              a[i][j + 1]++;
              a[i][j - 1]++;
            }
          }
        }
      }
      long long cnt = 0;
      for (long long i = 0; i < n; i++) {
        for (long long j = 0; j < n; j++) {
          if (a[i][j] == 0) cnt++;
        }
      }
      if (cnt > 0)
        cout << "NO";
      else
        cout << "YES";
      cout << '\n';
    }
  }
}
