/*
* UVa 10066 - The Twin Towers
* */
import java.util.Scanner;
class TheTwinTowers {
public static void main(String[] args) {
int n1, n2;
Scanner scanner = new Scanner(System.in);
int count = 0;
while ((n1 = scanner.nextInt()) != 0 && (n2 = scanner.nextInt()) != 0) {
count++;
int[] x = new int[n1 + 1];
int[] y = new int[n2 + 1];
for (int i = 1; i <= n1; i++)
x[i] = scanner.nextInt();
for (int i = 1; i <= n2; i++)
y[i] = scanner.nextInt();
int[][] c = new int[n1 + 1][n2 + 1];
for (int i = 1; i <= n1; i++) {
for (int j = 1; j <= n2; j++) {
if (x[i] == y[j])
c[i][j] = c[i - 1][j - 1] + 1;
else if (c[i - 1][j] >= c[i][j - 1])
c[i][j] = c[i - 1][j];
else
c[i][j] = c[i][j - 1];
}
}
System.out.println("Twin Towers #" + count);
System.out.println("Number of Tiles : " + c[n1][n2]);
System.out.println();
}
}
}