#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;
}