#include <bits/stdc++.h>
using namespace std;
bool mark[10][10][10][10];
int n, ans;
int main() {
  memset(mark, false, sizeof(mark));
  scanf("%d", &n);
  while (n--) {
    string x, y, z;
    if (n == 0) {
      cin >> x;
      cin >> y;
    } else {
      cin >> x;
      cin >> y;
      cin >> z;
    }
    if (!mark[x[0] - '0'][x[1] - '0'][y[0] - '0'][y[1] - '0']) {
      ans++;
      mark[x[0] - '0'][x[1] - '0'][y[0] - '0'][y[1] - '0'] = true;
      mark[x[1] - '0'][y[1] - '0'][x[0] - '0'][y[0] - '0'] = true;
      mark[y[1] - '0'][y[0] - '0'][x[1] - '0'][x[0] - '0'] = true;
      mark[y[0] - '0'][x[0] - '0'][y[1] - '0'][x[1] - '0'] = true;
    }
  }
  printf("%d", ans);
  return 0;
}
