#include<bits/stdc++.h>
using namespace std;
int n,m,i,j,ans,a[100005],b[100005],c,u[205];
int b1[205],b2[205],len,s[205];
void dfs(int k){
if(k>len){
int cnt=0;
for(int i=1;i<=n+10;i++) s[i]=0;
for(int i=1;i<=len;i++){
if(u[i]==1){
cnt++;
s[b1[i]]++;
s[b2[i]]++;
}
}
if(cnt!=n-1) return;
for(int i=1;i<=n;i++){
if(s[i]%2==0) return;
}
for(int i=1;i<=len;i++){
if(u[i]==1) printf("%d %d\n",b1[i],b2[i]);
}
exit(0);
}
for(int i=0;i<=1;i++){
if(i==1){
u[k]=1;
dfs(k+1);
u[k]=0;
}
if(i==0) dfs(k+1);
}
}
int main(){
scanf("%d",&n);
for(i=1;i<=n-3;i++) scanf("%d%d",&a[i],&b[i]);
if(n%2==1){
printf("-1");
return 0;
}
else if(n<=10){
for(i=1;i<=n-3;i++) b1[++len]=a[i],b2[len]=b[i];
for(i=1;i<n;i++) b1[++len]=i,b2[len]=i+1;
b1[++len]=1,b2[len]=n;
// for(i=1;i<=len;i++) printf("%d %d\n",b1[i],b2[i]);
dfs(1);
return 0;
}
else{
for(i=2;i<=n;i++) printf("1 %d\n",i);
}
return 0;
}
赛时搜索的部分分不知道挂在哪了