#include<stdio.h>
#include<algorithm>
#include<stack>
using namespace std;
char in[2100];
int m[50][50];
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
int v[50][50];
int main(){
	int a;
	int row=25;
	int col=25;
	int dir=0;
	for(int i=0;i<50;i++)for(int j=0;j<50;j++)m[i][j]=-1;
	m[row][col]=0;
	stack<pair<int,int> > S;
	int cnt=0;
	while(1){
		v[row][col]=1;
		for(int t=0;t<4;t++){
			scanf("%s",in);
			if(in[0]=='M')return 0;
			sscanf(in,"%d",&a);
			if(a>20000000){
				while(1){
					printf("F\n");fflush(stdout);
					scanf("%s",in);
					if(in[0]=='M')return 0;
				}
			}
			for(int i=1;i<=a;i++)m[row+dx[dir]*i][col+dy[dir]*i]=0;
			m[row+dx[dir]*(a+1)][col+dy[dir]*(a+1)]=1;
			printf("R\n");fflush(stdout);
			dir=(dir+1)%4;
		}
		scanf("%s",in);
		bool go=false;
		for(int t=0;t<4;t++){
			if(m[row+dx[(dir+t)%4]][col+dy[(dir+t)%4]]==0&&!v[row+dx[(dir+t)%4]][col+dy[(dir+t)%4]]){
				go=true;
				for(int i=0;i<t;i++){
					printf("R\n");fflush(stdout);
					scanf("%s",in);
				}
				S.push(make_pair(row,col));
				dir=(dir+t)%4;
				row+=dx[dir];col+=dy[dir];
				break;
			}
		}
		if(go){
			printf("F\n");fflush(stdout);
			continue;
		}
		for(int t=0;t<4;t++){
			if(row+dx[(dir+t)%4]==S.top().first&&col+dy[(dir+t)%4]==S.top().second){
				S.pop();
				for(int i=0;i<t;i++){
					printf("R\n");fflush(stdout);
					scanf("%s",in);
				}
				dir=(dir+t)%4;
				row+=dx[dir];col+=dy[dir];
				printf("F\n");fflush(stdout);
				break;
			}
		}
	}
}