#include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
#define pi acos(-1.0)
using namespace std;
const int maxn=30010;
struct cp
{
double x,y;
cp () {}
cp (double a,double b){x=a,y=b;}
cp operator + (const cp &a) const {return cp(x+a.x,y+a.y);}
cp operator - (const cp &a) const {return cp(x-a.x,y-a.y);}
cp operator * (const cp &a) const {return cp(x*a.x-y*a.y,x*a.y+y*a.x);}
}A[maxn<<2];
long double Ans;
int n,rt,cnt,mx,tot,md;
int ans[maxn<<2];
int to[maxn<<1],next[maxn<<1],head[maxn],vis[maxn],siz[maxn],dep[maxn];
inline int rd()
{
int ret=0,f=1; char gc=getchar();
while(gc<‘0‘||gc>‘9‘) {if(gc==‘-‘)f=-f; gc=getchar();}
while(gc>=‘0‘&&gc<=‘9‘) ret=ret*10+gc-‘0‘,gc=getchar();
return ret*f;
}
void add(int a,int b)
{
to[cnt]=b,next[cnt]=head[a],head[a]=cnt++;
}
void FFT(cp *a,int len,int f)
{
int i,j,k,h;
cp t;
for(i=k=0;i<len;i++)
{
if(i>k) swap(a[i],a[k]);
for(j=len>>1;(k^=j)<j;j>>=1);
}
for(h=2;h<=len;h<<=1)
{
cp wn(cos(2*pi*f/h),sin(2*pi*f/h));
for(j=0;j<len;j+=h)
{
cp w(1,0);
for(k=j;k<j+h/2;k++) t=a[k+h/2]*w,a[k+h/2]=a[k]-t,a[k]=a[k]+t,w=w*wn;
}
}
}
void getr(int x,int fa)
{
siz[x]=1;
int tmp=0;
for(int i=head[x];i!=-1;i=next[i])
if(to[i]!=fa&&!vis[to[i]]) getr(to[i],x),siz[x]+=siz[to[i]],tmp=max(tmp,siz[to[i]]);
tmp=max(tmp,tot-siz[x]);
if(tmp<mx) mx=tmp,rt=x;
}
void getd(int x,int fa,int dep)
{
A[dep].x+=1,md=max(md,dep);
for(int i=head[x];i!=-1;i=next[i]) if(to[i]!=fa&&!vis[to[i]]) getd(to[i],x,dep+1);
}
void calc(int x,int f)
{
md=0,getd(x,0,0);
int i,len;
for(len=1;len<=md*2;len<<=1);
FFT(A,len,1);
for(i=0;i<len;i++) A[i]=A[i]*A[i];
FFT(A,len,-1);
if(f==1) for(i=0;i<len;i++) ans[i+1]+=int(A[i].x/len+0.1);
else for(i=0;i<len;i++) ans[i+3]-=int(A[i].x/len+0.1);
memset(A,0,sizeof(A[0])*len);
}
void dfs(int x)
{
vis[x]=1;
calc(x,1);
for(int i=head[x];i!=-1;i=next[i]) if(!vis[to[i]]) calc(to[i],0),tot=siz[to[i]],mx=1<<30,getr(to[i],x),dfs(rt);
}
int main()
{
n=rd();
int i,a,b;
memset(head,-1,sizeof(head));
for(i=1;i<n;i++) a=rd()+1,b=rd()+1,add(a,b),add(b,a);
tot=n,mx=1<<30,getr(1,0),dfs(rt);
for(i=1;i<=n;i++)
{
Ans+=(long double)ans[i]/i;
}
printf("%.4lf",(double)Ans);
return 0;
}