pontok_szama=int(input())
csucsok=[]
for i in range(pontok_szama):
    x, y=input().split()
    csucsok.append([int(x),int(y)])

csucsok.sort(key= lambda x:x[0])
bal=[pont for pont in csucsok if pont[0]==csucsok[0][0]]                           #rendezzuk az adatok a konnyebb vizsgalatahoz az adatoknak
bal.sort(key= lambda x:x[1])                                                       #a ketto szelso pont az biztos raszese lesz a buroknak
jobb=[pont for pont in csucsok if pont[0]==csucsok[-1][0]]
jobb.sort(key= lambda x:x[1])

if len(bal)>1:
    burokcsucs=2
else:
    burokcsucs=1
    
kovpont=bal[0]
while kovpont not in jobb:
    meredekseg=1000000
    for pont in csucsok:
        if pont[0]>kovpont[0]:
            if meredekseg>=(pont[1]-kovpont[1])/(pont[0]-kovpont[0]):               #nem kell figyelmbe vennünk az egy egyenesen több pontot hiszen csucsok lista x kordinata szerint novekvo sorrendbe van rakva tehat mindig a tavolabbi pont lesz a vegso
                meredekseg=(pont[1]-kovpont[1])/(pont[0]-kovpont[0])
                csucs=pont
    kovpont=csucs
    burokcsucs+=1

kovpont=bal[-1]
while kovpont not in jobb:
    meredekseg=-1000000
    for pont in csucsok:
        if pont[0]>kovpont[0]:
            if meredekseg<=(pont[1]-kovpont[1])/(pont[0]-kovpont[0]):
                meredekseg=(pont[1]-kovpont[1])/(pont[0]-kovpont[0])
                csucs=pont
    kovpont=csucs
    burokcsucs+=1
if len(jobb)==1:
    burokcsucs-=1
print(burokcsucs)