import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

/**
* Created by 莫文龙 on 2018/3/27.
*/
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s1 = br.readLine();
String[] split = s1.split(" ");
HashMap<Integer, Integer> map = new HashMap<>();
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0 ; i < Integer.parseInt(split[0]) ; i ++) {
String sn = br.readLine();
//报酬为key
map.put(Integer.parseInt(sn.split(" ")[1]),Integer.parseInt(sn.split(" ")[0]));
}
String s = br.readLine();
String[] split1 = s.split(" ");
for (int i = 0 ; i < split1.length ; i ++) list.add(Integer.parseInt(split1[i]));
//比较
for (int i = 0 ; i < list.size() ; i ++) {
//工作能力
Integer integer = list.get(i);
Set<Integer> integers = map.keySet();
//最大工资
int max = 0;
//key是薪资,value是难度
for (Integer iii :integers) {
if (map.get(iii) <= integer && iii > max) max = iii;
}
System.out.println(max);
max = 0;
}
}
}