#pragma G++ optimize ("O2")
#pragma GCC optimize("O2")
#include <bits/stdc++.h>
using namespace std;
map<int,int>f1;
map<int,int>f2;
int n;
int a[599999];
int cnt=0;
int main()
{
// freopen("card.in","r",stdin);
// freopen("card.out","w",stdout);
int x,y;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d %d",&x,&y);
if(x==y)
{
if(f1[x]==0)
a[++cnt]=x;
f1[x]++;
f1[y]++;
f1[x]--;
}
else
{
if(f1[x]==0)
a[++cnt]=x;
if(f1[y]==0)
a[++cnt]=y;
f1[x]++;
f1[y]++;
}
f2[x]++;
}
int m=(n+1)/2,b=0;
for(int i=1;i<=cnt;i++)
{
// cout<<a[i]<<' '<<f1[a[i]]<<' '<<f2[a[i]]<<endl;
if(f1[a[i]]>=m)
b=1;
}
if(b==0)
{
printf("Impossible");
return 0;
}
int minn=1e9;
for(int i=1;i<=cnt;i++)
{
int ans=0;
if(f1[a[i]]>=m)
ans=m-f2[a[i]];
else
ans=1e9;
minn=min(minn,max(ans,0));;
}
printf("%d",minn);
return 0;
}