#include <bits/stdc++.h>
int32_t main() {
  int n;
  scanf("%d", &n);
  std::map<int, std::vector<int> > log;
  for (int i = 0; i < n; i++) {
    int a;
    scanf("%d", &a);
    log[a].push_back(i);
  }
  std::vector<bool> ans(n);
  int cnt0 = 0, cnt1 = 0;
  for (auto p : log) {
    if (p.second.size() != 1) continue;
    if (cnt0 < cnt1) {
      cnt0++;
      p.second.pop_back();
    } else {
      cnt1++;
      ans[p.second.back()] = 1;
      p.second.pop_back();
    }
  }
  for (auto p : log) {
    if (p.second.size() <= 2) continue;
    if (cnt0 < cnt1) {
      cnt0++;
      p.second.pop_back();
      while (!p.second.empty()) {
        ans[p.second.back()] = 1;
        p.second.pop_back();
      }
    } else if (cnt0 > cnt1) {
      ans[p.second.back()] = 1;
      p.second.pop_back();
      cnt1++;
      while (!p.second.empty()) p.second.pop_back();
    }
  }
  if (cnt0 != cnt1) return puts("NO"), 0;
  puts("YES");
  for (bool b : ans) putchar(b ? 'A' : 'B');
  return puts(""), 0;
}
