#include <algorithm>
#include <cmath>
#include <iostream>
#include <vector>

using namespace std;

struct node {
  float x;
  float y;
  float t;
};

int main() {
  while (true) {
    int n;
    cin >> n;
    if (n == 0)
      break;

    vector<node> vec(n);
    for (int i = 0; i < n; ++i)
      scanf("%f,%f", &vec[i].x, &vec[i].y);

    sort(vec.begin(), vec.end(),
         [](node const &l, node const &r) { return l.x < r.x; });

    for_each(vec.begin(), vec.end(), [&](node &ele) {
      float x = ele.x - vec[0].x;
      float y = ele.y - vec[0].y;
      ele.t = y / sqrt(x * x + y * y);
    });

    sort(++vec.begin(), vec.end(),
         [](node const &l, node const &r) { return l.t > r.t; });

    vector<node> vec2;
    for (auto &ele : vec) {
      while (2 <= vec2.size()) {
        auto itr1 = vec2.end() - 2;
        auto itr2 = vec2.end() - 1;
        float x1 = itr2->x - itr1->x;
        float y1 = itr2->y - itr1->y;
        float x2 = ele.x - itr1->x;
        float y2 = ele.y - itr1->y;
        if (x1 * y2 - y1 * x2 <= 0)
          break;
        vec2.erase(vec2.end() - 1);
      }
      vec2.push_back(ele);
    }

    cout << vec.size() - vec2.size() << endl;
  }
}
