import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import static java.util.Collections.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
HashSet<String> hash = new HashSet<>();
List<String> list = new ArrayList<>();
for (int i = 0 ; i < N; i++)
{
hash.add(br.readLine());
}
for (int j = 0 ; j < M; j++)
{
String word = br.readLine();
if (hash.contains(word) )
{
list.add(word);
}
}
Collections.sort(list);
System.out.println(list.size());
for (String s : list) {
System.out.println(s);
}
}
}
이전에 풀어서 그런지 잘풀렸다.