#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
class tree
{
	typedef long long ll;
public:
	static const int maxn=666666;
	int a[maxn],ans[maxn<<2],lazy[maxn<<2];
	//a[]为原序列信息，ans[]模拟线段树维护区间和，lazy[]为懒惰标记
	tree()
	{
		for(int i=0;i<maxn;i++)
			a[i]=0;
		for(int i=0;i<maxn<<2;i++)
			ans[i]=lazy[i]=0;
	}
	void pushup(int rt)
	{
		ans[rt]=ans[rt<<1]+ans[rt<<1|1];
	}
	void build(int l,int r,int rt)
	{
		if(l==r)
		{
			ans[rt]=a[l];
			return;
		}
		int mid=(l+r)>>1;
		build(l,mid,rt<<1);
		build(mid+1,r,rt<<1|1);
		pushup(rt);
	}
	void pushdown(int rt,int ln,int rn)//ln表示左子树元素结点个数，rn表示右子树结点个数
	{
		if(lazy[rt])
		{
			lazy[rt<<1]+=lazy[rt];
			lazy[rt<<1|1]+=lazy[rt];
			ans[rt<<1]+=lazy[rt]*ln;
			ans[rt<<1|1]+=lazy[rt]*rn;
			lazy[rt]=0;
		}
	}
	void add(int L,int C,int l,int r,int rt)
	{
		if(l==r)
		{
			ans[rt]+=C;return;
		}
		int mid=(l+r)>>1;
		//pushdown(rt,mid-l+1,r-mid);//若既有点更新又有区间更新，需要这句话
		if(L<=mid)
			add(L,C,l,mid,rt<<1);
		else
			add(L,C,mid+1,r,rt<<1|1);
		pushup(rt);
	}
	void update(int L,int R,int C,int l,int r,int rt)
	{
		if(L<=l&&r<=R)
		{
			ans[rt]+=C*(r-l+1);
			lazy[rt]+=C;
			return;
		}
		int mid=(l+r)>>1;
		pushdown(rt,mid-l+1,r-mid);
		if(L<=mid)
			update(L,R,C,l,mid,rt<<1);
		if(R>mid)
			update(L,R,C,mid+1,r,rt<<1|1);
		pushup(rt);
	}
	ll query(int L,int R,int l,int r,int rt)
	{
		if(L<=l&&r<=R)
		{
			return ans[rt];
		}
		int mid=(l+r)>>1;
		pushdown(rt,mid-l+1,r-mid);//若更新只有点更新，不需要这句
		ll cnt=0;
		if(L<=mid)
			cnt+=query(L,R,l,mid,rt<<1);
		if(R>mid)
			cnt+=query(L,R,mid+1,r,rt<<1|1);
		return cnt;
	}
}; 
const int amaxn = 1005;  
int donkey[amaxn][amaxn];  
int tiger[amaxn][amaxn];  
bool don,tig,flag;  
int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};  
int n;
bool check(int x,int y,int t,int n)
{
	if (x<0 || y<0 || x>=n || y>=n || t==1)
	{
		return 1;
	}
	return 0;
}
void dfs(int a,int b,int c,int x,int y,int z)  
{  
    donkey[a][b]=1;  
    tiger[x][y]=1;  
    if (flag)  
        return;  
    if (a==x && b==y)
    {  
        flag=1;  
        printf("%d %d\n",a,b);  
        return;  
    }  
    if (don && tig)
    {  
        flag=1;  
        printf("-1\n");  
        return;  
    }  
    int dx,dy,da,db;  
    if (don)  
    {  
         da= a;  
         db = b;       
    }  
    else  
    {  
        da = a+dir[c][0];  
        db = b+dir[c][1];  
        if (check(da,db,donkey[da][db],n))
        {  
            c = (c+1)%4;  
            da = a+dir[c][0];  
            db = b+dir[c][1];  
            if (check(da,db,donkey[da][db],n))  
            {  
                don=1;  
                da=a;  
                db=b;  
            }  
        }  
    }  
    if (tig)  
    {  
        dx = x;  
        dy = y;  
    }  
    else  
    {  
        dx = x+dir[z][0];  
        dy = y+dir[z][1];  
        if (check(dx,dy,tiger[dx][dy],n))  
        {  
            z = (z+3)%4;  
            dx = x+dir[z][0];  
            dy = y+dir[z][1];  
            if (check(dx,dy,tiger[dx][dy],n))  
            {  
                tig = 1;  
                dx = x;  
                dy = y;  
            }  
        }  
    }  
    dfs(da,db,c,dx,dy,z);  
}  
void D()  
{  
    while (scanf("%d",&n)!=EOF && n)  
    {  
        memset(donkey,0,sizeof(donkey));  
        memset(tiger,0,sizeof(tiger));  
        tig=0;  
        don=0;  
        flag=0;  
        int a,b,c,x,y,z;  
        scanf("%d%d%d",&a,&b,&c);  
        scanf("%d%d%d",&x,&y,&z);  
        dfs(a,b,c,x,y,z);  
    }  
}
int Gcnt=0;
void quick_sort(int* a,int left,int right)
{
    int i=left,j=right;
    int tm=a[i];
    if(left>=right)
        return;
    while(i<j)
    {
        while(i<j&&a[j]>=tm)
            j--;
        a[i]=a[j];
        while(i<j&&a[i]<=tm)
            i++;
        a[j]=a[i];
    }
    if(a[i]!=tm)	Gcnt++;
    a[i]=tm;
    quick_sort(a,left,i-1);
    quick_sort(a,i+1,right);
}
void G()
{
	int n;cin>>n;
	const int gmaxn=2e5+10;
	int a[gmaxn];
	for(int i=0;i<n;i++)	cin>>a[i];
	quick_sort(a,0,n-1);
	cout<<2*Gcnt<<endl;
}
int main()
{
	ios::sync_with_stdio(false);
	G();
	return 0;
}
