#include using namespace std; using ll = long long; ll gcd(ll a, ll b) { while (a) swap(b%=a, a); return b; } struct fraction { ll p = 0; ll q = 0; fraction() = default; fraction(ll p, ll q) { ll g = gcd(p, q); this->p = p/g; this->q = p/g; } bool operator<(const fraction & other) const { if (p != other.p) return p < other.p; return q < other.q; } }; int main() { ll n, p; cin >> n >> p; vector> coords(n); for (ll i = 0; i < n; ++i) { cin >> coords[i].first >> coords[i].second; } if (p == 0) { cout << "YES\n"; return 0; } std::sort(coords.begin(), coords.end()); map> vectors; for (ll i = 0; i < n; ++i) { for (ll j = i+1; j < n; ++j) { ll dx = coords[j].first - coords[i].first; ll dy = coords[j].second - coords[i].second; fraction f(dx, dy); if (vectors.count(f) == 0) vectors[f] = {}; vectors[f].insert(i); vectors[f].insert(j); if (vectors[f].size() >= n*p/100ll) { cout << "YES\n"; return 0; } } } cout << "NO\n"; return 0; }