import Control.Applicative
import Control.Monad
import Data.Monoid
import Data.List
import Data.List.Split
import Data.Ord
import Data.Fixed
 

apply2 f [x,y] = f x y

f ps = firstP : sub firstP 0
  where
    sub p a = let np = nextP p a in if np==firstP then [] else np : sub np (angleFrom p np)
    firstP = minimumBy (comparing snd <> flip (comparing fst)) ps
    nextP p a = minimumBy (comparing (flip mod' (2*pi) . subtract a . angleFrom p)) (delete p ps)
    angleFrom (x0,y0) (x,y) = atan2 (y-y0) (x-x0)

main = do
    n <- readLn
    unless (n==0) $ map (apply2 (,) . map read . wordsBy (==',')) <$> replicateM n getLine >>= print . (n-) . length . f >> main
