import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        char[] ch = strToCharArray(sc.nextLine());
        boolean yesFlg = true;
        
        for(int i = 0; i < ch.length; i++) {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        }
        if(yesFlg) System.out.println("Yes");
    }

    static String[] strCompare(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLength(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }
    
    static String[] strCompareReverse(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLengthReverse(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }

    static int[] toIntArray(String[] str) {
    	int[] num = new int[str.length];
    	for(int i = 0; i < str.length; i++) {
    		num[i] = Integer.parseInt(str[i]);
    	}
    	return num;
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }


    static String[] toStringArray(String str, String delim) {
    	String[] stAr = str.split(delim);
    	return stAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }

    static double[] strToDoubleArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	double[] dAr = new double[str.length()];
    	for(int i = 0; i < strAr.length; i++) {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	}
    	return dAr;

    }
} Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	} public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		} compare {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		} if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			} compareLengthReverse(s1, s2) == 0 compareLengthReverse(s1, s2) compareLengthReverse s1 s2 0 {
    				return s1.compareTo(s2);
    			} return s1.compareTo(s2); s1.compareTo(s2) s1.compareTo s1 s2 return compareLengthReverse(s1, s2); compareLengthReverse(s1, s2) compareLengthReverse s1 s2 String s2 s2 String s1 s1 Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	} public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		} compare {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		} if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			} compareLength(s1, s2) == 0 compareLength(s1, s2) compareLength s1 s2 0 {
    				return s1.compareTo(s2);
    			} return s1.compareTo(s2); s1.compareTo(s2) s1.compareTo s1 s2 return compareLength(s1, s2); compareLength(s1, s2) compareLength s1 s2 String s1 s1 String s2 s2 import java.util.Arrays; Arrays java.util import java.util.Comparator; Comparator java.util import java.util.Scanner; Scanner java.util public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        char[] ch = strToCharArray(sc.nextLine());
        boolean yesFlg = true;
        
        for(int i = 0; i < ch.length; i++) {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        }
        if(yesFlg) System.out.println("Yes");
    }

    static String[] strCompare(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLength(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }
    
    static String[] strCompareReverse(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLengthReverse(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }

    static int[] toIntArray(String[] str) {
    	int[] num = new int[str.length];
    	for(int i = 0; i < str.length; i++) {
    		num[i] = Integer.parseInt(str[i]);
    	}
    	return num;
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }


    static String[] toStringArray(String str, String delim) {
    	String[] stAr = str.split(delim);
    	return stAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }

    static double[] strToDoubleArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	double[] dAr = new double[str.length()];
    	for(int i = 0; i < strAr.length; i++) {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	}
    	return dAr;

    }
} Main public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        char[] ch = strToCharArray(sc.nextLine());
        boolean yesFlg = true;
        
        for(int i = 0; i < ch.length; i++) {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        }
        if(yesFlg) System.out.println("Yes");
    } main {

        Scanner sc = new Scanner(System.in);
        char[] ch = strToCharArray(sc.nextLine());
        boolean yesFlg = true;
        
        for(int i = 0; i < ch.length; i++) {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        }
        if(yesFlg) System.out.println("Yes");
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) char[] ch = strToCharArray(sc.nextLine()); ch strToCharArray(sc.nextLine()) strToCharArray sc.nextLine() sc.nextLine sc boolean yesFlg = true; yesFlg true for(int i = 0; i < ch.length; i++) {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        } int i = 0; int i = 0; i 0 i < ch.length i ch.length ch ch.length i++ i++ i {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        } {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        } int count = 0; count 0 for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	} int j = 0; int j = 0; j 0 j < ch.length j ch.length ch ch.length j++ j++ j {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	} {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	} if(ch[i] == ch[j]) {
        			count++;
        		} ch[i] == ch[j] ch[i] ch i ch[j] ch j {
        			count++;
        		} count++ count if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	} count % 2 != 0 count % 2 count 2 0 {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	} System.out.println("No") System.out.println System.out System System.out "No" yesFlg = false yesFlg false break; if(yesFlg) System.out.println("Yes"); yesFlg System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args static String[] strCompare(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	});
    	return array;
    } strCompare {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	});
    	return array;
    } Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	}) Arrays.sort Arrays array new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	} return array; array String[] array array static int compareLength(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    } compareLength {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    } if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	} s1.length() > s2.length() s1.length() s1.length s1 s2.length() s2.length s2 {
    		return 1;
    	} return 1; 1 if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	} s1.length() < s2.length() s1.length() s1.length s1 s2.length() s2.length s2 {
    		return -1;
    	} return -1; -1 1 {
    		return 0;
    	} return 0; 0 String s1 s1 String s2 s2 static String[] strCompareReverse(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	});
    	return array;
    } strCompareReverse {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	});
    	return array;
    } Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	}) Arrays.sort Arrays array new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	} return array; array String[] array array static int compareLengthReverse(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    } compareLengthReverse {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    } if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	} s1.length() > s2.length() s1.length() s1.length s1 s2.length() s2.length s2 {
    		return 1;
    	} return 1; 1 if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	} s1.length() < s2.length() s1.length() s1.length s1 s2.length() s2.length s2 {
    		return -1;
    	} return -1; -1 1 {
    		return 0;
    	} return 0; 0 String s1 s1 String s2 s2 static int[] toIntArray(String[] str) {
    	int[] num = new int[str.length];
    	for(int i = 0; i < str.length; i++) {
    		num[i] = Integer.parseInt(str[i]);
    	}
    	return num;
    } toIntArray {
    	int[] num = new int[str.length];
    	for(int i = 0; i < str.length; i++) {
    		num[i] = Integer.parseInt(str[i]);
    	}
    	return num;
    } int[] num = new int[str.length]; num new int[str.length] str.length str str.length for(int i = 0; i < str.length; i++) {
    		num[i] = Integer.parseInt(str[i]);
    	} int i = 0; int i = 0; i 0 i < str.length i str.length str str.length i++ i++ i {
    		num[i] = Integer.parseInt(str[i]);
    	} {
    		num[i] = Integer.parseInt(str[i]);
    	} num[i] = Integer.parseInt(str[i]) num[i] num i Integer.parseInt(str[i]) Integer.parseInt Integer str[i] str i return num; num String[] str str static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    } strToCharArray {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    } char[] chAr = new char[str.length()]; chAr new char[str.length()] str.length() str.length str chAr = str.toCharArray() chAr str.toCharArray() str.toCharArray str return chAr; chAr String str str static String[] toStringArray(String str, String delim) {
    	String[] stAr = str.split(delim);
    	return stAr;
    } toStringArray {
    	String[] stAr = str.split(delim);
    	return stAr;
    } String[] stAr = str.split(delim); stAr str.split(delim) str.split str delim return stAr; stAr String str str String delim delim static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    } strToIntArray {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    } String[] strAr = str.split(delim); strAr str.split(delim) str.split str delim int[] intAr = new int[strAr.length]; intAr new int[strAr.length] strAr.length strAr strAr.length for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	} int i = 0; int i = 0; i 0 i < strAr.length i strAr.length strAr strAr.length i++ i++ i {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	} {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	} intAr[i] = Integer.parseInt(strAr[i]) intAr[i] intAr i Integer.parseInt(strAr[i]) Integer.parseInt Integer strAr[i] strAr i return intAr; intAr String str str String delim delim static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    } toInt {
    	int num = Integer.parseInt(str);
    	return num;
    } int num = Integer.parseInt(str); num Integer.parseInt(str) Integer.parseInt Integer str return num; num String str str static double[] strToDoubleArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	double[] dAr = new double[str.length()];
    	for(int i = 0; i < strAr.length; i++) {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	}
    	return dAr;

    } strToDoubleArray {
    	String[] strAr = str.split(delim);
    	double[] dAr = new double[str.length()];
    	for(int i = 0; i < strAr.length; i++) {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	}
    	return dAr;

    } String[] strAr = str.split(delim); strAr str.split(delim) str.split str delim double[] dAr = new double[str.length()]; dAr new double[str.length()] str.length() str.length str for(int i = 0; i < strAr.length; i++) {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	} int i = 0; int i = 0; i 0 i < strAr.length i strAr.length strAr strAr.length i++ i++ i {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	} {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	} dAr[i] = Double.parseDouble(strAr[i]) dAr[i] dAr i Double.parseDouble(strAr[i]) Double.parseDouble Double strAr[i] strAr i return dAr; dAr String str str String delim delim public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        char[] ch = strToCharArray(sc.nextLine());
        boolean yesFlg = true;
        
        for(int i = 0; i < ch.length; i++) {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        }
        if(yesFlg) System.out.println("Yes");
    }

    static String[] strCompare(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLength(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }
    
    static String[] strCompareReverse(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLengthReverse(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }

    static int[] toIntArray(String[] str) {
    	int[] num = new int[str.length];
    	for(int i = 0; i < str.length; i++) {
    		num[i] = Integer.parseInt(str[i]);
    	}
    	return num;
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }


    static String[] toStringArray(String str, String delim) {
    	String[] stAr = str.split(delim);
    	return stAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }

    static double[] strToDoubleArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	double[] dAr = new double[str.length()];
    	for(int i = 0; i < strAr.length; i++) {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	}
    	return dAr;

    }
} public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        char[] ch = strToCharArray(sc.nextLine());
        boolean yesFlg = true;
        
        for(int i = 0; i < ch.length; i++) {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        }
        if(yesFlg) System.out.println("Yes");
    }

    static String[] strCompare(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLength(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }
    
    static String[] strCompareReverse(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLengthReverse(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }

    static int[] toIntArray(String[] str) {
    	int[] num = new int[str.length];
    	for(int i = 0; i < str.length; i++) {
    		num[i] = Integer.parseInt(str[i]);
    	}
    	return num;
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }


    static String[] toStringArray(String str, String delim) {
    	String[] stAr = str.split(delim);
    	return stAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }

    static double[] strToDoubleArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	double[] dAr = new double[str.length()];
    	for(int i = 0; i < strAr.length; i++) {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	}
    	return dAr;

    }
} Main
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        char[] ch = strToCharArray(sc.nextLine());
        boolean yesFlg = true;
        
        for(int i = 0; i < ch.length; i++) {
        	int count = 0;
        	for(int j = 0; j < ch.length; j++) {
        		if(ch[i] == ch[j]) {
        			count++;
        		}
        	}
        	if(count % 2 != 0) {
        		System.out.println("No");
        		yesFlg = false;
        		break;
        	}
        }
        if(yesFlg) System.out.println("Yes");
    }

    static String[] strCompare(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s1, String s2) {
    			if(compareLength(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLength(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLength(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }
    
    static String[] strCompareReverse(String[] array) {
    	Arrays.sort(array, new Comparator<String>() {
    		public int compare(String s2, String s1) {
    			if(compareLengthReverse(s1, s2) == 0) {
    				return s1.compareTo(s2);
    			}
    			return compareLengthReverse(s1, s2);
    		}
    	});
    	return array;
    }

    static int compareLengthReverse(String s1, String s2) {
    	if(s1.length() > s2.length()) {
    		return 1;
    	} else if (s1.length() < s2.length()) {
    		return -1;
    	} else {
    		return 0;
    	}
    }

    static int[] toIntArray(String[] str) {
    	int[] num = new int[str.length];
    	for(int i = 0; i < str.length; i++) {
    		num[i] = Integer.parseInt(str[i]);
    	}
    	return num;
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }


    static String[] toStringArray(String str, String delim) {
    	String[] stAr = str.split(delim);
    	return stAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }

    static double[] strToDoubleArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	double[] dAr = new double[str.length()];
    	for(int i = 0; i < strAr.length; i++) {
    		dAr[i] = Double.parseDouble(strAr[i]);
    	}
    	return dAr;

    }
}