#include <bits/stdc++.h>
using namespace std;
bool valid(int n, int x) {
  if (0 <= x and x < n) {
    return true;
  } else {
    return false;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  int n;
  cin >> n;
  vector<string> v(n);
  for (int(i) = (0); (i) < (n); (i)++) cin >> v[i];
  bool good = true;
  int di[] = {1, 0, -1, 0};
  int dj[] = {0, 1, 0, -1};
  for (int(i) = (0); (i) < (n); (i)++)
    for (int(j) = (0); (j) < (n); (j)++) {
      int cnt = 0;
      for (int(k) = (0); (k) < (4); (k)++) {
        int ii = i + di[k];
        int jj = j + dj[k];
        if (valid(n, ii) and valid(n, jj) and v[ii][jj] == 'o') {
          cnt++;
        }
      }
      if (cnt % 2) {
        good = false;
      }
    }
  if (good) {
    cout << "YES" << '\n';
  } else {
    cout << "NO" << '\n';
  }
  return 0;
}
