validcs("\t\n !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"). list_member(Xs,X) :- member(X,Xs). run :- _=[N,T], Cs = [_|_], validcs(Chs), length(Cs,N), writeq(n(N)),nl, maplist(list_member(Chs),Cs), writeq(Cs),nl, catch(read_term_from_chars(Cs,T),error(syntax_error(_),_),fail), fail.