#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
vector<vector<int> > d;
int n;
void doit(int a, int b, int i) {
  int a1 = a / 10, a2 = a % 10, a3 = b % 10, a4 = b / 10;
  d[i].push_back(a4 + a3 * 10 + a2 * 100 + a1 * 1000);
  d[i].push_back(a3 + a2 * 10 + a1 * 100 + a4 * 1000);
  d[i].push_back(a2 + a1 * 10 + a4 * 100 + a3 * 1000);
  d[i].push_back(a1 + a4 * 10 + a3 * 100 + a2 * 1000);
}
int main() {
  int a, b;
  string s;
  cin >> n;
  d.clear();
  d.resize(n);
  for (int i = (0); i < (n); ++i) {
    cin >> a >> b;
    doit(a, b, i);
    if (i != n - 1) cin >> s;
  }
  int ans = 0;
  for (int i = (0); i < (n); ++i) {
    int now = d[i][0];
    bool enabl = false;
    for (int j = (i + 1); j < (n); ++j) {
      for (int k = (0); k < (4); ++k)
        if (d[j][k] == now) enabl = true;
    }
    if (!enabl) ans++;
  }
  cout << ans << endl;
  return 0;
}
