#include <bits/stdc++.h>

using namespace std;

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
#define EPS (1e-8)

typedef complex<double> p;

double cross(p a, p b) {
	return (a.real() * b.imag() - a.imag() * b.real());
}

int main() {
	int n;
	while (cin >> n, n) {
		vector<p> point(n);
		REP(i, n) {
			double a, b;
			scanf("%lf,%lf", &a, &b);
			point[i] = p(a, b);
		}
		
		vector<bool> done(n, false);
		REP(i, n) FOR(j, i + 1, n) FOR(k, j + 1, n) {
			if (done[i] || done[j] || done[k]) continue;
			p now[4];
			now[0] = point[i]; now[1] = point[j]; now[2] = point[k];
			
			REP(l, n) {
				if (l == i || l == j || l == k || done[i] || done[j] || done[k]) continue;
				now[3] = point[l];
				
				int cnt = 0;
				REP(m, 3) {
					p v[2];
					v[0] = now[(m + 1) % 3] - now[m];
					v[1] = now[3] - now[m];
					if (cross(v[0], v[1]) < -EPS) cnt++;
				}
				if (cnt == 0 || cnt == 3) done[l] = true;
			}
		}
		
		int ans = 0;
		REP(i, n) if (done[i]) ans++;
		cout << ans << endl;
	}
	return 0;
}