#include <bits/stdc++.h>

using namespace std;


bool sa_iste_strane(int x1, int y1, int k, int n, int x2, int x3)
{
    if(x2==x3)
    {
        if((x1-x2)*(0-x2)>=0) return true;
    }
    int y1p=k*x1+n;
    int y2p=k*x2+n;
    if((y1p-y1)*(y2p-0)>=0) return true;
    return false;
}




int main()
{
    int n;
    cin>>n;
    if(n==3)
    {
        double ax, ay, bx, by, cx, cy;
        cin>>ax>>ay>>bx>>by>>cx>>cy;
        int brojac=0;
        if(ax==0 && ay==0) brojac++;
        if(bx==0 && by==0) brojac++;
        if(cx==0 && cy==0) brojac++;
        double kab=(ay-by)/(ax-bx);
        double nab=ay-kab*ax;
        double kac=(ay-cy)/(ax-cx);
        double nac=ay-kac*ax;
        double kbc=(cy-by)/(cx-bx);
        double nbc=cy-kbc*cx;
        bool trougao=false;
        if((ax==0 && ay==0) || (bx==0 && by==0)) brojac++;
        else if(ax*bx<=0 && ay*by<=0)
        {
            if(nab==0 || (ax==0 && bx==0) || (ay==0 && by==0))
            {
                brojac++;
                trougao=true;
            }
        }
        if((ax==0 && ay==0) || (cx==0 && cy==0)) brojac++;
        else if(ax*cx<=0 && ay*cy<=0)
        {
            if(nac==0 || (ax==0 && cx==0) || (ay==0 && cy==0))
            {
                brojac++;
                trougao=true;
            }
        }
        if((cx==0 && cy==0) || (bx==0 && by==0)) brojac++;
        else if(cx*bx<=0 && cy*by<=0)
        {
            if(nbc==0 || (cx==0 && bx==0) || (cy==0 && by==0))
            {
                brojac++;
                trougao=true;
            }
        }
        if(!trougao)
        {
            int minx=min(ax, min(bx, cx));
            int maxx=max(ax, max(bx,cx));
            int miny=min(ay, min(by, cy));
            int maxy=max(ay, max(by,cy));
            if((ax==bx && bx==cx && ax==0) || (ay==by && by==cy && ay==0))
            {
                if(maxx==minx && maxx==0 && miny*maxy<=0) brojac++;
                else if(maxy==miny && maxy==0 && minx*maxx<=0) brojac++;
            }
            else if(sa_iste_strane(ax, ay, kbc, nbc, bx, cx) &&
               sa_iste_strane(bx, by, kac, nac, ax, cx) && sa_iste_strane(cx, cy, kab, nab, ax, bx)) brojac++;
        }
        else brojac++;
        cout<<brojac;
    }
}