import sys def get_input(): cases = [] had_case_num = False num_of_cases_remaining = 0 for line in sys.stdin: if not had_case_num: had_case_num = True cases.append([]) num_of_cases_remaining = int(line) continue cases[-1].append(int(line)) num_of_cases_remaining -= 1 if num_of_cases_remaining == 0: had_case_num = False return cases def remove_dups(n): new_n = set() str_n = str(n) for char in str_n: new_n.add(int(char)) q = "" for e in new_n: q += str(e) return int(q) def same_category(n1, n2): n1 = list(str(n1)) n2 = list(str(n2)) while len(n1) > 0: if len(n2) == 0: return False if n1[0] in n2: del n2[n2.index(n1[0])] del n1[0] else: return False return True def filter_case(case): contained = True case = list(case) new_case = set() case = list(map(str, case)) for index, e in enumerate(case): for e2 in case[:index] + case[index+1:]: if same_category(e, e2): contained = False break if contained: new_case.add(e) contained = True return new_case def main(): cases = get_input() new_cases = [] for case in cases: new_cases.append(set()) for e in case: if e not in new_cases[-1]: new_cases[-1].add(e) fin_cases = [] for case in new_cases: fin_cases.append(filter_case(case)) for case in fin_cases: print(len(case)) if __name__ == "__main__": main()