#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct
{
int x;
bool vpravo;
int pozice;
bool stridani;
bool stridani2;
} bod;
int fmax(int c1, int c2)
{
return (c1>c2)?c1:c2;
}
int main()
{
int l, a, x;
char s;
while(scanf("%d %d", &l, &a) == 2)
{
int pole[l];
bod mravenci[a];
for(int i=0; i<l; i++)
{
pole[i] = 0;
}
for(int i=0; i<a; i++)
{
scanf("%d %c", &x, &s);
bod b;
b.x = x;
b.pozice = x;
b.stridani = false;
b.stridani2 = false;
if(s == 'R')
{
pole[x] = 1;
b.vpravo = true;
}
else
{
pole[x] = 2;
b.vpravo = false;
}
mravenci[i] = b;
}
int minpravy = -1;
int j = 0;
while (j < l)
{
if (pole[j] == 1)
{
minpravy = j;
break;
}
j++;
}
int maxlevy = -1;
j = l-1;
while (j >= 0)
{
if (pole[j] == 2)
{
maxlevy = j;
break;
}
j--;
}
if (minpravy != -1)
minpravy = l-minpravy;
for(int k=0; k<fmax(minpravy,maxlevy); k++)
{
for(int i=0; i<a; i++)
{
for(int j=0; j<a; j++)
{
if ((mravenci[i].x+1 == mravenci[j].x) && (mravenci[i].vpravo) && (!mravenci[j].vpravo))
{
mravenci[i].vpravo = false;
mravenci[j].vpravo = true;
mravenci[i].stridani = true;
mravenci[j].stridani = true;
}
if ((mravenci[i].x+2 == mravenci[j].x) && (mravenci[i].vpravo) && (!mravenci[j].vpravo))
{
mravenci[i].stridani2 = true;
mravenci[j].stridani2 = true;
}
}
}
for(int i=0; i<a; i++)
{
if (mravenci[i].vpravo)
{
if (mravenci[i].stridani2)
{
mravenci[i].stridani2 = false;
mravenci[i].x++;
mravenci[i].vpravo = false;
}
else if (mravenci[i].stridani)
{
mravenci[i].stridani = false;
}
else
{
mravenci[i].x++;
}
}
else
{
if (mravenci[i].stridani2)
{
mravenci[i].stridani2 = false;
mravenci[i].x--;
mravenci[i].vpravo = true;
}
else if (mravenci[i].stridani)
{
mravenci[i].stridani = false;
}
else
{
mravenci[i].x--;
}
}
}
}
int maxx = -1;
int maxy = -1;
if (minpravy == maxlevy)
{
for(int i=0; i<a; i++)
{
if (mravenci[i].x == 0)
{
maxx = mravenci[i].pozice;
}
}
for(int i=0; i<a; i++)
{
if (mravenci[i].x == l)
{
maxy = mravenci[i].pozice;
}
}
printf("The last and will fall down in %d seconds - started at %d and %d.\n",minpravy, maxx, maxy);
}
else if (minpravy > maxlevy)
{
for(int i=0; i<a; i++)
{
if (mravenci[i].x == 0)
{
maxx = mravenci[i].pozice;
}
}
printf("The last and will fall down in %d seconds - started at %d.\n",minpravy, maxx);
}
else if (maxlevy > minpravy)
{
for(int i=0; i<a; i++)
{
if (mravenci[i].x == l)
{
maxy = mravenci[i].pozice;
}
}
printf("The last and will fall down in %d seconds - started at %d.\n",maxlevy, maxy);
}
}
return 0;
}