(* http://www.spoj.pl/problems/LWAR/ *)
let rec invert = function
| [] -> []
| h :: q -> (not h) :: invert q
let rec f = function
| true :: ((true :: _) as t) -> true :: f (invert t)
| true :: false :: t -> true :: true :: f t
| bl -> bl
let _ =
let bool_list_of_string s =
let n = String.length s in
let rec aux i =
if i < n then (s.[i] = '1') :: aux (i + 1)
else [] in
aux 0 in
let print_bool_list l =
List.iter (fun x -> print_char (if x then '1' else '0')) l;
print_newline () in
let n = read_int () in
for i = 1 to n do
let s = read_line () in
print_bool_list (f (bool_list_of_string s))
done