#include<bits/stdc++.h>
#include <vector>
#include <set>
using namespace std;
int find(set<int>& nums, int num);
int main(){
set<int>s;
//write your code here......
int n, m;
cin >> n >> m;
// vector<int> reference;
set<int> nums;
while(n--) {
int tmp;
cin >> tmp;
nums.insert(tmp);
}
while(m--) {
int tmp;
cin >> tmp;
// upper_bound()函数
if(nums.upper_bound(tmp) != nums.end())
cout << *nums.upper_bound(tmp) << endl;
else
cout << -1 << endl;
}
return 0;
}
// int find(set<int>& nums, int num) {
// // 顺序查找 超时
// for(auto v : nums) {
// if(v > num) {
// return v;
// }
// }
// // 二分查找
// if(nums.upper_bound(num)){
// return nums.upper_bound(num);
// }
// return -1;
// }