program paperfolding; {$APPTYPE CONSOLE} uses SysUtils, math; // Function to determine the type of fold for a given offset and total folds function fold(f, c, first : integer) : integer; begin if c = power(2, f) then result := first; if c < power(2, f) then result := fold(f - 1, c, first); if c > power(2, f) then result := fold(f - 1, c - floor(power(2, f)), (first + 1) mod 2); end; var f, c : integer; du : string; begin du := 'DU'; readln(f, c); writeln(du[fold(f, c, 0) + 1], du[fold(f, c + 1, 0) + 1], du[fold(f, c + 2, 0) + 1]); readln; end.