// elozesek.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <map>
#include <vector>
using namespace std;
using ll = long long;
int main()
{
ll size, queries;
cin >> size >> queries;
map<ll, ll> pos;
vector<ll> vec(size);
for (ll i = 0; i < size; i++)
{
ll next;
cin >> next;
vec[i] = next;
pos[next] = i;
}
ll maximum = -1;
ll maximumNum = -1;
map<ll, ll> m;
for (ll i = 0; i < queries; i++)
{
ll next;
cin >> next;
ll index = pos[next];
ll previous = vec[index - 1];
m[previous]++;
if (m[previous] >= maximum)
{
if (m[previous] > maximum)
{
maximum = m[previous];
maximumNum = previous;
}
else if (m[previous] == maximum && previous < maximumNum)
{
maximumNum = previous;
}
}
vec[index - 1] = next;
vec[index] = previous;
pos[next]--;
pos[previous]++;
cout << maximumNum << "\n";
}
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file