#ver2 #一番答えが大きくなるものを選ぶ(貪欲) #(i,j)を辞書順に調べる N=int(input()) A=[] B=[] cons=5*10**17 for _ in range(N): a,b=map(int,input().split()) A.append(a) B.append(b) op_cnt=0 #costは低ければ低いほどよい def calculate_cost(a,b): return max(abs(a-cons),abs(b-cons)) def op(u,v): global A global B a,b=A[u],A[v] c,d=B[u],B[v] A[u],A[v]=(a+b)//2,(a+b)//2 B[u],B[v]=(c+d)//2,(c+d)//2 cost=calculate_cost(A[0],B[0]) ans=[] while op_cnt<50: u=-1 v=-1 for i in range(N): best_cost=calculate_cost(A[i],B[i]) for j in range(N): new_cost=calculate_cost((A[i]+A[j])//2,(B[i]+B[j])//2) if(new_cost