import java.util.*;
public class Main {
static boolean[] check;
public static int getL(int n) {
int value = (n % 1000) * 10;
return value + n / 1000;
}
public static int getR(int n) {
int value = (n % 10) * 1000;
return value + n / 10;
}
public static boolean visit(int n) {
if(check[n] == false) return true;
else return false;
}
public static void makeVisited
(Queue
<Integer
> q,
String[] visited,
int current,
int next,
char order
) {
q.add(next);
visited[next] = visited[current] + order;
// System.out.println(next);
check[next] = true;
}
public static void main
(String[] args
) { // TODO Auto-generated method stub
Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
for(int i = 0; i < n ; i++) {
Queue<Integer> q = new LinkedList<Integer>();
check = new boolean[100001];
int start = sc.nextInt();
int end = sc.nextInt();
q.add(start);
visited[start] = "";
while(!q.isEmpty()) {
int current = q.poll();
if(current == end) break;
// Case of D
int D = current * 2 > 10000 ? (current *2) % 10000 : current * 2;
if(visit(D)) makeVisited(q, visited, current, D, 'D');
int S = current == 0 ? 10000 : current;
S = S - 1;
// int S = current == 0 ? 9999 : current - 1;
if(visit(S)) makeVisited(q, visited, current, S, 'S');
int L = getL(current);
if(visit(L)) makeVisited(q, visited, current, L, 'L');
int R = getR(current);
if(visit(R)) makeVisited(q, visited, current, R, 'R');
}
for(int j = 0; j <visited[end].length(); j++) {
System.
out.
print(visited
[end
].
charAt(j
)); }
}
sc.close();
}
}
aW1wb3J0IGphdmEudXRpbC4qOwpwdWJsaWMgY2xhc3MgTWFpbiB7CglzdGF0aWMgYm9vbGVhbltdIGNoZWNrOwoJc3RhdGljIFN0cmluZ1tdIHZpc2l0ZWQ7CgkKCXB1YmxpYyBzdGF0aWMgaW50IGdldEwoaW50IG4pIHsKCQkKCQlpbnQgdmFsdWUgPSAobiAlIDEwMDApICogMTA7CgkJcmV0dXJuIHZhbHVlICsgbiAvIDEwMDA7IAoJfQoJCglwdWJsaWMgc3RhdGljIGludCBnZXRSKGludCBuKSB7CgkJCgkJaW50IHZhbHVlID0gKG4gJSAxMCkgKiAxMDAwOwoJCXJldHVybiB2YWx1ZSArIG4gLyAxMDsKCQkKCX0KCQoJcHVibGljIHN0YXRpYyBib29sZWFuIHZpc2l0KGludCBuKSB7CgkJaWYoY2hlY2tbbl0gPT0gIGZhbHNlKSByZXR1cm4gdHJ1ZTsKCQllbHNlIHJldHVybiBmYWxzZTsKCX0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWtlVmlzaXRlZChRdWV1ZTxJbnRlZ2VyPiBxLCBTdHJpbmdbXSB2aXNpdGVkLCBpbnQgY3VycmVudCwgaW50IG5leHQsIGNoYXIgb3JkZXIpIHsKCQkKCQkJcS5hZGQobmV4dCk7CgkJCXZpc2l0ZWRbbmV4dF0gPSB2aXNpdGVkW2N1cnJlbnRdICsgIG9yZGVyOwovLwkJCVN5c3RlbS5vdXQucHJpbnRsbihuZXh0KTsKCQkJY2hlY2tbbmV4dF0gPSB0cnVlOwoJCQkKCQkJCgkJCgl9CgoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKCgkJU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgkJaW50IG4gPSBzYy5uZXh0SW50KCk7CgkJCgkJCgkJZm9yKGludCBpID0gMDsgaSA8IG4gOyBpKyspIHsKCQkJUXVldWU8SW50ZWdlcj4gcSA9IG5ldyBMaW5rZWRMaXN0PEludGVnZXI+KCk7CgkJCWNoZWNrID0gbmV3IGJvb2xlYW5bMTAwMDAxXTsKCQkJdmlzaXRlZCA9IG5ldyBTdHJpbmdbMTAwMDAxXTsKCQkJaW50IHN0YXJ0ID0gc2MubmV4dEludCgpOwoJCQlpbnQgZW5kID0gc2MubmV4dEludCgpOwoJCQkKCQkJCgkJCXEuYWRkKHN0YXJ0KTsKCQkJdmlzaXRlZFtzdGFydF0gPSAiIjsKCQkJCgkJCXdoaWxlKCFxLmlzRW1wdHkoKSkgewkKCQkJCWludCBjdXJyZW50ID0gcS5wb2xsKCk7CgkJCQkKCQkJCWlmKGN1cnJlbnQgPT0gZW5kKSBicmVhazsKCQkJCQoJCQkJLy8gQ2FzZSBvZiBECgkJCQlpbnQgRCA9IGN1cnJlbnQgKiAyID4gMTAwMDAgPyAoY3VycmVudCAqMikgJSAxMDAwMCA6IGN1cnJlbnQgKiAyOwoJCQkJaWYodmlzaXQoRCkpIG1ha2VWaXNpdGVkKHEsIHZpc2l0ZWQsIGN1cnJlbnQsIEQsICdEJyk7CgkJCQkKCQkJCWludCBTID0gY3VycmVudCA9PSAwID8gIDEwMDAwIDogY3VycmVudDsKCQkJCVMgPSBTIC0gMTsKLy8JCQkJaW50IFMgPSBjdXJyZW50ID09IDAgID8gOTk5OSA6ICBjdXJyZW50IC0gMTsKCQkJCWlmKHZpc2l0KFMpKSBtYWtlVmlzaXRlZChxLCB2aXNpdGVkLCBjdXJyZW50LCBTLCAnUycpOwoJCQkJCgkJCQlpbnQgTCA9IGdldEwoY3VycmVudCk7CgkJCQlpZih2aXNpdChMKSkgbWFrZVZpc2l0ZWQocSwgdmlzaXRlZCwgY3VycmVudCwgTCwgJ0wnKTsKCQkJCQoJCQkJaW50IFIgPSBnZXRSKGN1cnJlbnQpOwoJCQkJaWYodmlzaXQoUikpIG1ha2VWaXNpdGVkKHEsIHZpc2l0ZWQsIGN1cnJlbnQsIFIsICdSJyk7CgkJCQkKCQkJfQoJCQkKCQkJZm9yKGludCBqID0gMDsgaiA8dmlzaXRlZFtlbmRdLmxlbmd0aCgpOyBqKyspIHsKCQkJCVN5c3RlbS5vdXQucHJpbnQodmlzaXRlZFtlbmRdLmNoYXJBdChqKSk7CgkJCX0KCQkJU3lzdGVtLm91dC5wcmludGxuKCk7CgkJfQoJCQoJCXNjLmNsb3NlKCk7CgkJCgl9Cgp9Cg==