import java.util.*;
import java.util.concurrent.SynchronousQueue;

/**
 * Created by tym16 on 10/22/16.
 */
public class Balloon {

    public static final Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        while(sc.hasNextLine()){
            int n = sc.nextInt();
            List<Set<Integer>> list = new ArrayList<Set<Integer>>();
            for(int i = 0; i <= n; i++){
                Set<Integer> set = new HashSet<Integer>();
                String cislo = sc.nextLine();
                for(char ch : cislo.toCharArray()){
                    set.add(Integer.parseInt(Character.toString(ch)));
                }
                if(set.isEmpty()){
                    continue;
                }
                list.add(set);
            }

            List<Integer> vysledek = new ArrayList<Integer>();
            int schody = 0;
            for(int i = 0; i < list.size(); i++){
                if(vysledek.contains(i)){
                    continue;
                }
                List<Integer> seznam = new ArrayList<Integer>();
                for(int j = 0; j < list.size(); j++){
                    if(i == j){
                        continue;
                    }
                    if(seznam.contains(j)){
                        continue;
                    }
                    if(list.get(i).equals(list.get(j))){
                        seznam.add(i);
                        seznam.add(j);
                        continue;
                    }
                }
                vysledek.addAll(seznam);
                schody++;
                seznam.clear();
            }
            System.out.println(schody);
        }
    }


}
