메가노미노

시간 제한1초메모리 제한128 MB

문제

메가노미노는 양 끝이 있는 타일이며, 각 끝에는 점의 개수가 표시되어 있습니다. 각 끝의 점은 $0$개부터 $10^9$개까지 가능합니다. 이 퍼즐에서는 두 개의 메가노미노를 나란히 놓아, 한 타일의 한 끝이 다른 타일의 한 끝과 맞닿게 합니다. 맞닿는 두 끝의 점 개수는 서로 같아야 합니다. 또한 맞닿지 않는 반대쪽 두 끝의 점 개수의 합이 주어진 수 $i$와 같아야 합니다.

각 질의 값 $i$에 대해, 이렇게 배치할 수 있는 타일 쌍이 몇 개인지 세세요.

입력

첫 번째 줄에는 두 정수 $n$과 $m$ ($0 < n < 10000$, $0 < m \le 100$)이 주어집니다. 각각 메가노미노 타일의 개수와 질의의 개수입니다. 다음 $n$개의 줄에는 각 타일의 두 끝에 있는 점의 개수를 나타내는 두 정수가 주어집니다. 완전히 같은 타일은 두 개 이상 존재하지 않습니다. 이어지는 $m$개의 줄에는 각각 하나의 질의 값 $i$가 주어집니다.

출력

질의마다 한 줄씩, 주어진 순서대로 $m$개의 줄을 출력합니다. 각 줄에는, 두 타일의 맞닿는 끝의 점 개수가 서로 같고 맞닿지 않는 반대쪽 두 끝의 점 개수의 합이 $i$가 되도록 놓을 수 있는, 서로 다른 두 타일로 이루어진 (순서를 구분하지 않는) 쌍의 개수를 정수 하나로 출력하세요. 한 쌍의 두 타일은 반드시 서로 달라야 하며, 같은 타일을 두 번 쓸 수 없습니다.