#include <iostream>
#include <cmath>
using std::cin;
using std::cout;
using std::endl;
const int xmax = 2159;
const int ymax = 4095;
class v2
{
public:
float x, y;
v2() {};
v2(float _x, float _y) :x(_x), y(_y) {}
};
bool checkBoundary(const v2& _a)
{
if (_a.x < 0 || _a.y < 0 || _a.x > xmax || _a.y > ymax)
{
return false;
}
else
return true;
}
bool checkTangent(const v2& _a, const v2& _b)
{
if (abs(_a.x - _b.x) < abs(_a.y - _b.y))
return false;
else
return true;
}
void convertCordinate(v2& _a)
{
_a.y = ymax - _a.y;
}
double dotProduct(const v2& _a, const v2& _b)
{
return((double)(_a.x * _b.x + _a.y * _b.y));
}
v2 identifyVec(v2& _a)
{
v2 tmp;
tmp.x = _a.x / sqrt(_a.x * _a.x + _a.y * _a.y);
tmp.y = _a.y / sqrt(_a.x * _a.x + _a.y * _a.y);
return(tmp);
}
int main()
{
v2 a, b, c;
cin >> a.x >> a.y;
cin >> b.x >> b.y;
if (checkBoundary(a) && checkBoundary(b) && checkTangent(a,b)) {
convertCordinate(a);
convertCordinate(b);
if (a.x >= b.x) {
c.x = a.x - b.x;
c.y = a.y - b.y;
}
else
{
c.x = b.x - a.x;
c.y = b.y - a.y;
}
v2 d = identifyVec(c);
//cout << "c(" << c.x << ", " << c.y << ")" << endl;
//cout << atan2(c.y, c.x) << endl;
if (atan2(d.y, d.x) >= 0)
{
cout << "U " << abs(c.x) << " " << abs(c.y) << endl;
}
else
{
cout << "D " << abs(c.x) << " " << abs(c.y) << endl;
}
}
else
{
cout << "Error" << endl;
return 0;
}
return 0;
}