#include <string>
#include <vector>
#include <map>

using namespace std;

vector<string> solution(vector<string> players, vector<string> callings) {
    vector<string> answer;

    map<string, int> playerC;     
    map<int, string> playerN;
    
    for(int i=0; i<players.size(); i++){
        playerC[players[i]] = i;
        playerN[i] = players[i];
    }
    
    for(int i=0; i<callings.size(); i++){
        int idx = playerC[callings[i]];
        string temp = playerN[idx - 1];
        playerC[callings[i]] = idx - 1;
        playerC[temp] = idx;
        playerN[idx - 1] = callings[i];
        playerN[idx] = temp;
    }
    
    for(auto c : playerN) answer.push_back(c.second);
    return answer;
}