#include<bits/stdc++.h>
using namespace std;
#define pb push_back
vector<int>vec[100005];
bool visit[100005];
double sum=0.0;
void dfs(int root, double prob,double dist,int prt)
{
visit[root]=true;
int n=vec[root].size();
// cout<<root<<" "<<dist<<" "<<prob<<endl;
if(n==1)
{
sum+=(prob*dist);
}
else
{
for(int i=0;i<n;i++)
{
if(!visit[vec[root][i]])
{
dfs(vec[root][i],prob/double(n-1),dist+1,root);
}
}
}
return ;
}
int main()
{
int n;
cin>>n;
vec[1].pb(1);
for(int i=0,u,v;i<n-1;i++)
{
cin>>u>>v;
vec[u].pb(v);
vec[v].pb(u);
}
memset(visit,false, sizeof visit);
dfs(1,1,0,-1);
cout<<setprecision(10)<<fixed<<sum;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBwYiBwdXNoX2JhY2sKdmVjdG9yPGludD52ZWNbMTAwMDA1XTsKYm9vbCB2aXNpdFsxMDAwMDVdOwpkb3VibGUgc3VtPTAuMDsKIHZvaWQgZGZzKGludCByb290LCBkb3VibGUgcHJvYixkb3VibGUgZGlzdCxpbnQgcHJ0KQogewogCiAJdmlzaXRbcm9vdF09dHJ1ZTsKIAlpbnQgbj12ZWNbcm9vdF0uc2l6ZSgpOwogLy8JY291dDw8cm9vdDw8IiAgIjw8ZGlzdDw8IiAgICI8PHByb2I8PGVuZGw7CiAJaWYobj09MSkKIAl7CiAJCQogCQlzdW0rPShwcm9iKmRpc3QpOwoJCSAJCiAJfQogCWVsc2UKIAl7CiAJCiAJCWZvcihpbnQgaT0wO2k8bjtpKyspCiAJCXsKIAkJCiAJCQlpZighdmlzaXRbdmVjW3Jvb3RdW2ldXSkKIAkJCXsKIAkJCQkKIAkJCQlkZnModmVjW3Jvb3RdW2ldLHByb2IvZG91YmxlKG4tMSksZGlzdCsxLHJvb3QpOwkKIAkJCQogCQkJfQogCQkKIAkJCiAJCX0KIAkJCiAJCiAJfQogCiAJcmV0dXJuIDsKIAogCiB9CiBpbnQgbWFpbigpCiB7CiAKIAlpbnQgbjsKIAljaW4+Pm47CiAJdmVjWzFdLnBiKDEpOwogCWZvcihpbnQgaT0wLHUsdjtpPG4tMTtpKyspCiAJewogCQogCQljaW4+PnU+PnY7CiAJCXZlY1t1XS5wYih2KTsKIAkJdmVjW3ZdLnBiKHUpOwogCQkKIAl9CiAJbWVtc2V0KHZpc2l0LGZhbHNlLCBzaXplb2YgdmlzaXQpOwogCWRmcygxLDEsMCwtMSk7CiAJY291dDw8c2V0cHJlY2lzaW9uKDEwKTw8Zml4ZWQ8PHN1bTsKIAogCQogCiAKIH0=