#include <bits/stdc++.h>
using namespace std;
#define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define int long long
#define pb push_back
#define ff first
#define ss second
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) ((int)(x).size())
#define endl '\n'
#define yes cout << "yes\n"
#define no cout << "no\n"
#define rep(i,a,b) for (int i = (a); i < (b); ++i)
#define per(i,a,b) for (int i = (b) - 1; i >= (a); --i)
#define each(x, a) for (auto &x : (a))
struct Fenwick {
int n;
vector<int> bit;
Fenwick(int _n) {
n = _n;
bit.assign(n + 1, 0);
}
void add(int i, int v) {
for (; i <= n; i += i & -i) bit[i] += v;
}
int sum(int i) {
int s = 0;
for (; i > 0; i -= i & -i) s += bit[i];
return s;
}
};
void solve() {
int n, q;
cin >> n >> q;
vector<int> a(n), t(q);
rep(i,0,n) cin >> a[i];
rep(j,0,q) cin >> t[j];
int S = n + q + 5;
Fenwick fw(S);
unordered_map<int,int> pos;
rep(i,0,n) {
int p = q + i + 1;
pos[a[i]] = p;
fw.add(p, 1);
}
int curFront = q;
vector<int> b;
b.reserve(q);
rep(j,0,q) {
int x = t[j];
int p = pos[x];
int ans = fw.sum(p);
b.pb(ans);
fw.add(p, -1);
fw.add(curFront, 1);
pos[x] = curFront;
curFront--;
}
each(x, b) cout << x << " ";
cout << endl;
}
int32_t main() {
fast_io;
int t = 1;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZhc3RfaW8gaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApCgojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIGFsbCh4KSAoeCkuYmVnaW4oKSwgKHgpLmVuZCgpCiNkZWZpbmUgcmFsbCh4KSAoeCkucmJlZ2luKCksICh4KS5yZW5kKCkKI2RlZmluZSBzeih4KSAoKGludCkoeCkuc2l6ZSgpKQojZGVmaW5lIGVuZGwgJ1xuJwojZGVmaW5lIHllcyBjb3V0IDw8ICJ5ZXNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJub1xuIgoKI2RlZmluZSByZXAoaSxhLGIpIGZvciAoaW50IGkgPSAoYSk7IGkgPCAoYik7ICsraSkKI2RlZmluZSBwZXIoaSxhLGIpIGZvciAoaW50IGkgPSAoYikgLSAxOyBpID49IChhKTsgLS1pKQojZGVmaW5lIGVhY2goeCwgYSkgZm9yIChhdXRvICZ4IDogKGEpKQoKc3RydWN0IEZlbndpY2sgewogICAgaW50IG47CiAgICB2ZWN0b3I8aW50PiBiaXQ7CiAgICBGZW53aWNrKGludCBfbikgewogICAgICAgIG4gPSBfbjsKICAgICAgICBiaXQuYXNzaWduKG4gKyAxLCAwKTsKICAgIH0KICAgIHZvaWQgYWRkKGludCBpLCBpbnQgdikgewogICAgICAgIGZvciAoOyBpIDw9IG47IGkgKz0gaSAmIC1pKSBiaXRbaV0gKz0gdjsKICAgIH0KICAgIGludCBzdW0oaW50IGkpIHsKICAgICAgICBpbnQgcyA9IDA7CiAgICAgICAgZm9yICg7IGkgPiAwOyBpIC09IGkgJiAtaSkgcyArPSBiaXRbaV07CiAgICAgICAgcmV0dXJuIHM7CiAgICB9Cn07Cgp2b2lkIHNvbHZlKCkgewogICAgaW50IG4sIHE7CiAgICBjaW4gPj4gbiA+PiBxOwoKICAgIHZlY3RvcjxpbnQ+IGEobiksIHQocSk7CiAgICByZXAoaSwwLG4pIGNpbiA+PiBhW2ldOwogICAgcmVwKGosMCxxKSBjaW4gPj4gdFtqXTsKCiAgICBpbnQgUyA9IG4gKyBxICsgNTsKICAgIEZlbndpY2sgZncoUyk7CiAgICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+IHBvczsKCiAgICByZXAoaSwwLG4pIHsKICAgICAgICBpbnQgcCA9IHEgKyBpICsgMTsKICAgICAgICBwb3NbYVtpXV0gPSBwOwogICAgICAgIGZ3LmFkZChwLCAxKTsKICAgIH0KCiAgICBpbnQgY3VyRnJvbnQgPSBxOwogICAgdmVjdG9yPGludD4gYjsKICAgIGIucmVzZXJ2ZShxKTsKCiAgICByZXAoaiwwLHEpIHsKICAgICAgICBpbnQgeCA9IHRbal07CiAgICAgICAgaW50IHAgPSBwb3NbeF07CiAgICAgICAgaW50IGFucyA9IGZ3LnN1bShwKTsKICAgICAgICBiLnBiKGFucyk7CiAgICAgICAgZncuYWRkKHAsIC0xKTsKICAgICAgICBmdy5hZGQoY3VyRnJvbnQsIDEpOwogICAgICAgIHBvc1t4XSA9IGN1ckZyb250OwogICAgICAgIGN1ckZyb250LS07CiAgICB9CgogICAgZWFjaCh4LCBiKSBjb3V0IDw8IHggPDwgIiAiOwogICAgY291dCA8PCBlbmRsOwp9CgppbnQzMl90IG1haW4oKSB7CiAgICBmYXN0X2lvOwogICAgaW50IHQgPSAxOwogICAgd2hpbGUgKHQtLSkgc29sdmUoKTsKICAgIHJldHVybiAwOwp9Cg==