; jumble
(define (jumble target)
(let ((target (sort (string->list target) char<?)))
(let loop ((word (read)))
(unless (eof-object? word)
(let ((signature (sort (string->list (symbol->string word)) char<?)))
(if (equal? target signature) word (loop (read))))))))
(display (jumble "lteade")) (newline)
(display (jumble "abcdef")) (newline)
OyBqdW1ibGUKCihkZWZpbmUgKGp1bWJsZSB0YXJnZXQpCiAgKGxldCAoKHRhcmdldCAoc29ydCAoc3RyaW5nLT5saXN0IHRhcmdldCkgY2hhcjw/KSkpCiAgICAobGV0IGxvb3AgKCh3b3JkIChyZWFkKSkpCiAgICAgICh1bmxlc3MgKGVvZi1vYmplY3Q/IHdvcmQpCiAgICAgICAgKGxldCAoKHNpZ25hdHVyZSAoc29ydCAoc3RyaW5nLT5saXN0IChzeW1ib2wtPnN0cmluZyB3b3JkKSkgY2hhcjw/KSkpCiAgICAgICAgICAoaWYgKGVxdWFsPyB0YXJnZXQgc2lnbmF0dXJlKSB3b3JkIChsb29wIChyZWFkKSkpKSkpKSkKCihkaXNwbGF5IChqdW1ibGUgImx0ZWFkZSIpKSAobmV3bGluZSkKKGRpc3BsYXkgKGp1bWJsZSAiYWJjZGVmIikpIChuZXdsaW5lKQ==