// 2011/08/02 Tazoe

#include <iostream>
using namespace std;

int main()
{
	while(true){
		int n, m;
		cin >> n >> m;
		if(n==0&&m==0)
			break;

		char C[10000];
		for(int i=0; i<n; i++)
			C[i] = '#';

		for(int i=0; i<m; i++){
			char a;
			cin >> a;

			if(a=='A'){
				for(int j=0; j<n; j++)
					if(C[j]=='#'){
						C[j] = a;
						break;
					}
			}
			else if(a=='B'){
				bool flg = false;
				for(int j=n-1; j>=0; j--)
					if(C[j]=='#'&&(j==0||C[j-1]!='A')&&(j==n-1||C[j+1]!='A')){
						C[j] = a;
						flg = true;
						break;
					}
				if(!flg)
					for(int j=0; j<n; j++)
						if(C[j]=='#'){
							C[j] = a;
							break;
						}
			}
			else if(a=='C'){
				if(i==0){
					C[n/2] =a;
				}
				else{
					for(int j=0; j<n; j++)
						if(C[j]!='#'&&j!=n-1&&C[j+1]=='#'){
							C[j+1] = a;
							break;
						}
						else if(C[j]!='#'&&j!=0&&C[j-1]=='#'){
							C[j-1] = a;
							break;
						}
				}
			}
			else if(a=='D'){
				if(i==0){
					C[0] = a;
				}
				else{
					int D[10000];
					int d = 10000;
					for(int j=0; j<n; j++)
						if(C[j]!='#'){
							d = 0;
							D[j] = d;
						}
						else{
							d++;
							D[j] = d;
						}
					d = 10000;
					for(int j=n-1; j>=0; j--)
						if(C[j]!='#'){
							d = 0;
							continue;
						}
						else{
							d++;
							if(D[j]>d)
								D[j] = d;
						}
					int max_d = -1;
					int max_j = -1;
					for(int j=0; j<n; j++)
						if(D[j]>max_d){
							max_d = D[j];
							max_j = j;
						}
					C[max_j] = a;
				}
			}
		}

		for(int i=0; i<n; i++)
			cout << C[i];
		cout << endl;
	}

	return 0;
}