#include <iostream>
#include <list>
#include <string>
#include <unordered_map>
int main() {
int n, m;
std::cin >> n >> m;
std::list<std::string> l;
std::unordered_map<std::string, std::list<std::string>::iterator> it_map;
std::string name, name2;
while (n--) {
std::cin >> name;
l.push_back(name);
auto it = l.end();
--it;
it_map.emplace(name, it);
}
while (m--) {
std::cin >> name >> name2;
auto it = it_map.at(name);
l.erase(it);
it_map.erase(name);
auto it2 = it_map.at(name2);
l.insert(it2, name);
it_map.emplace(name, --it2);
}
for (const std::string &s : l)
std::cout << s << " ";
std::cout << std::endl;
}