NOTE - Gấp tiền
Tác giả: RR
Ngôn ngữ: Pascal
var
n,p:longint;
function get(n,p:longint; rev:boolean):longint;
var
mid:longint;
begin
if not rev then
begin
if n=1 then exit(1);
mid:=1 shl (n-1);
if p=mid then exit(1);
if p<mid then exit(get(n-1,p,not rev));
if p>mid then exit(get(n-1,p-mid,rev));
end
else
begin
if n=1 then exit(0);
mid:=1 shl (n-1);
if p=mid then exit(0);
if p>mid then exit(get(n-1,p-mid,not rev));
if p<mid then exit(get(n-1,p,rev));
end;
end;
begin
read(n,p);
while (n>0) or (p>0) do
begin
if get(n,p,false)=1 then writeln('D')
else writeln('U');
read(n,p);
end;
end.