// Born_To_Laugh - Hughie Do
#include <bits/stdc++.h>
#define alle(AC) AC.begin(), AC.end()
#define fi first
#define se second
using namespace std;
typedef long long ll;
[[maybe_unused]] const int MOD = 998244353, INF = 1e9 + 7;
const int maxn = 1e6 + 10;
int n;
ll ma[maxn][2], mi[maxn][2];//maxa to use, mina to use
//0 = b, 1 = a
ll a[maxn], b[maxn];
int state[maxn];
void solve(){
cin >> n;
for(int i=1; i<=n << 1; ++i) cin >> a[i];
for(int i=1; i<=n << 1; ++i) cin >> b[i];
for(int i=1; i<=n << 1; ++i){
mi[i][0] = mi[i][1] = INF;
ma[i][0] = ma[i][1] = -INF;
if(a[i] >= a[i - 1]){
ma[i][1] = max(ma[i][1], ma[i - 1][1] + 1);
mi[i][1] = min(mi[i][1], mi[i - 1][1] + 1);
}
if(a[i] >= b[i - 1]){
ma[i][1] = max(ma[i][1], ma[i - 1][0] + 1);
mi[i][1] = min(mi[i][1], mi[i - 1][0] + 1);
}
if(b[i] >= a[i - 1]){
ma[i][0] = max(ma[i][0], ma[i - 1][1]);
mi[i][0] = min(mi[i][0], mi[i - 1][1]);
}
if(b[i] >= b[i - 1]){
ma[i][0] = max(ma[i][0], ma[i - 1][0]);
mi[i][0] = min(mi[i][0], mi[i - 1][0]);
}
}
bool ok = (ma[n << 1][0] >= n && mi[n << 1][0] <= n)
| (ma[n << 1][1] >= n && mi[n << 1][1] <= n);
if(!ok){
cout << -1 << '\n';
return;
}
int cnt = n;
for(int i=n << 1; i>=1; --i){
state[i] = 0;
if((ma[i][1] >= cnt && mi[i][1] <= cnt)){
if((i == n << 1) || (state[i + 1] == 0 && a[i] <= b[i + 1])
|| (state[i + 1] == 1 && a[i] <= a[i + 1])){
state[i] = 1;
cnt--;
}
}
}
for(int i=1; i<=n << 1; ++i){
if(state[i]) cout << 'A';
else cout << 'B';
}
}
signed main(){
// freopen("inp.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
solve();
}