#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N, M;
vector<string> v1, v2;
int main()
{
cin >> N >> M;
for (int i=0; i<N; i++)
{
string name;
cin >> name;
v1.push_back(name);
} // 듣도 못한 입력
for (int i=0; i<M; i++)
{
string name;
cin >> name;
v2.push_back(name);
} // 보도 못한 입력
sort(v1.begin(), v1.end());
v1.erase(unique(v1.begin(), v1.end()), v1.end()); // v1 중복 제거
sort(v2.begin(), v2.end());
v2.erase(unique(v2.begin(), v2.end()), v2.end()); // v2 중복 제거
v1.insert(v1.end(), v2.begin(), v2.end()); // v1에 v2 합칙기
sort(v1.begin(), v1.end());
v1.erase(v1.begin(), unique(v1.begin(), v1.end())); // 중복되지 않는 것 제거
sort(v1.begin(), v1.end()); // 재정렬
cout << v1.size() << endl;
for (string name : v1)
cout << name << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBOLCBNOwp2ZWN0b3I8c3RyaW5nPiB2MSwgdjI7CgppbnQgbWFpbigpCnsKICAgIGNpbiA+PiBOID4+IE07CgogICAgZm9yIChpbnQgaT0wOyBpPE47IGkrKykKICAgIHsKICAgICAgICBzdHJpbmcgbmFtZTsKICAgICAgICBjaW4gPj4gbmFtZTsKCiAgICAgICAgdjEucHVzaF9iYWNrKG5hbWUpOwogICAgfSAgIC8vIOuTo+uPhCDrqrvtlZwg7J6F66ClCgogICAgZm9yIChpbnQgaT0wOyBpPE07IGkrKykKICAgIHsKICAgICAgICBzdHJpbmcgbmFtZTsKICAgICAgICBjaW4gPj4gbmFtZTsKCiAgICAgICAgdjIucHVzaF9iYWNrKG5hbWUpOwogICAgfSAgIC8vIOuztOuPhCDrqrvtlZwg7J6F66ClCgogICAgc29ydCh2MS5iZWdpbigpLCB2MS5lbmQoKSk7CiAgICB2MS5lcmFzZSh1bmlxdWUodjEuYmVnaW4oKSwgdjEuZW5kKCkpLCB2MS5lbmQoKSk7ICAgLy8gdjEg7KSR67O1IOygnOqxsAoKICAgIHNvcnQodjIuYmVnaW4oKSwgdjIuZW5kKCkpOwogICAgdjIuZXJhc2UodW5pcXVlKHYyLmJlZ2luKCksIHYyLmVuZCgpKSwgdjIuZW5kKCkpOyAgIC8vIHYyIOykkeuztSDsoJzqsbAKCiAgICB2MS5pbnNlcnQodjEuZW5kKCksIHYyLmJlZ2luKCksIHYyLmVuZCgpKTsgICAgICAvLyB2MeyXkCB2MiDtlansuZnquLAKCiAgICBzb3J0KHYxLmJlZ2luKCksIHYxLmVuZCgpKTsKICAgIHYxLmVyYXNlKHYxLmJlZ2luKCksIHVuaXF1ZSh2MS5iZWdpbigpLCB2MS5lbmQoKSkpOyAgICAgLy8g7KSR67O165CY7KeAIOyViuuKlCDqsoMg7KCc6rGwCiAgICBzb3J0KHYxLmJlZ2luKCksIHYxLmVuZCgpKTsgICAgICAgIC8vIOyerOygleugrAoKICAgIGNvdXQgPDwgdjEuc2l6ZSgpIDw8IGVuZGw7CiAgICBmb3IgKHN0cmluZyBuYW1lIDogdjEpCiAgICAgICAgY291dCA8PCBuYW1lIDw8ICdcbic7CgogICAgcmV0dXJuIDA7Cn0K