Загрузка данных
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
void move(char direction, ll &x, ll&y) {
cout << direction << endl;
string result;
cin >> result;
if (result == "win" || result == "fail") {
exit(0);
}
if (result == "new") {
cin >> x;
cin >> y;
}
return;
}
int main() {
ll n;
cin >> n;
ll m;
cin >> m;
ll y;
cin >> y;
ll x;
cin >> x;
ll apple_y;
cin >> apple_y;
ll apple_x;
cin >> apple_x;
while (x > 1) {
if (x-1 == apple_x && y == apple_y) {
if (y+1 > n) {
--y;
move('U', apple_x, apple_y);
} else {
++y;
move('D', apple_x, apple_y);
}
}
--x;
move('L', apple_x, apple_y);
}
string way;
ll start_x = x;
ll start_y = y;
if ((n % 2 == 1 && m % 2 == 0) || (n % 2 == 0 && m % 2 == 0)) {
while (x < m) {
while (y < n) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
move('R', apple_x, apple_y);
++x;
way += 'R';
while (y > 2) {
way += 'U';
move('U', apple_x, apple_y);
--y;
}
if (x < m) {
move('R', apple_x, apple_y);
++x;
way += 'R';
}
}
way += 'U';
move('U', apple_x, apple_y);
--y;
while (x > 1) {
--x;
move('L', apple_x, apple_y);
way += 'L';
}
while (y < start_y) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
} else if (n % 2 == 0 && m % 2 == 1) {
while (x < m - 3) {
while (y < n) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
move('R', apple_x, apple_y);
++x;
way += 'R';
while (y > 2) {
way += 'U';
move('U', apple_x, apple_y);
--y;
}
if (x < m - 2) {
move('R', apple_x, apple_y);
++x;
way += 'R';
}
}
while (y < n) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
move('R', apple_x, apple_y);
++x;
way += 'R';
while (y > 1) {
move('R', apple_x, apple_y);
++x;
way += 'R';
way += 'U';
move('U', apple_x, apple_y);
--y;
--x;
move('L', apple_x, apple_y);
way += 'L';
if (y > 1) {
way += 'U';
move('U', apple_x, apple_y);
--y;
}
}
while (x > 1) {
--x;
move('L', apple_x, apple_y);
way += 'L';
}
while (y < start_y) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
} else {
while (x < m - 3) {
while (y < n) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
move('R', apple_x, apple_y);
++x;
way += 'R';
while (y > 2) {
way += 'U';
move('U', apple_x, apple_y);
--y;
}
if (x < m - 2) {
move('R', apple_x, apple_y);
++x;
way += 'R';
}
}
while (y < n) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
move('R', apple_x, apple_y);
++x;
way += 'R';
way += 'U';
move('U', apple_x, apple_y);
--y;
while (y > 1) {
move('R', apple_x, apple_y);
++x;
way += 'R';
way += 'U';
move('U', apple_x, apple_y);
--y;
--x;
move('L', apple_x, apple_y);
way += 'L';
if (y > 1) {
way += 'U';
move('U', apple_x, apple_y);
--y;
}
}
while (x > 1) {
--x;
move('L', apple_x, apple_y);
way += 'L';
}
while (x < m - 3) {
while (y < n) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
move('R', apple_x, apple_y);
++x;
way += 'R';
while (y > 2) {
way += 'U';
move('U', apple_x, apple_y);
--y;
}
if (x < m - 2) {
move('R', apple_x, apple_y);
++x;
way += 'R';
}
}
while (y < n) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
move('R', apple_x, apple_y);
++x;
way += 'R';
while (y > 2) {
move('R', apple_x, apple_y);
++x;
way += 'R';
way += 'U';
move('U', apple_x, apple_y);
--y;
--x;
move('L', apple_x, apple_y);
way += 'L';
if (y < n) {
way += 'U';
move('U', apple_x, apple_y);
--y;
}
}
while (x > 1) {
--x;
move('L', apple_x, apple_y);
way += 'L';
}
while (y < start_y) {
way += 'D';
move('D', apple_x, apple_y);
++y;
}
}
while (true) {
for (ll i = 0; i < ssize(way); ++i) {
move(way[i], apple_x, apple_y);
}
}
}