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

public class Main {

	public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		}
	}
} import java.util.HashMap; HashMap java.util import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		}
	}
} Main public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		}
	} main {
		try (Scanner scanner = new Scanner(System.in)) {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		}
	} try (Scanner scanner = new Scanner(System.in)) {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		} {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		} Scanner scanner = new Scanner(System.in) Scanner scanner = new Scanner(System.in) new Scanner(System.in) char[] w = scanner.next().toCharArray(); w scanner.next().toCharArray() scanner.next().toCharArray scanner.next() scanner.next scanner Map<Character, Integer> map = new HashMap<>(); map new HashMap<>() for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			} char c w {
				map.put(c, map.getOrDefault(c, 0) + 1);
			} {
				map.put(c, map.getOrDefault(c, 0) + 1);
			} map.put(c, map.getOrDefault(c, 0) + 1) map.put map c map.getOrDefault(c, 0) + 1 map.getOrDefault(c, 0) map.getOrDefault map c 0 1 boolean result = true; result true for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			} Character c map.keySet() map.keySet map {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			} {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			} if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				} 0 != (map.get(c) & 1) 0 (map.get(c) & 1) map.get(c) map.get map c 1 {
					result = false;
					break;
				} result = false result false break; System.out.println(result ? "Yes" : "No") System.out.println System.out System System.out result ? "Yes" : "No" result "Yes" "No" String[] args args public class Main {

	public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		}
	}
} public class Main {

	public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		}
	}
} Main
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			char[] w = scanner.next().toCharArray();
			Map<Character, Integer> map = new HashMap<>();
			for (char c : w) {
				map.put(c, map.getOrDefault(c, 0) + 1);
			}
			boolean result = true;
			for (Character c : map.keySet()) {
				if (0 != (map.get(c) & 1)) {
					result = false;
					break;
				}
			}
			System.out.println(result ? "Yes" : "No");
		}
	}
}
