// yukicoder: No.170 スワップ文字列(Easy) // 2019.4.13 bal4u #include #include #include char s[10]; int w; char t[10]; char f[10]; int ans; int cmp(const void *a, const void *b) { return *(char *)a - *(char *)b; } void rec(int id) { int i; if (id == w) { ans++; return; } for (i = 0; i < w; i++) { if (f[i]) continue; if (s[i] == t[id]) continue; f[i] = 1; t[id] = s[i]; rec(id + 1); f[i] = 0; } t[id] = 0; } int main() { scanf("%s", s); w = strlen(s); qsort(s, w, sizeof(char), cmp); rec(0); printf("%d\n", ans-1); return 0; }