#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
struct anti{
char Dir;
int Pos;
int StartPos;
};
void changeDir( char & dir){
if (dir == 'R') dir = 'L';
else if (dir == 'L') dir = 'R';
}
int main (){
int i,Size, Time=0, Num, LP=0, stepped;
bool felt=false;
cin >> Size >> Num;
anti * Ants = new anti [Size];
for (i=0;i<Num;i++){
cin >> Ants[i].Pos >> Ants[i].Dir;
Ants[i].StartPos = Ants[i].Pos;
}
for (i=0;i<Num;i++){
for (int j = 0;j<Num-1-i;j++){
if (Ants[j].Pos>Ants[j+1].Pos){
swap (Ants[j].Pos,Ants[j+1].Pos);
swap (Ants[j].Dir,Ants[j+1].Dir);
swap (Ants[j].StartPos,Ants[j+1].StartPos);
}
}
}
stepped = -1;
while (1){
if (LP == Num-1){
if (Ants[LP].Dir=='L') Time +=Ants[LP].Pos;
else Time+= (Size -Ants[LP].Pos);
cout << "The last ant will fall down in "<< Time << " seconds - started at " << Ants[LP].StartPos<<"."<<endl;
return 0;
}
if (Ants[LP].Pos==0 && Ants[LP].Dir=='L') { LP++; felt=true;}
if (Ants[Num-1].Pos==Size && Ants[Num-1].Dir=='R') {
if (felt == true && Num == (LP+1) ){
cout << "The last ant will fall down in "<< Time << " seconds - started at " << Ants[LP-1].StartPos<<" and "<<Ants[Num-1].StartPos<< "."<<endl;
return 0;
}
Num--;
}
felt = false;
for (i=LP; i<Num; i++){
if ((i+1) < Num && Ants[i].Pos == Ants[i+1].Pos){
Ants[i].Dir = 'L';
Ants[i+1].Dir = 'R';
Ants[i].Pos--;
Ants[i+1].Pos++;
stepped = i+1;
continue;
}
else if ((i+1) < Num && Ants[i].Pos == (Ants[i+1].Pos-1) && Ants[i].Dir == 'R'
&& Ants[i+1].Dir == 'L'){
Ants[i].Dir = 'L';
Ants[i+1].Dir = 'R';
stepped = i+1;
continue;
}
else if(i != stepped){
if (Ants[i].Dir == 'R') Ants[i].Pos++;
if (Ants[i].Dir == 'L') Ants[i].Pos--;
stepped = -1;
}
}
//-----------------------------------------------------------------------------
Time++;
}
return 0;
}