#include <bits/stdc++.h>
using namespace std;

int main(){
    vector<long long> ans;
    int a, b;
    cin >> a >> b;
    if (a == b){
      for (int i = 1; i <= a; i++){
        ans.push_back(i);
        ans.push_back(-i);
      }
    }else if (a > b){
      for (int i = 1; i <= a; i++){
        ans.push_back(i);
      }
      for (int i = 1; i < b; i++){
        ans.push_back(-i);
      }
      long long sum = accumulate(ans.begin(), ans.end(), 0);
      ans.push_back(-sum);
    }else{
      for (int i = 1; i < a; i++){
        ans.push_back(i);
      }
      for (int i = 1; i <= b; i++){
        ans.push_back(-i);
      }
      long long sum = accumulate(ans.begin(), ans.end(), 0);
      ans.push_back(-sum);
    }

    for (int i = 0; i < ans.size(); i++) cout << ans.at(i) << " ";
    cout << endl;
    return 0;
}

#pragma region Macros
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

#define REP2(i, n) for (int i = 0, i##_len = (int)(n); i < i##_len; ++i)
#define REP3(i, l, r) for (int i = (l), i##_len = (int)(r); i < i##_len; ++i)
#define GET_MACRO_REP(_1, _2, _3, NAME, ...) NAME
#define REP(...) GET_MACRO_REP(__VA_ARGS__, REP3, REP2) (__VA_ARGS__)
#define RREP2(i, n) for (int i = (n - 1); i >= 0; --i)
#define RREP3(i, l, r) for (int i = (r - 1), i##_len = (l); i >= i##_len; --i)
#define GET_MACRO_RREP(_1, _2, _3, NAME, ...) NAME
#define RREP(...) GET_MACRO_REP(__VA_ARGS__, RREP3, RREP2) (__VA_ARGS__)
#define IN(type, n) type n; cin >> n
#define INALL(type, v, s) vector<type> v(s); for (auto &e : v) { cin >> e; }
#define ALL(x) (x).begin(), (x).end()
#define SZ(x) ((int)(x).size())

#ifdef _DEBUG
#define DEBUG(x) cout << #x << ": " << x << endl
#else
#define DEBUG(x)
#endif

template<class T>bool chmax(T &a, const T &b) { if (a < b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b < a) { a = b; return 1; } return 0; }
void yes() { cout << "Yes" << endl; }
void no() { cout << "No" << endl; }
#pragma endregion

int main() {
  int query = 1000;

  REP(q, query) {
    IN(int, si);
    IN(int, sj);
    IN(int, ti);
    IN(int, tj);
    int now_i = si;
    int now_j = sj;
    string order = "";

    while (true) {
      if (ti == now_i && tj == now_j) break;
      if (rand() % 2) {
        if (ti > now_i) {
          order += "D";
          now_i++;
        } else if (ti < now_i) {
          order += "U";
          now_i--;
        }
      } else {
        if (tj > now_j) {
          order += "R";
          now_j++;
        } else if (tj < now_j) {
          order += "L";
          now_j--;
        }
      }
    }

    cout << order << endl;
    IN(ll, score);
  }

  return 0;
}
