import math

def to_line(p1, p2):
    if (p1[0] == p2[2]): return (float("inf"), float("inf"))
    a = (p1[1] - p2[1]) / (max(p1[0], p2[0]) - min(p1[0], p2[0]));
    b = a * p1[0] - p1[1]
    return a, b

def per_line(p1, p2):

    x1, y1 = p1
    x2, y2 = p2
    dx = x2 - x1
    dy = y2 - y1
    sx = (x1 + x2) / 2
    sy = (y1 + y2) / 2
    if dy == 0:
        return (float("inf"), float("inf"))
    b = sy + dx * (sx /dy)
    a = math.atan(-dy/dx)
    return a, b


def get_dist(x1, y1, x2, y2):
    return (x2 - x1)**2 + (y2 - y1)**2


def solve():
    hashtable = {i: {} for i in points}
    for i in range(n):
        for j in range(i, n):
            dist = get_dist(*points[i], *points[j])
            hashtable[i][dist] = hashtable[i].get(dist, 0) + 1
            hashtable[j][dist] = hashtable[j].get(dist, 0) + 1
    cnt = 0
    for i in hashtable.keys():
        for (dist, ccnt) in hashtable[i]:
            if ccnt >= 2:
                cnt += (ccnt * (ccnt - 1)) / 2

    res = n
    if cnt == (n * (n - 1)) / 2:
        res = 1

    counts = {}
    for i in range(n):
        for j in range(i + 1, n):
            a, b = per_line(points[i], points[j])
            counts[(a, b)] = counts.get((a, b), 0) + 1

    for i in range(n):
        for j in range(i + 1, n):
            a, b = per_line(points[i], points[j])
            k = counts.get((a, b), 0)
            if k >= 1:
                res = min(res, (1 + round(math.sqrt(1 + 8 * k)) / 2))
            else:
                res = 0
    if res <= n - math.ceil(n * (p / 100)):
        print("YES")
    else:
        print("NO")


n, p = map(int, input().split())
points = []
for i in range(n):
    x, y = map(int, input().split())
    points.append((x, y))

solve()


