#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int N, M;
int a[100];

void sit_from_left(int id) {
  for (int i = 0; i < N; ++i) {
    if (a[i] == -1) {
      a[i] = id;
      break;
    }
  }
}

void sit_a() {
  sit_from_left(0);
}

void sit_b() {
  bool sat = false;;
  for (int i = N - 1; i >= 0; --i) {
    if (a[i] != -1) {
      continue;
    }
    if (i > 0 && a[i - 1] == 0) {
      continue;
    }
    if (i < N - 1 && a[i + 1] == 0) {
      continue;
    }
    a[i] = 1;
    sat = true;
    break;
  }

  if (sat) {
    return;
  }

  sit_from_left(1);
}

void sit_c() {
  bool sat = false;
  for (int i = 0; i < N; ++i) {
    if (a[i] == -1) {
      continue;
    }
    if (i < N - 1 && a[i + 1] == -1) {
      a[i + 1] = 2;
      sat = true;
      break;
    }
    if (i > 0 && a[i - 1] == -1) {
      a[i - 1] = 2;
      sat = true;
      break;
    }
  }

  if (sat) {
    return;
  }

  a[N / 2] = 2;
}

void sit_d() {
  int m = 0;
  int mi = 0;
  for (int i = 0; i < N; ++i) {
    if (a[i] != -1) {
      continue;
    }
    int l = N;
    int r = N;
    for (int j = i; j >= 0; --j) {
      if (a[j] != -1) {
        l = i - j;
        break;
      }
    }
    for (int j = i; j < N; ++j) {
      if (a[j] != -1) {
        r = j - i;
        break;
      }
    }
    if (m < min(l, r)) {
      m = min(l, r);
      mi = i;
    }
  }
  a[mi] = 3;
}

void print_seat() {
  for (int i = 0; i < N; ++i) {
    if (a[i] < 0) {
      cout << (char)'#';
    } else {
      cout << (char)('A' + a[i]);
    }
  }
  cout << endl;
}

int main() {
  while (1) {
    cin >> N >> M;
    if (!N && !M) {
      break;
    }
    fill(a, a + N, -1);
    for (int i = 0; i < M; ++i) {
      string s;
      cin >> s;
      if (s == "A") {
        sit_a();
      } else if (s == "B") {
        sit_b();
      } else if (s == "C") {
        sit_c();
      } else if (s == "D") {
        sit_d();
      }
    }
    print_seat();
  }
  return 0;
}