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

public class Main {
  Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {
    new Main().run();
  }

  void run() {
    int[] cnt = new int[256];
    char[] str = sc.next().toCharArray();
    for (char c : str) {
      ++cnt[(int) c];
    }
    boolean flag = true;
    for (int i = 'a'; i <= 'z'; ++i) {
      flag &= cnt[i] % 2 == 0;
    }
    System.out.println(flag ? "Yes" : "No");
  }

  int ni() {
    return Integer.parseInt(sc.next());
  }

  void debug(Object... os) {
    System.err.println(Arrays.deepToString(os));
  }
} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {
  Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {
    new Main().run();
  }

  void run() {
    int[] cnt = new int[256];
    char[] str = sc.next().toCharArray();
    for (char c : str) {
      ++cnt[(int) c];
    }
    boolean flag = true;
    for (int i = 'a'; i <= 'z'; ++i) {
      flag &= cnt[i] % 2 == 0;
    }
    System.out.println(flag ? "Yes" : "No");
  }

  int ni() {
    return Integer.parseInt(sc.next());
  }

  void debug(Object... os) {
    System.err.println(Arrays.deepToString(os));
  }
} Main Scanner sc = new Scanner(System.in); sc new Scanner(System.in) public static void main(String[] args) {
    new Main().run();
  } main {
    new Main().run();
  } new Main().run() new Main().run new Main() String[] args args void run() {
    int[] cnt = new int[256];
    char[] str = sc.next().toCharArray();
    for (char c : str) {
      ++cnt[(int) c];
    }
    boolean flag = true;
    for (int i = 'a'; i <= 'z'; ++i) {
      flag &= cnt[i] % 2 == 0;
    }
    System.out.println(flag ? "Yes" : "No");
  } run {
    int[] cnt = new int[256];
    char[] str = sc.next().toCharArray();
    for (char c : str) {
      ++cnt[(int) c];
    }
    boolean flag = true;
    for (int i = 'a'; i <= 'z'; ++i) {
      flag &= cnt[i] % 2 == 0;
    }
    System.out.println(flag ? "Yes" : "No");
  } int[] cnt = new int[256]; cnt new int[256] 256 char[] str = sc.next().toCharArray(); str sc.next().toCharArray() sc.next().toCharArray sc.next() sc.next sc for (char c : str) {
      ++cnt[(int) c];
    } char c str {
      ++cnt[(int) c];
    } {
      ++cnt[(int) c];
    } ++cnt[(int) c] cnt[(int) c] cnt (int) c boolean flag = true; flag true for (int i = 'a'; i <= 'z'; ++i) {
      flag &= cnt[i] % 2 == 0;
    } int i = 'a'; int i = 'a'; i 'a' i <= 'z' i 'z' ++i ++i i {
      flag &= cnt[i] % 2 == 0;
    } {
      flag &= cnt[i] % 2 == 0;
    } flag &= cnt[i] % 2 == 0 flag cnt[i] % 2 == 0 cnt[i] % 2 cnt[i] cnt i 2 0 System.out.println(flag ? "Yes" : "No") System.out.println System.out System System.out flag ? "Yes" : "No" flag "Yes" "No" int ni() {
    return Integer.parseInt(sc.next());
  } ni {
    return Integer.parseInt(sc.next());
  } return Integer.parseInt(sc.next()); Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc void debug(Object... os) {
    System.err.println(Arrays.deepToString(os));
  } debug {
    System.err.println(Arrays.deepToString(os));
  } System.err.println(Arrays.deepToString(os)) System.err.println System.err System System.err Arrays.deepToString(os) Arrays.deepToString Arrays os Object... os os public class Main {
  Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {
    new Main().run();
  }

  void run() {
    int[] cnt = new int[256];
    char[] str = sc.next().toCharArray();
    for (char c : str) {
      ++cnt[(int) c];
    }
    boolean flag = true;
    for (int i = 'a'; i <= 'z'; ++i) {
      flag &= cnt[i] % 2 == 0;
    }
    System.out.println(flag ? "Yes" : "No");
  }

  int ni() {
    return Integer.parseInt(sc.next());
  }

  void debug(Object... os) {
    System.err.println(Arrays.deepToString(os));
  }
} public class Main {
  Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {
    new Main().run();
  }

  void run() {
    int[] cnt = new int[256];
    char[] str = sc.next().toCharArray();
    for (char c : str) {
      ++cnt[(int) c];
    }
    boolean flag = true;
    for (int i = 'a'; i <= 'z'; ++i) {
      flag &= cnt[i] % 2 == 0;
    }
    System.out.println(flag ? "Yes" : "No");
  }

  int ni() {
    return Integer.parseInt(sc.next());
  }

  void debug(Object... os) {
    System.err.println(Arrays.deepToString(os));
  }
} Main
import java.util.Arrays;
import java.util.Scanner;

public class Main {
  Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {
    new Main().run();
  }

  void run() {
    int[] cnt = new int[256];
    char[] str = sc.next().toCharArray();
    for (char c : str) {
      ++cnt[(int) c];
    }
    boolean flag = true;
    for (int i = 'a'; i <= 'z'; ++i) {
      flag &= cnt[i] % 2 == 0;
    }
    System.out.println(flag ? "Yes" : "No");
  }

  int ni() {
    return Integer.parseInt(sc.next());
  }

  void debug(Object... os) {
    System.err.println(Arrays.deepToString(os));
  }
}