import java.util.*;
 
public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        String[] line = sc.next().split("");
        
        Set<String> set = new HashSet<>();
        for (String s : line) {
            set.add(s);
        }
        
        String result = "No"; 
        if (set.size() == 2) result = "Yes"; 
        
        System.out.println(result);
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        String[] line = sc.next().split("");
        
        Set<String> set = new HashSet<>();
        for (String s : line) {
            set.add(s);
        }
        
        String result = "No"; 
        if (set.size() == 2) result = "Yes"; 
        
        System.out.println(result);
    }
} Main public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        String[] line = sc.next().split("");
        
        Set<String> set = new HashSet<>();
        for (String s : line) {
            set.add(s);
        }
        
        String result = "No"; 
        if (set.size() == 2) result = "Yes"; 
        
        System.out.println(result);
    } main {
        Scanner sc = new Scanner(System.in);
        String[] line = sc.next().split("");
        
        Set<String> set = new HashSet<>();
        for (String s : line) {
            set.add(s);
        }
        
        String result = "No"; 
        if (set.size() == 2) result = "Yes"; 
        
        System.out.println(result);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String[] line = sc.next().split(""); line sc.next().split("") sc.next().split sc.next() sc.next sc "" Set<String> set = new HashSet<>(); set new HashSet<>() for (String s : line) {
            set.add(s);
        } String s line {
            set.add(s);
        } {
            set.add(s);
        } set.add(s) set.add set s String result = "No"; result "No" if (set.size() == 2) result = "Yes"; set.size() == 2 set.size() set.size set 2 result = "Yes" result "Yes" System.out.println(result) System.out.println System.out System System.out result String[] args args public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        String[] line = sc.next().split("");
        
        Set<String> set = new HashSet<>();
        for (String s : line) {
            set.add(s);
        }
        
        String result = "No"; 
        if (set.size() == 2) result = "Yes"; 
        
        System.out.println(result);
    }
} public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        String[] line = sc.next().split("");
        
        Set<String> set = new HashSet<>();
        for (String s : line) {
            set.add(s);
        }
        
        String result = "No"; 
        if (set.size() == 2) result = "Yes"; 
        
        System.out.println(result);
    }
} Main
import java.util.*;
 
public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        String[] line = sc.next().split("");
        
        Set<String> set = new HashSet<>();
        for (String s : line) {
            set.add(s);
        }
        
        String result = "No"; 
        if (set.size() == 2) result = "Yes"; 
        
        System.out.println(result);
    }
}