#include <bits/stdc++.h>
using namespace std;
bool flag[1010];
int f[1010][5];
int n, ans;
char a, b, c, d, ch1, ch2;
int id(char s) { return s - '0'; }
bool check(int a, int b, int c, int d, int e, int f, int g, int h) {
  if (a == e && b == f && c == g && d == h) return 1;
  if (a == f && b == h && c == e && d == g) return 1;
  if (a == h && b == g && c == f && d == e) return 1;
  if (a == g && b == e && c == h && d == f) return 1;
  return 0;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i < n; ++i) {
    scanf(" %c %c %c %c %c %c", &a, &b, &c, &d, &ch1, &ch2);
    f[i][1] = id(a);
    f[i][2] = id(b);
    f[i][3] = id(c);
    f[i][4] = id(d);
  }
  scanf(" %c %c %c %c", &a, &b, &c, &d);
  f[n][1] = id(a);
  f[n][2] = id(b);
  f[n][3] = id(c);
  f[n][4] = id(d);
  for (int i = 1; i < n; ++i) {
    for (int j = i + 1; j <= n; ++j) {
      if (check(f[i][1], f[i][2], f[i][3], f[i][4], f[j][1], f[j][2], f[j][3],
                f[j][4]))
        flag[j] = true;
    }
  }
  for (int i = 1; i <= n; ++i) {
    if (!flag[i]) ans++;
  }
  printf("%d", ans);
  return 0;
}
