import java.util.*;
public class Main {
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    String str = sc.nextLine();
    List<String> arr = new ArrayList<String>();
    List<String> arr2 = new ArrayList<String>();
    int countx = 0;  
    int county = 0;  
    for(int i = 0; i < str.length(); i++) {
      String tmp = String.valueOf(str.charAt(i));
      arr2.add(tmp);
      if(arr.contains(tmp) == false){
        arr.add(tmp);
      }
    }
    if(arr.size() > 2){
      System.out.println("No");
      return;
    }
    String x = arr2.get(0);
    String y = arr2.get(1);
   
    for(int i = 0; i < str.length(); i++) {
      if(x.equals(String.valueOf(str.charAt(i)))){
      	countx++;
      }else{
        county++;
      }
    }
    if(countx != 2 || county != 2){     
		System.out.println("No");
      	return;
    }
	System.out.println("Yes");
  }
}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz