#include #include #include using namespace std; int DajKat(int lety) { static bool used[10]; int ret = 0; memset(used, false, sizeof(bool) * 10); while (lety > 0) { if (lety < 10) { used[lety - 1] = true; lety = 0; } else { int x = lety % 10; used[x - 1] = true; lety = lety / 10; } } for (int i = 0; i < 10; i++) { if (used[i]) ret = ret * 10 + (i + 1); } return ret; } int main() { int ludia; static vector moznosti(1000000000, false); int ret = 0; while (true) { ludia = 0; ret = 0; scanf("%d", &ludia); //printf("----------------%d \n", ludia); if (ludia == 0) break; moznosti.assign(1000000000, false); for (int i = 0; i < ludia; i++) { int lety; scanf("%d", &lety); int let = DajKat(lety); if (!moznosti[let - 1]) { moznosti[let - 1] = true; ret++; } } printf("%d\n", ret); } return 0; }