import java.io.IOException;
import java.io.InputStream;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.Scanner;
import java.util.concurrent.Executors;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class Solution {
public static void main(String[] args) throws IOException {
new GCJMain().main(s -> {
return "";
});
}
public static class GCJMain implements Comparable<GCJMain> {
@Override
public int compareTo(GCJMain o) {
return t - o.t;
}
@Override
public String toString() {
return String.format("Case #%d: %s", t, output);
}
public void main(Function<Scanner, String> f) throws IOException {
main(s -> new Scanner(s.nextLine()), f);
}
public void main(
Function<Scanner, Scanner> g,
Function<Scanner, String> f
) throws IOException {
InputStream is = System.in;
boolean debug = false;
if (debug) {
PipedOutputStream pos = new PipedOutputStream();
PrintWriter pw = new PrintWriter(pos);
is = new PipedInputStream(pos);
Executors.newSingleThreadExecutor().execute(() -> {
pw.println("");
pw.close();
});
}
Scanner s = new Scanner(is);
IntStream.iterate(1, t -> 1 + t).limit(Integer.valueOf(s.nextLine()))
.mapToObj(i -> builder().t(i).s(s).f(f).g(g).build())
.collect(Collectors.toList())
.parallelStream().map(GCJMain::run).sorted()
.collect(Collectors.toList())
.forEach(System.out::println);
}
private static class GCJMainBuilder {
GCJMain main = new GCJMain();
public GCJMainBuilder t(int t) {
main.t = t;
return this;
}
public GCJMainBuilder s(Scanner s) {
main.s = main.g.apply(s);
return this;
}
public GCJMainBuilder f(Function<Scanner, String> f) {
main.f = f;
return this;
}
public GCJMainBuilder g(Function<Scanner, Scanner> g) {
main.g = g;
return this;
}
public GCJMain build() {
return main;
}
}
public static GCJMainBuilder builder() {
return new GCJMainBuilder();
}
private int t;
private Scanner s;
private String output;
private Function<Scanner, String> f;
private Function<Scanner, Scanner> g;
private IntStream it(int init) {
return IntStream.iterate(init, i -> i + 1);
}
public GCJMain run() {
output = f.apply(s);
return this;
}
}
}