#include <bits/stdc++.h>
using namespace std;
const int oo = (int)1e9;
const double PI = 2 * acos(0.0);
const double eps = 1e-9;
set<string> st;
int rots[2][6] = {{3, 2, 0, 1, 4, 5}, {0, 1, 5, 4, 2, 3}};
bool dfs(string& s, set<string>& tmp) {
  if (st.count(s)) return true;
  if (tmp.count(s)) return false;
  tmp.insert(s);
  string t;
  for (int i = 0; i < (int)(2); i++) {
    t = "";
    for (int k = 0; k < (int)(6); k++) t += s[rots[i][k]];
    if (dfs(t, tmp)) return true;
  }
  return false;
}
bool check_exists(string s) {
  set<string> tmp;
  if (dfs(s, tmp)) return true;
  return false;
}
int main() {
  ios_base::sync_with_stdio(false);
  string s;
  cin >> s;
  sort(s.begin(), s.end());
  do {
    if (!check_exists(s)) st.insert(s);
  } while (next_permutation(s.begin(), s.end()));
  cout << ((int)st.size()) << endl;
  return 0;
}
