Radar Scanner
时间限制:C/C++/Rust/Pascal 4秒,其他语言8秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

A military manoeuvre is going on a two-dimension Cartesian plane and n enemy targets are hiding somewhere.

Our troops has occupied a radar station located at the origin, and they realize that the radar scanner in the radar station can instruct the exact locations of the enemy targets in an open half-plane, where the boundary passes through the radar station.

Every time when the radar scanner shows some locations of the exposed enemy targets, Little Q, the commander of our troops, would like to know the minimum area of the convex polygon such that each exposed enemy target lies either on the boundary of the polygon or inside it, so that he can estimate the price to surround all the exposed enemy targets.

输入描述:

The first line of the input contains two integers n  and q , indicating the number of enemy targets and the number of times the radar scanner shows some locations of the exposed enemy targets.

Each of the following n lines contains two integers x and y , indicating an enemy target located at coordinate (x,y).

Each of the following q lines contains two integers a and b , indicating that an enemy target located at coordinate (x,y) that satisfies will be exposed during the radar scan. Since it is a military manoeuvre, the exposed enemy targets will not be eliminated after the radar scan.

输出描述:

Output q lines, each of which contains a single integer, indicating two times the minimum area of the desired convex polygon during the radar scan.
示例1

输入

复制
7 6
0 0
0 1
0 2
1 0
1 0
1 1
-1 0
0 1
1 0
1 1
0 -1
-1 2
-1 -1

输出

复制
1
0
2
0
3
0