#include<bits/stdc++.h>
using namespace std;
struct star{
long long index,x;
}a[500005];
long long n,y,ans=0;
bool cmp(star a,star b){ return a.x<b.x; }
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
if(n%2==1){
cout<<-1;
return 0;
}
for(long long i=1;i<=n;i++){
cin>>a[i].x>>y;
a[i].index=i;
}
sort(a+1,a+n+1,cmp);
for(long long i=1;i<=n/2;i++) ans+=a[i*2].x-a[i*2-1].x;
cout<<ans<<'\n';
for(long long i=1;i<=n/2;i++) cout<<a[i*2-1].index<<' '<<a[i*2].index<<'\n';
return 0;
}
AC 3 个点其余全 WA,报 Wrong Answer.wrong answer The segments overlop.