fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun readLargeInt () = valOf (TextIO.scanStream (LargeInt.scan StringCvt.DEC) TextIO.stdIn) fun printList [] = print "\n" | printList [x] = ( print (LargeInt.toString x); printList [] ) | printList (h :: tl) = ( print (LargeInt.toString h); print " "; printList tl ) fun processCases 0 = ignore () | processCases n = let val d = readInt() val a = readLargeInt() val x_s = List.tabulate (d, fn _ => readLargeInt()) val ans = List.map (fn x => (2 * x + a) div (2 * a)) x_s in ( printList ans; processCases (n - 1) ) end val () = let val t = readInt () in processCases t end