#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

typedef pair<double,double> pd;
vector<pd>vec;
vector<long>used;

bool op(pd p1,pd p2){
    if(p1.first*p2.second-p2.first*p1.second>0)return 1;
    return 0;
}
bool com(pd p1,pd p2){
    return p1.first==p2.first?p1.second>p2.second:p1.first<p2.first;
}

pd minu(pd p1, pd p2){
    return make_pair(p1.first-p2.first, p1.second-p2.second);
}

int main(){
    int n;
    while(cin>>n,n){
        vec.clear();
        used.clear();
        for(int i=0;i<n;i++){
            double x,y;char c;
            cin>>x>>c>>y;
            vec.push_back(make_pair(x, y));
        }
        sort(vec.begin(),vec.end(),com);
        pd last=minu(vec[1],vec[0]), cur;
        used.push_back(0);
        used.push_back(1);
        for(int i=0;i<vec.size();i++){
            cur=vec[i];
            if(find(used.begin(),used.end(),i)!=used.end())
                continue;
            while(op(last,minu(cur,vec[used[used.size()-1]]))){
                used.pop_back();
                last=minu(vec[used[used.size()-1]],vec[used[used.size()-2]]);
            }
            last=minu(cur,vec[used[used.size()-1]]);
            used.push_back(i);
        }
        for(long i=vec.size()-1;i>=0;i--){
            cur=vec[i];
            if(find(used.begin(),used.end(),i)!=used.end()&&i!=0)
                continue;
            while(op(last,minu(cur,vec[used[used.size()-1]]))){
                used.pop_back();
                last=minu(vec[used[used.size()-1]],vec[used[used.size()-2]]);
            }
            if(i!=0){
                last=minu(cur,vec[used[used.size()-1]]);
                used.push_back(i);
            }
        }
        cout<<vec.size()-used.size()<<endl;
    }
}