#include <iostream>
#include <vector>
#include <cstring>
#include <algorithm>
#include <map>
using namespace std;

char ch[1000];
int n,m;

int putA(char x){
	for(int i = 1 ; i <= n ; i++){
		if( ch[i] == '#' ){
			ch[i] = x;
			break;
		}
	}
	return 0;
}
int putB(char x){
	for(int i = n ; i >= 1 ; i--){
		if(ch[i] == '#' && ch[i-1] != 'A' && ch[i+1] != 'A' ){
			ch[i] = x;
			return 0;
		}
	}
	// else
	putA(x);
}

int putC(char x){
	
	for(int i = 1 ; i <= n ; i++){
		if( ch[i] != '#'){
			if( i+1 <= n && ch[i+1] == '#' ){ ch[i+1] = x; return 0; }
			if( i-1 >= 1 && ch[i-1] == '#' ){ ch[i-1] = x; return 0; }
		}
	}
	if( n % 2 ){
		ch[(n+1)/2] = x;
	}else{
		ch[n/2+1] = x;
	}
}
int putD(char x){
	int distance = 0 , idx = 0;
	for(int i = 1 ; i <= n ; i++){
		int best = 10000;
		for(int j = 1 ; j <= n ; j++){
			if( ch[j] != '#' ) best = min(abs(i-j),best);
		}
		if( best > distance ){
			idx = i;
			distance = best;
		}
	}
	ch[idx] = x;
}
int main(){
	while(cin >> n >> m && n){
		for(int i = 0 ; i < 1000 ; i++) ch[i] = '#';
		for(int i = 0 ; i < m ; i++){
			char c;
			cin >> c;
			if( c == 'A' ) putA(c);
			if( c == 'B' ) putB(c);
			if( c == 'C' ) putC(c);
			if( c == 'D' ) putD(c);
			/*for(int j = 1 ; j <= n ; j++)
				cout << ch[j];
			cout << endl;
			*/
		}
			for(int i = 1 ; i <= n ; i++)
				cout << ch[i];
			cout << endl;


	}
}