import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DuplicateWords {
public static void main(String[] args) {
String regex = "\\b(\\w+)\\b(\\s+\\1\\b)+";
Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Scanner in = new Scanner(System.in);
int numSentences = Integer.parseInt(in.nextLine());
while (numSentences-- > 0) {
String input = in.nextLine();
Matcher m = p.matcher(input);
// Check for subsequences of input that match the compiled pattern
while (m.find()) {
input = input.replaceAll(m.group(), m.group(1));
/*this statement can't replace different case
for example, Hello hello Ab ab aB
the result is the same
while this input = input.replaceAll(regex, "$1"); can match all different words at once
so Hello hello Ab ab aB in "input = input.replaceAll(m.group(), m.group(1));" need two steps
while Hello Hello Ab Ab Ab in "input = input.replaceAll(regex, "$1");" need one step
*/
//input = input.replaceAll(regex, "$1");
}
// Prints the modified sentence.
System.out.println(input);
}
in.close();
}
}