import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
static StringBuilder sCases;
public static void main
(String[] args
) { int n = 0, testNumber = 0;
ArrayList<ArrayList<Integer>> misilTests = new ArrayList<ArrayList<Integer>>();
try {
n
= Integer.
parseInt(tokenizer.
nextToken()); do{
misilTests.add(new ArrayList<Integer>());
while(n != -1){
misilTests.get(testNumber).add(n);
n
= Integer.
parseInt(tokenizer.
nextToken()); }
n
= Integer.
parseInt(tokenizer.
nextToken()); testNumber++;
}while (n != -1);
br.close();
for (int i = 0; i < testNumber; i++) {
sCases = new StringBuilder();
if(i > 0)
sCases.append("\n\n");
else
sCases.append("\n");
sCases.append("Test #");
sCases.append(i+1);
sCases.append(":\n");
sCases.append(" maximum possible interceptions: ");
sCases.append(getLIS(misilTests.get(i)));
pr.print(sCases);
}
pr.close();
}
private static int getLIS(ArrayList<Integer> misilsTest) {
int n = misilsTest.size();
int[] sizes = new int[n];
int maxLength = 1;
for(int i = 0; i < n; i++)
sizes[i] = 1;
for(int i = 1; i < n; i++)
for(int j = 0; j < i; j++)
if(misilsTest.get(i) < misilsTest.get(j) && sizes[i] < sizes[j]+1) {
sizes[i] = sizes[j]+1;
if(maxLength < sizes[i])
maxLength = sizes[i];
}
return maxLength;
}
}