#include <bits/stdc++.h>
using namespace std;
#define ms(s,n) memset(s,n,sizeof(s))
#define all(a) a.begin(),a.end()
#define present(t, x) (t.find(x) != t.end())
#define sz(a) int((a).size())
#define FOR(i, a, b) for (int i = (a); i < (b); ++i)
#define FORd(i, a, b) for (int i = (a) - 1; i >= (b); --i)
#define pb push_back
#define pf push_front
#define fi first
#define se second
#define mp make_pair
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<int,int> pi;
typedef vector<int> vi;
typedef vector<pi> vii;
const int MOD = (int) 1e9+7;
const int INF = (int) 1e9+1;
inline ll gcd(ll a,ll b){ll r;while(b){r=a%b;a=b;b=r;}return a;}
inline ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
int solve(int a[], int l, int r, int x){
int res = - 1;
while(l <= r){
int m = (l + r) / 2;
if(a[m] <= x){
res = a[m];
l = m + 1;
}
else{
r = m - 1;
}
}
return res;
}
void TC(){
int n, m; cin >> n >> m;
multiset<int> ms;
for(int i = 0; i < n; i++){
int x; cin >> x;
ms.insert(x);
}
for(int i = 0; i < m; i++){
int x; cin >> x;
auto it = ms.upper_bound(x);
if(it==ms.begin()){
cout <<"-1\n";
}
else{
int x = *(--it);
cout << x << endl;
ms.erase(it);
}
}
}
int main(){
//freopen("input.txt","r", stdin);
//freopen("output.txt","w",stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t; t = 1;
while(t--){
TC();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKI2RlZmluZSBtcyhzLG4pIG1lbXNldChzLG4sc2l6ZW9mKHMpKQojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksYS5lbmQoKQojZGVmaW5lIHByZXNlbnQodCwgeCkgKHQuZmluZCh4KSAhPSB0LmVuZCgpKQojZGVmaW5lIHN6KGEpIGludCgoYSkuc2l6ZSgpKQojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IgKGludCBpID0gKGEpOyBpIDwgKGIpOyArK2kpCiNkZWZpbmUgRk9SZChpLCBhLCBiKSBmb3IgKGludCBpID0gKGEpIC0gMTsgaSA+PSAoYik7IC0taSkKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBwZiBwdXNoX2Zyb250CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBtcCBtYWtlX3BhaXIKIAp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgdWxsOwp0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwp0eXBlZGVmIHBhaXI8aW50LGludD4gcGk7CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgdmVjdG9yPHBpPiB2aWk7CiAKY29uc3QgaW50IE1PRCA9IChpbnQpIDFlOSs3Owpjb25zdCBpbnQgSU5GID0gKGludCkgMWU5KzE7CmlubGluZSBsbCBnY2QobGwgYSxsbCBiKXtsbCByO3doaWxlKGIpe3I9YSViO2E9YjtiPXI7fXJldHVybiBhO30KaW5saW5lIGxsIGxjbShsbCBhLGxsIGIpe3JldHVybiBhL2djZChhLGIpKmI7fQogCmludCBzb2x2ZShpbnQgYVtdLCBpbnQgbCwgaW50IHIsIGludCB4KXsKCWludCByZXMgPSAtIDE7Cgl3aGlsZShsIDw9IHIpewoJCWludCBtID0gKGwgKyByKSAvIDI7CgkJaWYoYVttXSA8PSB4KXsKCQkJcmVzID0gYVttXTsKCQkJbCA9IG0gKyAxOwoJCX0KCQllbHNlewoJCQlyID0gbSAtIDE7CgkJfQoJfQoJcmV0dXJuIHJlczsKfQogCiAKdm9pZCBUQygpewoJaW50IG4sIG07IGNpbiA+PiBuID4+IG07CgltdWx0aXNldDxpbnQ+IG1zOwoJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CgkJaW50IHg7IGNpbiA+PiB4OwoJCW1zLmluc2VydCh4KTsKCX0KCWZvcihpbnQgaSA9IDA7IGkgPCBtOyBpKyspewoJCWludCB4OyBjaW4gPj4geDsKCQlhdXRvIGl0ID0gbXMudXBwZXJfYm91bmQoeCk7CgkJaWYoaXQ9PW1zLmJlZ2luKCkpewoJCQljb3V0IDw8Ii0xXG4iOwoJCX0KCQllbHNlewoJCQlpbnQgeCA9ICooLS1pdCk7CgkJCWNvdXQgPDwgeCA8PCBlbmRsOwoJCQltcy5lcmFzZShpdCk7CgkJfQoJfQp9CiAKaW50IG1haW4oKXsKCS8vZnJlb3BlbigiaW5wdXQudHh0IiwiciIsIHN0ZGluKTsKCS8vZnJlb3Blbigib3V0cHV0LnR4dCIsInciLHN0ZG91dCk7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKG51bGxwdHIpOwoJaW50IHQ7IHQgPSAxOwoJd2hpbGUodC0tKXsKCQlUQygpOwoJfQp9