A flowerbed has many flowers and two fountains.

You can adjust the water pressure and set any values *r*_{1}(*r*_{1} ≥ 0) and *r*_{2}(*r*_{2} ≥ 0), giving the distances at which the water is spread from the first and second fountain respectively. You have to set such *r*_{1} and *r*_{2} that all the flowers are watered, that is, for each flower, the distance between the flower and the first fountain doesn't exceed *r*_{1}, or the distance to the second fountain doesn't exceed *r*_{2}. It's OK if some flowers are watered by both fountains.

You need to decrease the amount of water you need, that is set such *r*_{1} and *r*_{2} that all the flowers are watered and the *r*_{1}^{2} + *r*_{2}^{2} is minimum possible. Find this minimum value.

The first line of the input contains integers *n*, *x*_{1}, *y*_{1}, *x*_{2}, *y*_{2} (1 ≤ *n* ≤ 2000, - 10^{7} ≤ *x*_{1}, *y*_{1}, *x*_{2}, *y*_{2} ≤ 10^{7}) — the number of flowers, the coordinates of the first and the second fountain.

Next follow *n* lines. The *i*-th of these lines contains integers *x*_{i} and *y*_{i} ( - 10^{7} ≤ *x*_{i}, *y*_{i} ≤ 10^{7}) — the coordinates of the *i*-th flower.

It is guaranteed that all *n* + 2 points in the input are distinct.

Print the minimum possible value *r*_{1}^{2} + *r*_{2}^{2}. Note, that in this problem optimal answer is always integer.

提交代码