import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        List<String> array = new ArrayList<>();
        array.add(String.valueOf(s.charAt(0)));
        array.add(String.valueOf(s.charAt(1)));
        array.add(String.valueOf(s.charAt(2)));
        array.add(String.valueOf(s.charAt(3)));
        Collections.sort(array);
        if (array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        List<String> array = new ArrayList<>();
        array.add(String.valueOf(s.charAt(0)));
        array.add(String.valueOf(s.charAt(1)));
        array.add(String.valueOf(s.charAt(2)));
        array.add(String.valueOf(s.charAt(3)));
        Collections.sort(array);
        if (array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        List<String> array = new ArrayList<>();
        array.add(String.valueOf(s.charAt(0)));
        array.add(String.valueOf(s.charAt(1)));
        array.add(String.valueOf(s.charAt(2)));
        array.add(String.valueOf(s.charAt(3)));
        Collections.sort(array);
        if (array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    } main {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        List<String> array = new ArrayList<>();
        array.add(String.valueOf(s.charAt(0)));
        array.add(String.valueOf(s.charAt(1)));
        array.add(String.valueOf(s.charAt(2)));
        array.add(String.valueOf(s.charAt(3)));
        Collections.sort(array);
        if (array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String s = sc.next(); s sc.next() sc.next sc List<String> array = new ArrayList<>(); array new ArrayList<>() array.add(String.valueOf(s.charAt(0))) array.add array String.valueOf(s.charAt(0)) String.valueOf String s.charAt(0) s.charAt s 0 array.add(String.valueOf(s.charAt(1))) array.add array String.valueOf(s.charAt(1)) String.valueOf String s.charAt(1) s.charAt s 1 array.add(String.valueOf(s.charAt(2))) array.add array String.valueOf(s.charAt(2)) String.valueOf String s.charAt(2) s.charAt s 2 array.add(String.valueOf(s.charAt(3))) array.add array String.valueOf(s.charAt(3)) String.valueOf String s.charAt(3) s.charAt s 3 Collections.sort(array) Collections.sort Collections array if (array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        } array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3)) array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3)) array.get(0).equals(array.get(1)) array.get(0).equals array.get(0) array.get array 0 array.get(1) array.get array 1 !array.get(1).equals(array.get(2)) array.get(1).equals(array.get(2)) array.get(1).equals array.get(1) array.get array 1 array.get(2) array.get array 2 array.get(2).equals(array.get(3)) array.get(2).equals array.get(2) array.get array 2 array.get(3) array.get array 3 {
            System.out.println("Yes");
        } System.out.println("Yes") System.out.println System.out System System.out "Yes" {
            System.out.println("No");
        } System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        List<String> array = new ArrayList<>();
        array.add(String.valueOf(s.charAt(0)));
        array.add(String.valueOf(s.charAt(1)));
        array.add(String.valueOf(s.charAt(2)));
        array.add(String.valueOf(s.charAt(3)));
        Collections.sort(array);
        if (array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        List<String> array = new ArrayList<>();
        array.add(String.valueOf(s.charAt(0)));
        array.add(String.valueOf(s.charAt(1)));
        array.add(String.valueOf(s.charAt(2)));
        array.add(String.valueOf(s.charAt(3)));
        Collections.sort(array);
        if (array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
} Main
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        List<String> array = new ArrayList<>();
        array.add(String.valueOf(s.charAt(0)));
        array.add(String.valueOf(s.charAt(1)));
        array.add(String.valueOf(s.charAt(2)));
        array.add(String.valueOf(s.charAt(3)));
        Collections.sort(array);
        if (array.get(0).equals(array.get(1)) && !array.get(1).equals(array.get(2)) && array.get(2).equals(array.get(3))) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }
}