#include <bits/stdc++.h>
const int siz = 1e5 + 3;
using namespace std;
int ans[2][siz];
int arra[siz], n;
bool visited[siz];
bool recur(bool p, int i) {
  int &val = ans[p][i];
  if (val != -1) return val;
  visited[i] = 1;
  val = p ^ 1;
  int k;
  if (!p) {
    for (k = arra[i]; k < n; k += arra[i]) {
      if (i + k < n && arra[i + k] > arra[i] && !visited[i + k])
        val &= recur(p ^ 1, i + k);
      if (i - k >= 0 && arra[i - k] > arra[i] && !visited[i - k])
        val &= recur(p ^ 1, i - k);
    }
  } else {
    for (k = arra[i]; k < n; k += arra[i]) {
      if (i + k < n && arra[i + k] > arra[i] && !visited[i + k])
        val |= recur(p ^ 1, i + k);
      if (i - k >= 0 && arra[i - k] > arra[i] && !visited[i - k])
        val |= recur(p ^ 1, i - k);
    }
  }
  visited[i] = 0;
  return val;
}
int main() {
  int m, i, j, t;
  scanf("%d", &n);
  memset(ans, -1, sizeof ans);
  for (i = 0; i < n; i++) scanf("%d", &arra[i]);
  for (i = 0; i < n; i++) recur(false, i);
  for (i = 0; i < n; i++)
    if (!ans[0][i])
      printf("A");
    else
      printf("B");
  return 0;
}
