#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const int maxSize = 1 << 16;
map<string, int> t;
int a[maxSize];
vector<string> s;
vector<vector<int> > v;
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  v.resize(n);
  s.resize(n);
  for (int i = 0; i < n; i++) {
    cin >> s[i];
    t[s[i]] = i;
  }
  for (int i = 0; i < k; i++) {
    string s1, s2;
    cin >> s1 >> s2;
    int x, y;
    x = t[s1], y = t[s2];
    v[x].push_back(y);
    v[y].push_back(x);
  }
  int res = 0, ans = 0;
  for (int i = 0; i < maxSize; i++) {
    int cnt = 0;
    for (int j = 0; j < n; j++)
      if (i & (1 << j)) cnt++;
    for (int j = 0; j < n; j++)
      if (i & (1 << j))
        for (int x = 0; x < v[j].size(); x++)
          if (i & (1 << v[j][x])) {
            cnt = 0;
            break;
          }
    if (cnt > ans) res = i, ans = cnt;
  }
  printf("%d\n", ans);
  set<string> st;
  for (int i = 0; i < n; i++)
    if (res & (1 << i)) st.insert(s[i]);
  for (auto e : st) cout << e << endl;
  return 0;
}
