public static void main(String[] args) {
FastReader scn = new FastReader();
int n = scn.nextInt();
int m = scn.nextInt();
ArrayList<Long> tickets = new ArrayList<>();
ArrayList<Long> max_price = new ArrayList<>();
for (int l = 0; l < n; l++) {
tickets.add(scn.nextLong());
}
for (int l = 0; l < m; l++) {
max_price.add(scn.nextLong());
}
Collections.sort(tickets);
for (int i = 0; i < m; i++) {
int index = 0;
int answer = search(max_price.get(i), tickets, index);
if (answer == -1) {
System.out.println(-1);
} else {
System.out.println(tickets.get(answer));
tickets.remove(answer);
}
}
}
static int search(long val , ArrayList<Long> al , int index) {
int i = -1;
int j = al.size();
while (i < j - 1) {
int mid = (i + j) / 2;
if (al.get(mid) > val ) {
j = mid;
} else {
i = mid;
}
}
return i;
}