#include <bits/stdc++.h>
long long poww(long long x, long long y) {
  long long res = 1;
  x %= 1000000007;
  assert(y >= 0);
  for (; y; y >>= 1) {
    if (y & 1) res = res * x % 1000000007;
    x = x * x % 1000000007;
  }
  return res;
}
using namespace std;
map<int, pair<int, int> > m;
set<int> s;
set<int>::iterator it;
int main() {
  int n, i, l, r, mi = INT_MAX;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d %d", &l, &r);
    s.insert(l);
    s.insert(r);
    if (l == r) {
      m[l].first++;
      m[r].second++;
    } else {
      m[l].first++;
      m[l].second++;
      m[r].second++;
    }
  }
  for (it = s.begin(); it != s.end(); it++) {
    if ((m[*it].second) >= (n + 1) / 2)
      mi = min(mi, max(0, (n + 1) / 2 - m[*it].first));
  }
  if (mi == INT_MAX)
    printf("-1");
  else
    printf("%d", mi);
}
