#include #include using namespace std; #define min(a,b) ((a)<(b))?(a):(b) int ab(int x) { if (x<0) return -x; return x; } int main() { int N; int p[50001]; while (scanf("%d",&N),N) { for (int i=0;ij) break; if (i==j) break; // A < i; B < j int diff11 = ab( (sumA+p[i])-sumB ); int diff12 = ab( (sumA+p[i])-(sumB+p[j]) ); int diff1 = (diff11>diff12)?diff11:diff12; int diff21 = ab( (sumB+p[j])-sumA ); int diff22 = ab( (sumB+p[j])-(sumA+p[i]) ); int diff2 = (diff21>diff22)?diff21:diff22; // A < j; B < i int diff31 = ab( (sumA+p[j])-sumB ); int diff32 = ab( (sumA+p[j])-(sumB+p[i]) ); int diff3 = (diff31>diff32)?diff31:diff32; int diff41 = ab( (sumB+p[i])-sumA ); int diff42 = ab( (sumB+p[i])-(sumA+p[j]) ); int diff4 = (diff41>diff42)?diff41:diff42; int best=min(min(diff1,diff2),min(diff3,diff4)); if (!first) printf(" "); if (best==diff1) { printf("%d-A %d-B",p[i],p[j]); sumA+=p[i]; // printf("[%d]",ab(sumA-sumB)); sumB+=p[j]; } else if (best==diff2) { printf("%d-B %d-A",p[j],p[i]); sumA+=p[i]; sumB+=p[j]; } else if (best==diff3) { printf("%d-A %d-B",p[j],p[i]); sumA+=p[j]; sumB+=p[i]; } else { printf("%d-B %d-A",p[i],p[j]); sumA+=p[j]; sumB+=p[i]; } i++; j--; first=false; } if (last!=-1) { if (!first) printf(" "); if (sumA