/*移动小球*/
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
#define max 100
int a[max];
void A(int c, int b)
{
int n, m;//用来找c,b在数组中对应的下标
for (int i = 1;; i++)
{
if (a[i] == c)
{
n = i;
break;
}
}
for (int i = 1;; i++)
{
if (a[i] == b)
{
m = i;
break;
}
}//照完相应的位置
int temp=c;//储存c的值
if (n < m)//即c在b的左边
{
for (int i = n; i < m; i++)
{
a[i] = a[i + 1];
}
a[m - 1] = temp;
}
else if (n>m)//即c在b的右边
{
for (int i = n; i>m; i++)
{
a[i] = a[i - 1];
}
a[m] = temp;
}
return;
}
void B(int c, int b)
{
int n, m;//用来找c,b在数组中对应的下标
for (int i = 1;; i++)
{
if (a[i] == c)
{
n = i;
break;
}
}
for (int i = 1;; i++)
{
if (a[i] == b)
{
m = i;
break;
}
}//照完相应的位置
int temp = c;
if (n < m)
{
for (int i = n; i <m; i++)
{
a[i] = a[i + 1];
}
a[m] = temp;
}
else if (n>m)
{
for (int i = n; i>m; i--)
{
a[i] = a[i - 1];
}
a[m] = temp;
}
return;
}
int main()
{
int n,order,j=1;
cin >> n>>order;
for (int i = 1; i <= n; i++)
{
a[i] = i;
}
while (j <= order)
{
char S;
int number1, number2;
cin >> S>>number1>>number2;
if (S == 'A')
A(number1, number2);
else if (S == 'B')
B(number1, number2);
j++;
for (int i = 1; i <= n; i++)
{
cout << a[i];
if (i < n) cout << " ";
else cout << endl;
}
}
/*for (int i = 1; i <= n; i++)
{
cout << a[i];
if (i < n) cout << " ";
else cout << endl;
}*/
system("pause");
return 0;
}