import std.stdio;
import std.conv;
import std.string;
import std.typecons;
import std.algorithm;
import std.array;
import std.range;
import std.math;
import std.regex : regex;
import std.container;
import std.bigint;


void main()
{
  auto n = readln.chomp.to!int;
  auto p = new int[][](n, 2);

  foreach (i; 0..n) {
    p[i] = readln.chomp.split.to!(int[]);
  }

  p.sort!((a,b)=>a[0] == b[0] ? a[1] < b[1] : a[0] < b[0]);

  string p2s(int dx, int dy) {
    return dx.to!string ~ ":" ~ dy.to!string;
  }

  int[string] pat;
  foreach (i; 0..n) {
    foreach (j; i+1..n) {
      auto l = p2s(p[i][0]-p[j][0], p[i][1]-p[j][1]);
      pat[l]++;
    }
  }
  int m;
  foreach (k; pat.keys) {
    m = max(m, pat[k]);
  }

  writeln(n-m);
  
}
