let($)=List.map let rec(!)l=try!((@)[input_char stdin]$[]::l)with _->(fun l->print_char$List.rev l@l@[' '])$l;;![]