#include <bits/stdc++.h>
int dst(double x[], double y[], int o[], int p[], int pos, int min, int n,
        int m) {
  int i;
  if (pos == m) {
    if (((x[p[0]] - x[p[1]]) * (x[p[0]] - x[p[1]]) +
         (y[p[0]] - y[p[1]]) * (y[p[0]] - y[p[1]])) <= 4)
      return 0;
    else
      return 1;
  } else {
    for (i = min; i < n; i++) {
      p[pos] = o[i];
      if (dst(x, y, o, p, pos + 1, i + 1, n, m)) return 1;
    }
    return 0;
  }
}
int cmb(double x[], double y[], int o[], int pos, int min, int n, int m) {
  int i;
  int p[2];
  if (pos == m) {
    if (dst(x, y, o, p, 0, 0, m, 2))
      return 0;
    else
      return 1;
  } else {
    for (i = min; i < n; i++) {
      o[pos] = i;
      if (cmb(x, y, o, pos + 1, i + 1, n, m)) return 1;
    }
    return 0;
  }
}
int main() {
  int i;
  int o[100], n;
  double x[100], y[100];
  for (;;) {
    scanf("%d", &n);
    if (n == 0) break;
    for (i = 0; i < n; i++) scanf("%lf,%lf", &x[i], &y[i]);
    for (i = n; i > 1; i--)
      if (cmb(x, y, o, 0, 0, n, i)) break;
    printf("%d\n", i);
  }
  return 0;
}
