import Foundation
class queue{
var enq = [Int]()
var deq = [Int]()
var count: Int{
return enq.count + deq.count
}
func push(_ a:Int){
enq.append(a)
}
func pop()->Int{
if deq.count == 0{
deq = enq.reversed()
enq.removeAll()
}
if deq.count == 0{
return -1
}
return deq.popLast()!
}
}
func D(_ A:Int)->Int{
(A * 2) % 10000
}
func S(_ A:Int)->Int{
A != 0 ? A - 1 : 9999
}
func L(_ A:Int)->Int{
(A * 10)%10_000 + (A/1000)
}
func R(_ A:Int)->Int{
(A/10) + (A%10)*1000
}
let T = Int(readLine()!)!
for _ in 0..<T{
var visit = Array<Int?>(repeating: nil, count: 10001)
let input = readLine()!.split(separator: " ").map{Int($0)!}
var A = input[0]
let B = input[1]
let q = queue()
q.push(A)
visit[A] = 0
while q.count != 0 {
A = q.pop()
let DD = D(A)
let SS = S(A)
let LL = L(A)
let RR = R(A)
if A == B{
break
}
if visit[DD] == nil{
q.push(DD)
visit[DD] = visit[A]! * 10 + 1
// visit[DD] = visit[A] + "D" ->이전 방식
}
if visit[SS] == nil{
q.push(SS)
visit[SS] = visit[A]! * 10 + 2
}
if visit[LL] == nil{
q.push(LL)
visit[LL] = visit[A]! * 10 + 3
}
if visit[RR] == nil{
q.push(RR)
visit[RR] = visit[A]! * 10 + 4
}
}
var ans = String(visit[B]!)
for i in ans{
switch i{
case "1": print("D",terminator: "")
case "2": print("S",terminator: "")
case "3": print("L",terminator: "")
case "4": print("R",terminator: "")
default:
break;
}
}
print()
}