Berlanders like to eat cones after a hard day. Misha Square and Sasha Circle are local authorities of Berland. Each of them controls its points of cone trade. Misha has *n* points, Sasha — *m*. Since their subordinates constantly had conflicts with each other, they decided to build a fence in the form of a circle, so that the points of trade of one businessman are strictly inside a circle, and points of the other one are strictly outside. It doesn't matter which of the two gentlemen will have his trade points inside the circle.

Determine whether they can build a fence or not.
The first line contains two integers *n* and *m* (1 ≤ *n*, *m* ≤ 10000), numbers of Misha's and Sasha's trade points respectively.

The next *n* lines contains pairs of space-separated integers *M*<sub class="lower-index">*x*</sub>, *M*<sub class="lower-index">*y*</sub> ( - 10<sup class="upper-index">4</sup> ≤ *M*<sub class="lower-index">*x*</sub>, *M*<sub class="lower-index">*y*</sub> ≤ 10<sup class="upper-index">4</sup>), coordinates of Misha's trade points.

The next *m* lines contains pairs of space-separated integers *S*<sub class="lower-index">*x*</sub>, *S*<sub class="lower-index">*y*</sub> ( - 10<sup class="upper-index">4</sup> ≤ *S*<sub class="lower-index">*x*</sub>, *S*<sub class="lower-index">*y*</sub> ≤ 10<sup class="upper-index">4</sup>), coordinates of Sasha's trade points.

It is guaranteed that all *n* + *m* points are distinct.
nm = input()
nOm = nm.split()
n = int(nOm[0])
m = int(nOm[1])
a = []
b = []

for i in range(0, n): 
    pair = input().split()
    pair[0] = int(pair[0]) * n * m;
    pair[1] = int(pair[1]) * n * m;
    a.append(pair);

for i in range(0, m): 
    pair = input().split()
    pair[0] = int(pair[0]) * n * m;
    pair[1] = int(pair[1]) * n * m;
    b.append(pair);
    
cxn = 0; cyn = 0;
cxm = 0; cym = 0;

for i in range(0, n):
    cxn = cxn + int(a[i][0] / n);
    cyn = cyn + int(a[i][1] / n);
    
   
for j in range(0, m):
    cxm = cxm + int(b[j][0] / m);
    cym = cym + int(b[j][1] / m);
    
mxn = mxm = 0;
mnn = mnm = 1000000000000000000000;

def dist(x1, y1, x2, y2):
    return (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)
    
for i in range(0, n):
    mxn = max(mxn, dist(cxn, cyn, a[i][0], a[i][1]))
    mnn = min(mnn, dist(cxm, cym, a[i][0], a[i][1]))


for j in range(0, m):
    mxm = max(mxm, dist(cxm, cym, b[j][0], b[j][1]))
    mnm = min(mnm, dist(cxn, cyn, b[j][0], b[j][1]))
    
##print(mnm, mxn, mnn, mxm);
if (mnm > mxn or mnn > mxm):
    print("YES");
else:
    print("NO");