#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mp make_pair
#define mogaAc ios_base::sync_with_stdio(false);
#define fi first
#define nd second
// OSNP B4 2023
// Dengan Perflix sum & Binserach
// observasi:
// 1. bikin perflix sum array, untuk mempermudah perhitungan dan kompleksitas
// 2. untuk start, lakukan dari awal letak x berada, lalu semakin mundur (gunain lowerbound)
// jika semakin mundur, dan jaraknya sudah tidak cukup. maka stop
// Kompleksitas O(NlogN)
// Ide untuk Jalan Tol Menuju Roma
// 1. Bfs tanpa tol (cek siapa tau tanpa melalui tol, bisa lebih cepat)
// 2. Bfs , kalau kena tol. langsung pakai (lalu bandingin)
bool visited[200005];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
vector<int> arr;
int a, b;
cin >> a >> b;
for (int i = 0; i < a; i++)
{
int h;
cin >> h;
arr.pb(h);
}
sort(arr.begin(), arr.end());
for (int i = 0; i < b; i++)
{
int t;
cin >> t;
int index = upper_bound(arr.begin(), arr.end(), t) - arr.begin();
while (index > 0 && (arr[index - 1] > t || visited[index - 1]))
{
index--;
}
if (index != 0)
{
cout << arr[index - 1] << endl;
visited[index - 1] = true;
}
else
{
cout << -1 << endl;
}
}
return 0;
}
// int main()
// {
// vector<int> a;
// a.pb(4);
// a.pb(6);
// a.pb(8);
// a.pb(7);
// sort(a.begin(), a.end());
// int letak = upper_bound(a.begin(), a.end(), 6) - a.begin();
// cout << letak << endl;
// }
// arrayy------------------------------------------------------
// buat ngecek array 1 apakah sama dengan array 2:
// bool sama = equal(arr, arr + size, arr1);
// buat ngecek besar dari array:
// int size = sizeof(arr) / sizeof(arr[0]);
// indexke LowerBound/upperbound
// auto it = upper_bound(arr.begin(), arr.end(), x);
// int index = distance(arr.begin(), it);
// cara cepet buat sorting-------------------------------------
// dari kecil ke besar : sort(arr.begin(), arr.end());
// dari besar ke kecil : sort(arr.begin(), arr.end(), greater<int>());
// logaritma
// anggap a=base, b=yang ingin di log, seperti logA (B)
// rumus : log(b)/log(a)
// Statitiska
// menghitung rata rata data tambahan baru
// R0 * (S0/S1) + (Data baru)/S1
// R = Rata rata
// S = Banyak data
// 0 = yang lama
// 1 = yang baru
// ArrayGACORBINSERT (KALAU ELEMENTNYA CUMA 1)
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBtb2dhQWMgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBuZCBzZWNvbmQKLy8gT1NOUCBCNCAyMDIzCi8vICBEZW5nYW4gUGVyZmxpeCBzdW0gJiBCaW5zZXJhY2gKLy8gIG9ic2VydmFzaToKLy8gIDEuIGJpa2luIHBlcmZsaXggc3VtIGFycmF5LCB1bnR1ayBtZW1wZXJtdWRhaCBwZXJoaXR1bmdhbiBkYW4ga29tcGxla3NpdGFzCi8vICAyLiB1bnR1ayBzdGFydCwgbGFrdWthbiBkYXJpIGF3YWwgbGV0YWsgeCBiZXJhZGEsIGxhbHUgc2VtYWtpbiBtdW5kdXIgKGd1bmFpbiBsb3dlcmJvdW5kKQovLyAgamlrYSBzZW1ha2luIG11bmR1ciwgZGFuIGphcmFrbnlhIHN1ZGFoIHRpZGFrIGN1a3VwLiBtYWthIHN0b3AKLy8gS29tcGxla3NpdGFzIE8oTmxvZ04pCgovLyBJZGUgdW50dWsgSmFsYW4gVG9sIE1lbnVqdSBSb21hCi8vIDEuIEJmcyB0YW5wYSB0b2wgKGNlayBzaWFwYSB0YXUgdGFucGEgbWVsYWx1aSB0b2wsIGJpc2EgbGViaWggY2VwYXQpCi8vIDIuIEJmcyAsIGthbGF1IGtlbmEgdG9sLiBsYW5nc3VuZyBwYWthaSAobGFsdSBiYW5kaW5naW4pCmJvb2wgdmlzaXRlZFsyMDAwMDVdOwppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKE5VTEwpOwogICAgdmVjdG9yPGludD4gYXJyOwogICAgaW50IGEsIGI7CiAgICBjaW4gPj4gYSA+PiBiOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhOyBpKyspCiAgICB7CiAgICAgICAgaW50IGg7CiAgICAgICAgY2luID4+IGg7CiAgICAgICAgYXJyLnBiKGgpOwogICAgfQogICAgc29ydChhcnIuYmVnaW4oKSwgYXJyLmVuZCgpKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYjsgaSsrKQogICAgewogICAgICAgIGludCB0OwogICAgICAgIGNpbiA+PiB0OwogICAgICAgIGludCBpbmRleCA9IHVwcGVyX2JvdW5kKGFyci5iZWdpbigpLCBhcnIuZW5kKCksIHQpIC0gYXJyLmJlZ2luKCk7CiAgICAgICAgd2hpbGUgKGluZGV4ID4gMCAmJiAoYXJyW2luZGV4IC0gMV0gPiB0IHx8IHZpc2l0ZWRbaW5kZXggLSAxXSkpCiAgICAgICAgewogICAgICAgICAgICBpbmRleC0tOwogICAgICAgIH0KCiAgICAgICAgaWYgKGluZGV4ICE9IDApCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IGFycltpbmRleCAtIDFdIDw8IGVuZGw7CiAgICAgICAgICAgIHZpc2l0ZWRbaW5kZXggLSAxXSA9IHRydWU7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgLTEgPDwgZW5kbDsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQovLyBpbnQgbWFpbigpCi8vIHsKLy8gICAgIHZlY3RvcjxpbnQ+IGE7Ci8vICAgICBhLnBiKDQpOwovLyAgICAgYS5wYig2KTsKLy8gICAgIGEucGIoOCk7Ci8vICAgICBhLnBiKDcpOwovLyAgICAgc29ydChhLmJlZ2luKCksIGEuZW5kKCkpOwovLyAgICAgaW50IGxldGFrID0gdXBwZXJfYm91bmQoYS5iZWdpbigpLCBhLmVuZCgpLCA2KSAtIGEuYmVnaW4oKTsKLy8gICAgIGNvdXQgPDwgbGV0YWsgPDwgZW5kbDsKLy8gfQoKLy8gYXJyYXl5LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vICBidWF0IG5nZWNlayBhcnJheSAxIGFwYWthaCBzYW1hIGRlbmdhbiBhcnJheSAyOgovLyAgIGJvb2wgc2FtYSA9IGVxdWFsKGFyciwgYXJyICsgc2l6ZSwgYXJyMSk7Ci8vICAgYnVhdCBuZ2VjZWsgYmVzYXIgZGFyaSBhcnJheToKLy8gICBpbnQgc2l6ZSA9IHNpemVvZihhcnIpIC8gc2l6ZW9mKGFyclswXSk7Ci8vIGluZGV4a2UgTG93ZXJCb3VuZC91cHBlcmJvdW5kCi8vIGF1dG8gaXQgPSB1cHBlcl9ib3VuZChhcnIuYmVnaW4oKSwgYXJyLmVuZCgpLCB4KTsKLy8gaW50IGluZGV4ID0gZGlzdGFuY2UoYXJyLmJlZ2luKCksIGl0KTsKLy8gY2FyYSBjZXBldCBidWF0IHNvcnRpbmctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vIGRhcmkga2VjaWwga2UgYmVzYXIgOiBzb3J0KGFyci5iZWdpbigpLCBhcnIuZW5kKCkpOwovLyBkYXJpIGJlc2FyIGtlIGtlY2lsIDogc29ydChhcnIuYmVnaW4oKSwgYXJyLmVuZCgpLCBncmVhdGVyPGludD4oKSk7Ci8vIGxvZ2FyaXRtYQovLyBhbmdnYXAgYT1iYXNlLCBiPXlhbmcgaW5naW4gZGkgbG9nLCBzZXBlcnRpIGxvZ0EgKEIpCi8vIHJ1bXVzIDogbG9nKGIpL2xvZyhhKQovLyBTdGF0aXRpc2thCi8vIG1lbmdoaXR1bmcgcmF0YSByYXRhIGRhdGEgdGFtYmFoYW4gYmFydQovLyBSMCAqIChTMC9TMSkgKyAoRGF0YSBiYXJ1KS9TMQovLyBSID0gUmF0YSByYXRhCi8vIFMgPSBCYW55YWsgZGF0YQovLyAwID0geWFuZyBsYW1hCi8vIDEgPSB5YW5nIGJhcnUKLy8gQXJyYXlHQUNPUkJJTlNFUlQgKEtBTEFVIEVMRU1FTlROWUEgQ1VNQSAxKQ==