#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef int64_t   ll;
typedef pair<int,int> ii;
typedef pair<ll, ll> ill;

#define EL printf("\n")
#define OK printf("OK")
#define pb push_back
#define mp make_pair
#define X  first
#define Y  second
#define fillchar(a,x) memset(a, x, sizeof(a))
#define FOR(i,l,r) for (int i=l;i<=r;i++)
#define FORD(i,r,l) for (int i=r;i>=l;i--)

typedef pair<ii,int> dat;
const int N = 1010;
dat an[N];
int n,x0,y0,xi,yi;

bool cmp(dat u, dat v) {
    return (u.X.X < v.X.X or (u.X.X == v.X.X and u.X.Y < v.X.Y)
            or (u.X == v.X and u.Y < v.Y));
}

int main()
{
    //freopen("INP.INP","r",stdin);
    //freopen("OUT.OUT","w",stdout);

    scanf("%d%d%d\n", &n,&x0,&y0);
    FOR(i,1,n) {
        scanf("%d%d", &xi,&yi);
        int a = y0-yi;
        int b = xi-x0;
        int c = -y0*(x0-xi) + x0*(y0-yi);
        int g = __gcd(__gcd(a,b),c);
        a /= g;
        b /= g;
        c /= g;
        if (a < 0) {
            a = -a;
            b = -b;
            c = -c;
        }
        an[i] = mp(mp(a,b),c);
    }
    sort(an+1,an+n+1,cmp);
    int res = unique(an+1,an+n+1)-an-1;
    printf("%d\n", res);

    return 0;
}
