#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;
		break; 
	}
	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;
}