#include<bits/stdc++.h>
using namespace std;
int n,a,b,e[600010],ne[600010],h[300010],d[300010],tr[300010],st[300010],idx,ans=1;
vector<int>g;
void add(int a,int b){e[idx]=b,ne[idx]=h[a],h[a]=idx++;}
void tadd(int a,int b){for(int w=a;w<=n;w+=(w&(-w)))tr[w]+=b;}
int sum(int i){
int ans=0;
for(int w=i;w;w-=(w&(-w)))ans+=tr[w];
return ans;
}
int main(){
scanf("%d",&n),memset(h,-1,sizeof(h));
for(int w=1;w<n;w++)scanf("%d%d",&a,&b),d[a]++,d[b]++,add(a,b),add(b,a);
for(int w=1;w<=n;w++){
int k=0;
for(int x=h[w];~x;x=ne[x]){
int p=d[e[x]]-1;
if(!st[p])g.push_back(p);
if(p)tadd(p,1);
st[p]=1,k++;
}
ans=max(ans,k+1);
for(int x=0;x<g.size();x++)if(g[x])ans=max(ans,(sum(n)-sum(g[x]-1))*(g[x]+1)+1);
for(int x=0;x<g.size();x++){
if(g[x])tadd(g[x],-1);
st[g[x]]=0;
}
g.clear();
}
printf("%d",n-ans);
return 0;
}
/*
出现次数*(度数+1)+1
*/
AC12个,WA17个