#include <bits/stdc++.h>
using namespace std;
template <class T>
void show(T *x, int len, int s = 0) {
  for (int i = s; i < s + len - 1; ++i) cout << x[i] << ' ';
  cout << x[s + len - 1] << endl;
}
void debug() { cerr << endl; }
template <typename T, typename... Args>
void debug(T x, Args... args) {
  cerr << x << ' ';
  debug(args...);
}
const int maxbuff = 1 << 17;
char ibuff[maxbuff], obuff[maxbuff];
inline char Getchar() {
  static char *p1 = ibuff, *p2 = ibuff;
  if (p1 == p2) {
    p1 = ibuff;
    p2 = ibuff + fread(ibuff, 1, maxbuff, stdin);
    if (p1 == p2) return -1;
  }
  return *p1++;
}
int optr = 0;
inline void Putchar(char c) {
  if (optr == maxbuff) {
    fwrite(obuff, 1, optr, stdout);
    optr = 0;
  }
  obuff[optr++] = c;
}
inline void Flush() { fwrite(obuff, 1, optr, stdout); }
template <class T>
inline int read(T &x) {
  x = 0;
  char c = Getchar();
  if (c == EOF) return -1;
  for (; (c < '0' || c > '9') && c != EOF; c = Getchar())
    ;
  if (c == EOF) return -1;
  for (; c >= '0' && c <= '9'; c = Getchar()) x = x * 10 + c - '0';
  return 0;
}
template <class T>
inline void write(const T &x, int tag = 0) {
  if (!x) {
    if (!tag) Putchar(x + '0');
    return;
  }
  write(x / 10, 1);
  Putchar(x % 10 + '0');
}
template <class T>
inline void writeln(const T &x) {
  write(x);
  Putchar('\n');
}
template <class T>
inline void writesp(const T &x) {
  write(x);
  Putchar(' ');
}
template <class T>
inline void cmin(T &A, const T &B) {
  A = (A < B ? A : B);
}
template <class T>
inline void cmax(T &A, const T &B) {
  A = (A > B ? A : B);
}
int num[26];
signed main() {
  int n;
  string s;
  cin >> n >> s;
  for (int i = 0; i < s.length(); ++i) num[s[i] - 'a']++;
  int flag = 0, tm = 0;
  for (int i = 0; i < 26; ++i) {
    if (num[i]) ++tm;
    if (num[i] >= 2) flag = 1;
  }
  if (tm == 1) {
    puts("Yes");
    return 0;
  }
  puts(flag ? "Yes" : "No");
  return 0;
}
