import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String s = input.next();

        if(s.length() % 2 != 0){
            System.out.println("No");
            System.exit(0);
        }
        HashMap<String,Integer> map = new HashMap<>();
        StringBuilder sb = new StringBuilder();

        for(int i = 0;i < s.length();i++){
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        }
        if(map.size() != s.length() / 2){
            System.out.println("No");
            System.exit(0);
        }
        else{
            System.out.println("Yes");
            System.exit(0);
        }
    }
} import java.util.HashMap; HashMap java.util import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String s = input.next();

        if(s.length() % 2 != 0){
            System.out.println("No");
            System.exit(0);
        }
        HashMap<String,Integer> map = new HashMap<>();
        StringBuilder sb = new StringBuilder();

        for(int i = 0;i < s.length();i++){
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        }
        if(map.size() != s.length() / 2){
            System.out.println("No");
            System.exit(0);
        }
        else{
            System.out.println("Yes");
            System.exit(0);
        }
    }
} Main public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String s = input.next();

        if(s.length() % 2 != 0){
            System.out.println("No");
            System.exit(0);
        }
        HashMap<String,Integer> map = new HashMap<>();
        StringBuilder sb = new StringBuilder();

        for(int i = 0;i < s.length();i++){
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        }
        if(map.size() != s.length() / 2){
            System.out.println("No");
            System.exit(0);
        }
        else{
            System.out.println("Yes");
            System.exit(0);
        }
    } main {
        Scanner input = new Scanner(System.in);
        String s = input.next();

        if(s.length() % 2 != 0){
            System.out.println("No");
            System.exit(0);
        }
        HashMap<String,Integer> map = new HashMap<>();
        StringBuilder sb = new StringBuilder();

        for(int i = 0;i < s.length();i++){
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        }
        if(map.size() != s.length() / 2){
            System.out.println("No");
            System.exit(0);
        }
        else{
            System.out.println("Yes");
            System.exit(0);
        }
    } Scanner input = new Scanner(System.in); input new Scanner(System.in) String s = input.next(); s input.next() input.next input if(s.length() % 2 != 0){
            System.out.println("No");
            System.exit(0);
        } s.length() % 2 != 0 s.length() % 2 s.length() s.length s 2 0 {
            System.out.println("No");
            System.exit(0);
        } System.out.println("No") System.out.println System.out System System.out "No" System.exit(0) System.exit System 0 HashMap<String,Integer> map = new HashMap<>(); map new HashMap<>() StringBuilder sb = new StringBuilder(); sb new StringBuilder() for(int i = 0;i < s.length();i++){
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        } int i = 0; int i = 0; i 0 i < s.length() i s.length() s.length s i++ i++ i {
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        } {
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        } sb.setLength(0) sb.setLength sb 0 sb.append(s.charAt(i)) sb.append sb s.charAt(i) s.charAt s i if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            } map.get(sb.toString()) == null map.get(sb.toString()) map.get map sb.toString() sb.toString sb null {
                map.put(sb.toString(),1);
            } map.put(sb.toString(),1) map.put map sb.toString() sb.toString sb 1 if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            } map.get(sb.toString()).intValue() < 2 map.get(sb.toString()).intValue() map.get(sb.toString()).intValue map.get(sb.toString()) map.get map sb.toString() sb.toString sb 2 {
                map.put(sb.toString(),2);
            } map.put(sb.toString(),2) map.put map sb.toString() sb.toString sb 2 {
                System.out.println("No");
                System.exit(0);
            } System.out.println("No") System.out.println System.out System System.out "No" System.exit(0) System.exit System 0 if(map.size() != s.length() / 2){
            System.out.println("No");
            System.exit(0);
        }
        else{
            System.out.println("Yes");
            System.exit(0);
        } map.size() != s.length() / 2 map.size() map.size map s.length() / 2 s.length() s.length s 2 {
            System.out.println("No");
            System.exit(0);
        } System.out.println("No") System.out.println System.out System System.out "No" System.exit(0) System.exit System 0 {
            System.out.println("Yes");
            System.exit(0);
        } System.out.println("Yes") System.out.println System.out System System.out "Yes" System.exit(0) System.exit System 0 String[] args args public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String s = input.next();

        if(s.length() % 2 != 0){
            System.out.println("No");
            System.exit(0);
        }
        HashMap<String,Integer> map = new HashMap<>();
        StringBuilder sb = new StringBuilder();

        for(int i = 0;i < s.length();i++){
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        }
        if(map.size() != s.length() / 2){
            System.out.println("No");
            System.exit(0);
        }
        else{
            System.out.println("Yes");
            System.exit(0);
        }
    }
} public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String s = input.next();

        if(s.length() % 2 != 0){
            System.out.println("No");
            System.exit(0);
        }
        HashMap<String,Integer> map = new HashMap<>();
        StringBuilder sb = new StringBuilder();

        for(int i = 0;i < s.length();i++){
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        }
        if(map.size() != s.length() / 2){
            System.out.println("No");
            System.exit(0);
        }
        else{
            System.out.println("Yes");
            System.exit(0);
        }
    }
} Main
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String s = input.next();

        if(s.length() % 2 != 0){
            System.out.println("No");
            System.exit(0);
        }
        HashMap<String,Integer> map = new HashMap<>();
        StringBuilder sb = new StringBuilder();

        for(int i = 0;i < s.length();i++){
            sb.setLength(0);
            sb.append(s.charAt(i));
            if(map.get(sb.toString()) == null){
                map.put(sb.toString(),1);
            }
            else if(map.get(sb.toString()).intValue() < 2){
                map.put(sb.toString(),2);
            }
            else{
                System.out.println("No");
                System.exit(0);
            }
        }
        if(map.size() != s.length() / 2){
            System.out.println("No");
            System.exit(0);
        }
        else{
            System.out.println("Yes");
            System.exit(0);
        }
    }
}
