#include #include #include #include #include #include #include #define ll long long int const N = 100005; int const M = 205; int const INF = 0x3f3f3f3f; ll const mod = 1000000007; using namespace std; int n,m; map mp; inline int read() { char ch; bool flag = false; int a = 0; while(!((((ch = getchar()) >= '0') && (ch <= '9')) || (ch == '-'))); if(ch != '-') { a *= 10; a += ch - '0'; } else { flag = true; } while(((ch = getchar()) >= '0') && (ch <= '9')) { a *= 10; a += ch - '0'; } if(flag) { a = -a; } return a; } void write(int a) { if(a < 0) { putchar('-'); a = -a; } if(a >= 10) { write(a / 10); } putchar(a % 10 + '0'); } void ini() { mp.clear(); int i; int h; for(i=1;i<=n;i++){ h=read(); mp[h]++; } } void solve() { int q; while(m--){ q=read(); if(mp.count(q)==0){ write(0); putchar('\n'); } else{ write(mp[q]); putchar('\n'); mp[q]=0; } } } void out() { } int main() { //freopen("data.in","r",stdin); //scanf("%d",&T); //for(int cnt=1;cnt<=T;cnt++) //while(T--) while(scanf("%d%d",&n,&m)!=EOF) { ini(); solve(); out(); } }