#include <bits/stdc++.h>
using namespace std;
inline void _() { ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0); }
void __() {}
inline void ___(char *i, char *j) {
  freopen(i, "r", stdin);
  freopen(j, "w", stdout);
}
template <class T1>
bool tk(T1 &e1) {
  if (cin >> e1) return true;
  return false;
}
template <class T1, class T2>
bool tk(T1 &e1, T2 &e2) {
  if (cin >> e1 >> e2) return true;
  return false;
}
template <class T1, class T2, class T3>
bool tk(T1 &e1, T2 &e2, T3 &e3) {
  if (cin >> e1 >> e2 >> e3) return true;
  return false;
}
template <class T1, class T2, class T3, class T4>
bool tk(T1 &e1, T2 &e2, T3 &e3, T4 &e4) {
  if (cin >> e1 >> e2 >> e3 >> e4) return true;
  return false;
}
template <class T1, class T2, class T3, class T4, class T5>
bool tk(T1 &e1, T2 &e2, T3 &e3, T4 &e4, T5 &e5) {
  if (cin >> e1 >> e2 >> e3 >> e4 >> e5) return true;
  return false;
}
template <class T1, class T2, class T3, class T4, class T5, class T6>
bool tk(T1 &e1, T2 &e2, T3 &e3, T4 &e4, T5 &e5, T6 &e6) {
  if (cin >> e1 >> e2 >> e3 >> e4 >> e5 >> e6) return true;
  return false;
}
template <class T1>
void put(T1 e) {
  cout << e << endl;
}
template <class T1, class T2>
void put(T1 e1, T2 e2) {
  cout << e1 << " " << e2 << endl;
}
template <class T1, class T2, class T3>
void put(T1 e1, T2 e2, T3 e3) {
  cout << e1 << " " << e2 << " " << e3 << endl;
}
template <class T1, class T2, class T3, class T4>
void put(T1 e1, T2 e2, T3 e3, T4 e4) {
  cout << e1 << " " << e2 << " " << e3 << " " << e4 << endl;
}
template <class T1, class T2, class T3, class T4, class T5>
void put(T1 e1, T2 e2, T3 e3, T4 e4, T5 e5) {
  cout << e1 << " " << e2 << " " << e3 << " " << e4 << " " << e5 << endl;
}
template <class T1, class T2, class T3, class T4, class T5, class T6>
void put(T1 e1, T2 e2, T3 e3, T4 e4, T5 e5, T6 e6) {
  cout << e1 << " " << e2 << " " << e3 << " " << e4 << " " << e5 << " " << e6
       << endl;
}
template <class T1>
void putVec(vector<T1> e1) {
  for (int i = 0; i < (e1).size(); i++)
    (!i ? cout << e1[i] : cout << " " << e1[i]);
  cout << endl;
}
template <class T1>
void putArr(T1 arr[], int l) {
  for (int i = 0; i < l; i++) (!i ? cout << arr[i] : cout << " " << arr[i]);
  cout << endl;
}
template <class T1>
void bug(T1 e) {}
template <class T1, class T2>
void bug(T1 e1, T2 e2) {}
template <class T1, class T2, class T3>
void bug(T1 e1, T2 e2, T3 e3) {}
template <class T1, class T2, class T3, class T4>
void bug(T1 e1, T2 e2, T3 e3, T4 e4) {}
template <class T1, class T2, class T3, class T4, class T5>
void bug(T1 e1, T2 e2, T3 e3, T4 e4, T5 e5) {}
template <class T1, class T2, class T3, class T4, class T5, class T6>
void bug(T1 e1, T2 e2, T3 e3, T4 e4, T5 e5, T6 e6) {}
template <class T1>
void bugVec(vector<T1> e1) {}
template <class T1>
void bugArr(T1 arr[], int l) {}
template <typename T>
inline bool isOn(T &mask, int pos) {
  return ((mask) & (1 << pos));
}
template <typename T>
inline void setOff(T &mask, int pos) {
  mask = ((mask) & (~(1 << pos)));
}
template <typename T>
inline void setOn(T &mask, int pos) {
  mask = ((mask)(1 << pos));
}
namespace gv {};
long long absolute(long long a) {
  if (a < 0) return -a;
  return a;
}
int main() {
  _();
  map<int, char> ma;
  ma[(1 << 0)] = 'R';
  ma[(1 << 1)] = 'G';
  ma[(1 << 2)] = 'B';
  ma[(1 << 3)] = 'Y';
  ma[(1 << 4)] = 'W';
  ma[(1 << 5)] = '1';
  ma[(1 << 6)] = '2';
  ma[(1 << 7)] = '3';
  ma[(1 << 8)] = '4';
  ma[(1 << 9)] = '5';
  int m = 0;
  map<string, int> maaa;
  int n, ans = (long long int)1000000000;
  tk(n);
  vector<string> v(n);
  for (int i = 0; i < n; i++) {
    tk(v[i]);
    if (!maaa[v[i]]) m++, maaa[v[i]] = 1;
  }
  for (int i = 0; i < (1 << 10); i++) {
    vector<int> assign(n, 0);
    int mask = i;
    int cnt = 0;
    while (mask) {
      cnt++;
      int current = mask & (-mask);
      for (int j = 0; j < n; j++) {
        if (v[j][0] == ma[current] || v[j][1] == ma[current]) {
          assign[j] |= current;
        }
      }
      mask -= (mask & (-mask));
    }
    map<int, int> maa;
    maa.clear();
    int d = 0;
    for (int j = 0; j < n; j++) {
      if (maa[assign[j]] != 1) maa[assign[j]] = 1, d++;
    }
    if (d == m) ans = min(ans, cnt);
  }
  put(ans == (long long int)1000000000 ? 0 : ans);
  __();
}
