(let* ((getbit (lambda (getbit bits a b) (if (> b 0) (getbit getbit (/ bits 0b100000000000000000000000000000000000000000000000000) a (- b 2)) (if (> a 0) (getbit getbit (/ bits 2) (- a 1) 0) (% bits 2))))) (solve (lambda (solve n x y dirX dirY) (if (= n 0) "" (let* ((newX (+ x dirX)) (newY (+ y dirY))) (if (= 0 (if (= 0 dirX) (getbit getbit 0b000000000000000000000000000000000000000000000000000111001110011011011001111010010110011001101111100110111101011011100001100111000001011001111011101110101010100011001101010110001110011100100100001000101110111001000101111011110000010000011110110101011111001101111110010101100010010110111010001011101011100101100010100111000101110100000110111011001100011100111000000110000101011110011010101111000000011110100011101000010000110010111000101010101010110101011010011001101010010001110011110001010110111110111001010000110000110011110011100000011000101101001101111100100111111111100010110100111001011011110010001011111010111110111101111010011101011001011011001010100101101011011010001110100100110111001001110101011110001011110100011101000111000010110111100110110110001100001001011010111101101011001010110111010100111100000111100011011010111000100111011100100000001111100010100010110100000001111010000100101000011111110011011010100011000101110100000110100101011100101010000001010011100100001100111100010110110001101000011000001111010100001101100000101010110111111111001100110101010110101111010101101101101101100001000001100101010000011000010111110101101110101010101101011100101011101100100010010010100101100000000011001001010100010111110101111000110110101001001111100000000100010110000011001100101010100001100110001101001101100110101001110110110101100001010011010000001000100000111000010101000010110111010110101110001110101010011101101110100010100000010111110100111001101100001110101100100110000011101010101111011110111010010011101001111110010101000011000111011011110000111011000001101100110110001100101100100011000101010000101111111001101101010101111111011110011110110111011011010011001001001001000111000001011010111101010001001000100111111011011111000010111000110110111110100111101000101111000110101011101010111100001111110011101110110101011110111010110100111000010111001111110101101000101100100100101000100010111011110100010001100101000110100101011100110001100110110100001000001001000111001001001100000010100100101110010110110010110000001000011000011010101010010110101100110011100100110111101001001001110101010000011100000100101001010010011111101101100001110011110001110111000011000010010111001000100101110011010110100100111110111011100001101010101111110101000100101101110111110011010011000001010001011100110101000000111101011001011000010101010011000000101011000001011011101000011011010010000011111001010011100111010101000000100010000011001101000100100101011011111110111011111000101111101111011100110100110100000000000000000000000000000000000000000000000000 newX (+ y newY)) (getbit getbit 0b000000000000000000000000000000000000000000000000001010100010110110110110010110111101001001011011011001000111100110111100101101010100011101111111100101100011000010001001011001011101001001010111010111011001101111001100100100110110010000101001010110100100100010111000110001011001010000001110010000111100111101001110110000101111111111001000101110001111000010001000000100010011010101010110001000001110010101111010101011111011100110100101111101001010111100000101111110010110101010111011000100000010100110101011100001010011111101001101001110010111101001101111001011110111100010100001001000000010010001100000101100010100010110110101111111011010010011110001011001011011000101100101101001011111001011000100101001010100001000001101111010111101001010110110010101100111111100010011010011110000011010101100010001100110110101010100111010011111111000111010111000110111000011110010100000011100110010101001110000101110011101111000001111001110001100001001011011100101100010011001100100011001101100011100100001011110001011010011110100011101110110100100110000110000011111100100001101001100010011011100001011001011100111110100001100111010111000000010010011010011010011010101100100100100001000111000111011011100001111010010001111000011011011010100010011001010111110001101111011101001000001011111101110100001110100111010010001110000101010011111011100001100100001111101010101111011101000000011100011010000011010111100011111011010001101001110010110110011101010101100101101000111111110010110101010011011010101000011011101011011000101011000100010100100110000100010010101111101101111110001111001100110001011111110001011000011100001001011011010111000010000111101110010011000001110001010010100011001111001101100010100010110000110101011010111011101011110111010101101110111010110011011100011100010011110001000010110100100101001111101001101010100101001101011111111011001101000100101001001001010011001110100101000011000101100110011100110101000010100110011100000110110001001110011111011101101010110010011110010011011101011010011001100111001101100011010100101010110010100101001111110101000101000111011001110011111101011001110011000111001110110110000001100100000011110010100111011001001001000011010000001010100011000010100001101001101110100110111011001000101101000010001110111111001001111010001000100001100000110111010101010100000101001100110111101111010101011011001001101010111010110111100110110010000011110001111100000001111111101011100100010010111110111101001100101101010010100011100101110100100111001110101111101000101101101110010100100000000000000000000000000000000000000000000000000 newY (+ x newX)))) (solve solve n x y dirY (- dirX)) (concat (take 2 (drop (+ (+ (* dirY 3) dirX) 3) "UULLRRDD")) (solve solve (- n 1) newX newY (- dirY) dirX)))))))) (concat "solve lambdaman15 " (solve solve 5000 17 30 0 1)))