## https://yukicoder.me/problems/no/2355 def calc_gcd(A, B): """ 正の整数A, Bの最大公約数を計算する """ a = max(A, B) b = min(A, B) while a % b > 0: c = a % b a = b b = c return b def main(): N = int(input()) xy = [] for _ in range(N): x, y = map(int, input().split()) xy.append((x, y)) answer = 0 for i in range(N): x0, y0 = xy[i] a_map = {} for j in range(N): if i == j: continue x1, y1 = xy[j] dx = x1 - x0 dy = y1 - y0 if dx == 0: dy = dy // abs(dy) elif dy == 0: dx = dx // abs(dx) else: gcd = calc_gcd(abs(dx), abs(dy)) dx //= gcd dy //= gcd if (dx, dy) not in a_map: a_map[(dx, dy)] = 0 a_map[(dx, dy)] += 1 if len(a_map) > 0: ans = max(a_map.values()) if ans >= 2: answer += 1 print(answer) if __name__ == "__main__": main()