#include <iostream>
#include <set>
#include <vector>
#include <string>
#include <utility>
#include <algorithm>
#include <stdio.h>
using namespace std;
typedef pair<int,int> P;
int chair[110];
int n,m;
void A(){
	int ans=0;
	while(chair[ans]!=0)ans++;
	chair[ans]=1;
	return;
}
void B(){
	for(int i=n-1;i>=0;i--){
		if(chair[i]==0){
			if(i==0&&chair[1]!=1){chair[0]=2;return;}
			else if(i==n-1&&chair[n-2]!=1){chair[n-1]=2;return;}
			else if(0<i&&i<n-1&&chair[i-1]!=1&&chair[i+1]!=1){chair[i]=2;return;}
		}
	}
	int ans=0;
	while(chair[ans]!=0)ans++;
	chair[ans]=2;
	return;
}
void C(){
	int ans=0;
	if(chair[0]!=0){
		while(chair[ans]!=0)ans++;
		chair[ans]=3;
		return;
	}
	chair[n]=5;
	for(int i=0;i<n;i++){
		if(chair[i]!=0){
			if(chair[i+1]==0)chair[i+1]=3;
			else chair[i-1]=3;
			return;
		}
	}
	if(n%2)chair[(n+1)/2-1]=3;
	else chair[n/2]=3;
	return;
}
void D(){
	int a=0,f=0;
	P bl[52];
	//printf("chair:");for(int i=0;i<n;i++)printf("%d ",chair[i]);
	bool in=false;
	for(int i=0;i<=n;i++){
		if(in&&chair[i]!=0){
			in=false;bl[a++]=P(f,i);
		}else if(!in&&chair[i]==0){
			in=true;f=i;
		}
	}
	//for(int i=0;i<a;i++)printf("bl[%d]:[%d,%d)\n",i,bl[i].first,bl[i].second);
	if(bl[0].first==0&&bl[0].second==n){
		chair[0]=4;return;
	}else{
		int m,mlen=-1;
		for(int i=0;i<a;i++){
			int dis=(bl[i].second-bl[i].first-1)/2;
			if(bl[i].second==n)dis=bl[i].second-bl[i].first-1;
			if(dis>mlen){mlen=dis;m=i;}
		}
		//printf("%d+%d[%d]\n",bl[m].first,mlen,a);
		chair[bl[m].first+mlen]=4;return;
	}
}
int main()
{
	while(cin>>n>>m&&(n||m)){
		fill(chair,chair+n,0);
		chair[n]=5;
		while(m--){
			char c;cin>>c;
			if(c=='A')A();
			if(c=='B')B();
			if(c=='C')C();
			if(c=='D')D();
		}
		for(int i=0;i<n;i++){
			if(chair[i]==0)cout<<'#';
			if(chair[i]==1)cout<<'A';
			if(chair[i]==2)cout<<'B';
			if(chair[i]==3)cout<<'C';
			if(chair[i]==4)cout<<'D';
		}
		cout<<endl;
	}
    return 0;
}