#include <bits/stdc++.h>
using namespace std;
// #include <atcoder/all>
// using namespace atcoder;
#define rep(i,n) for (int i = 0; i < (n); ++i)
using ll = long long;
using vl = vector<ll>;
using vvl = vector<vl>;
using P = pair<ll,ll>;
#define pb push_back
 
 
int main(){
  vvl tate(29, vl(30,5000));
  vvl yoko(30, vl(29,5000));
  rep(_,1000){
    int a, b, ato, bto;
    cin >> a >> b >> ato >> bto;
    int ma = a;
    int mb = b;
    string ans;
    while(a != ato || b != bto){
      if (a == ato){
        if (b < bto){
          b++;
          ans.pb('R'); continue; // continueの貼り付けを忘れると
        } else { // バグる ato btoが連続するからです
          b--; // 全てに張り付けておく必要があるので
          ans.pb('L'); continue;
        }
      }
      if (b == bto){
        if (a < ato){
          a++;
          ans.pb('D'); continue;
        } else {
          a--;
          ans.pb('U'); continue;
        }
      }
      if (a < ato && b < bto){
        // 下 右
        if (tate[a][b] < yoko[a][b]){
          a++; // 縦移動優先
          ans.pb('D'); continue;
        } else {
          b++;
          ans.pb('R'); continue;
        }
      }
      if (a < ato && b > bto){
        // 下 左
        if (tate[a][b] < yoko[a][b-1]){
          a++; // 縦移動優先
          ans.pb('D'); continue;
        } else {
          b--;
          ans.pb('L'); continue;
        }
      }
      if (a > ato && b < bto){
        // 上 右
        if (tate[a-1][b] < yoko[a][b]){
          a--; // 縦移動優先
          ans.pb('U'); continue;
        } else {
          b++;
          ans.pb('R'); continue;
        }
      }
      if (a > ato && b > bto){
        // 上 左 ここから続き
        if (tate[a-1][b] < yoko[a][b-1]){
          a--; // 縦移動優先
          ans.pb('U'); continue;
        } else {
          b--;
          ans.pb('L'); continue;
        }
      }
    }
    cout << ans << endl; // flushを炊く
    ll score;
    cin >> score;
    score /= ans.size(); // 通った数で割り一歩当たりのコスト計算
    // cout << score << endl; // debug
    ll change = (score - 5000) / (ll)ans.size();
    // cout << change << endl; // debug
    rep(i,ans.size()){
      if (ans[i] == 'U'){
        tate[ma-1][mb] += change;
        if (score < 3500) tate[ma-1][mb] += -100000;
        if (score > 6500) tate[ma-1][mb] += 100000;
        ma--;
      }
      if (ans[i] == 'D'){
        tate[ma][mb] += change;
        if (score < 3500) tate[ma][mb] += -100000;
        if (score > 6500) tate[ma][mb] += 100000;
        ma++;
      }
      if (ans[i] == 'L'){
        yoko[ma][mb-1] += change;
        if (score < 3500) yoko[ma][mb-1] += -100000;
        if (score > 6500) yoko[ma][mb-1] += 100000;
        mb--;
      }
      if (ans[i] == 'R'){
        yoko[ma][mb] += change;
        if (score < 3500) yoko[ma][mb] += -100000;
        if (score > 6500) yoko[ma][mb] += 100000;
        mb++;
      }
    }
    // for(auto x : tate){ // コスト計算debug
    //   for(auto y : x){
    //     cout << y << " ";
    //   } cout << endl;
    // }
    // for(auto x : yoko){
    //   for(auto y : x){
    //     cout << y << " ";
    //   } cout << endl;
    // }
  }
}
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <cfloat>
#include <cstring>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <list>
#include <random>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
#include <unordered_set>
#include <unordered_map>
#include <array>
#include <cassert>
#include <bitset>
#include <cstdint>
#include <random>
#include <ctime>
#include <cassert>
#include <chrono>
#include <fstream>
using namespace std;
using LL = long long;
using LD = long double;

const LD PI = acos(-1);

int main() {
	int N;
	cin >> N;
	LD x, y, X, Y;
	cin >> x >> y >> X >> Y;
	LD phi = atan2(Y - y, X - x);
	LD theta = 2 * PI / N;
	LD hen = phi - PI / 2 + theta / 2;
	LD radius = sqrt((X - x) * (X - x) + (Y - y) * (Y - y)) / 2;
	LD length = 2 * radius * sin(theta / 2);
	LD vx = length * cos(hen);
	LD vy = length * sin(hen);
	LD ax = x + vx;
	LD ay = y + vy;
	cout.precision(20);
	cout << fixed;
	cout << ax << " "<< ay << endl;
	return 0;
}