Problem: Vasya has a multiset s consisting of n integer numbers. Vasya calls some number x nice if it appears in the multiset exactly once. For example, multiset \{1, 1, 2, 3, 3, 3, 4\} contains nice numbers 2 and 4.

Vasya wants to split multiset s into two multisets a and b (one of which may be empty) in such a way that the quantity of nice numbers in multiset a would be the same as the quantity of nice numbers in multiset b (the quantity of numbers to appear exactly once in multiset a and the quantity of numbers to appear exactly once in multiset b).

Input

The first line contains a single integer n~(2 ≤ n ≤ 100).

The second line contains n integers s_1, s_2, ... s_n~(1 ≤ s_i ≤ 100) — the multiset s.

Output

If there exists no split of s to satisfy the given requirements, then print "NO" in the first line.

Otherwise print "YES" in the first line.

The second line should contain a string, consisting of n characters. i-th character should be equal to 'A' if the i-th element of multiset s goes to multiset a and 'B' if if the i-th element of multiset s goes to multiset b. Elements are numbered from 1 to n in the order they are given in the input.

If there exist multiple solutions, then print any of them.

Examples

Input

4
3 5 7 1


Output

YES
BABA


Input

3
3 5 1


Output

NO

Solution (in PYTHON3):

Solution:
n = int(input())

arr = [[0]*2 for i in range(101)]

st = str(input()).split()
st = [int (i) for i in st]
for i in st:
    arr[int(i)-1][0]+=1

one=0
two=0
more=0
x=0
y=0
for i in range(101):
    if(arr[i][0]==1):
        one+=1
    elif(arr[i][0]==2):
        #print('-----')
        two+=1
        y+=arr[i][0]
    elif(arr[i][0]>2):
        more+=1
        x+=arr[i][0]
#print(two)
yes=0
ll=0
no=0
odd=0
even=0
lp=0
if(one>0):
    if(one%2==1):
        odd=1
    else:
        even=1
elif(more>=1 and two>=0 and one==0):
    yes=1
    ll=1
    print("YES")
    aaa=x+y
    print('A'*aaa)
    lp=1

yes=0
no=0
m=0
mm=0
t=0

if(even==1):
    yes=1
elif(odd==1):
    if(more>=1):
        yes=1
        m=1
        #print('---')
elif(more>=2):
    yes=1
    mm=1
elif(two>=1):
    yes=1
    t=1
else:
    no=1

# print(m)
# print(mm)
# print(t)
# print(even)

f=1
sa=''
if(yes==1):

    if(m==0 and mm==0 and t==0):
        f=1
        for i in st:
            if(arr[i-1][0]==1):
                if(f==1):
                    sa+='A'
                    f=f%2+1
                else:
                    sa+='B'
                    f=f%2+1
            elif(arr[i-1][0]>=2):
                sa+='A'
        # for i in range(100):
        #     if(arr[i][0]==1):
        #         if(f==1):
        #             sa+='A'
        #             f=f%2+1
        #         else:
        #             sa+='B'
        #             f=f%2+1
        #     elif(arr[i][0]>=2 and arr[i][1]<a[i][0]):
        #         sa+='A'
        #         a[i][1]+=1
    elif(m==1):
        f=1
        ff=1
        for i in st:
            if(arr[i-1][0]==1):
                if(f==1):
                    sa+='A'
                    f=f%2+1
                else:
                    sa+='B'
                    f=f%2+1
            elif(arr[i-1][0]>2):
                if(f==1 and ff==1):
                    sa+='B'
                    ff=2
                elif(ff==1):
                    sa+='B'
                    ff=3
                # elif(ff==2):
                #     sa+='B'
                else:
                    sa+='A'
            elif(arr[i-1][0]==2):
                sa+='A'
    elif(mm==1):
        f=1
        ff=0
        for i in st:
            sa+='A'
            # if(arr[i-1][0]>2 and arr[i-1][1]==0 and ff<2):
            #     if(f==1):
            #         sa+='A'
            #         f=f%2+1
            #         arr[i-1][1]+=1
            #         ff+=1
            #     else:
            #         sa+='B'
            #         f=f%2+1
            #         arr[i-1][1]+=1
            #         ff+=1
            # else:
            #     if(f==1):
            #         sa+='A'
                    
            #     else:
            #         sa+='B'
                   
                    
                    

    # elif(mm==1):
    #     c=0
    #     f=1
    #     for i in range(100):
    #         if(arr[i][0]>=3 and arr[i][1]<arr[i][0]):
    #             if(c<2 and arr[i][1]==0):
    #                 sa+='A'
    #                 arr[i][1]+=1
    #                 #sa+='B'*(arr[i][0]-1)
    #                 c+=1
    #                 f=f%2+1
    #             elif(c<2 and arr[i][1]==0):
    #                 sa+='B'
    #                 arr[i][1]+=1
    #                 #sa+='A'*(arr[i][0]-1)
    #                 c+=1
    #                 f=f%2+1
    #             else:
    #                 sa+='A'
    #                 arr[i][1]+=1
    elif(t==1):
        sa+=('AB')*two


if(yes==1 and lp==0):
    print("YES")
    print(sa)
    #print(two)
elif(ll==0):
    print('NO')
#print(arr)
#print(arr[2][1])