import java.util.Scanner;
public class test{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        if(sc.hasNext()){
            String nextLine = sc.nextLine();
            //toCharArray()可以直接将字符串,转换成字符数组,不需要通过遍历取子字符串的方式。
            char[] charArray = nextLine.toCharArray();
            HashSet<Character> set = new HashSet<>();
            /*
            * HashSet是不允许有重复元素的集合、允许有null值、无序的,不会记录插入的顺序、
            * HashSet<String> sites = new HashSet<String>();用来保存字符串,中间的String可以根据要保存的类型进行更改
            * 添加元素可以使用 add() 方法
            * 使用 contains() 方法来判断元素是否存在于集合当中
            * 使用 remove() 方法来删除集合中的元素
            * 删除集合中所有元素可以使用 clear 方法
            * 元素数量可以使用 size() 方法
            *使用 for-each 来迭代 HashSet 中的元素
            * */
            for (int i = 0; i < charArray.length; i++) {
                set.add(charArray[i]);
            }
            System.out.println(set.size());
        }
        sc.close();
    }
}