#include <iostream>
#include<list>
using namespace std;
long long len[100001];
long double ans,flag;
class Graph
{
long long v;
list<long long> *adj;
public:
Graph(long long v);
void addedge(long long v,long long w);
void BFS(long long s);
};
Graph::Graph(long long v)
{
this->v=v;
adj=new list<long long>[v];
}
void Graph::addedge(long long v,long long w)
{
adj[v].push_back(w);
adj[w].push_back(v);
}
void Graph::BFS(long long s)
{
bool *visited=new bool[v];
for(long long i=0;i<v;i++)
visited[i]=false;
list<long long> queue;
visited[s]=true;
queue.push_back(s);
list<long long>::iterator i;
long long count=0;
while(!queue.empty())
{
s=queue.front();
//cout<<s<<" ";
queue.pop_front();
count=0;
for(i=adj[s].begin();i!=adj[s].end();i++)
{
if(!visited[*i])
{
count++; //COUNTING THE CHILDREN EXCEPT PARENT
visited[*i]=true;
len[*i]=len[s]+1; //LENGTH OF THE CHILD = LENGTH OF PARENT + 1
queue.push_back(*i);
}
}
//cout<<s<<" "<<count<<endl;
if(count==0) //NO CHILDREN CONDITION
{ans+=len[s];flag++;} //INCRESING THE TOTAL LENGTH AND TOTAL LEAF NODES
}
}
int main() {
len[0]=0;
ans=0;
flag=0;
long long n,i,j;
cin>>n;
Graph g(n);
long long m=n-1;
while(m--)
{
cin>>i>>j;
g.addedge(i-1,j-1);
}
g.BFS(0);
//for(i=0;i<n;i++)
//cout<<len[i]<<" ";
//cout<<endl;
cout<<fixed<<ans/flag;
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxsaXN0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpsb25nIGxvbmcgbGVuWzEwMDAwMV07CmxvbmcgZG91YmxlIGFucyxmbGFnOwpjbGFzcyBHcmFwaAp7Cglsb25nIGxvbmcgdjsKCWxpc3Q8bG9uZyBsb25nPiAqYWRqOwoJcHVibGljOgoJR3JhcGgobG9uZyBsb25nIHYpOwoJdm9pZCBhZGRlZGdlKGxvbmcgbG9uZyB2LGxvbmcgbG9uZyB3KTsKCXZvaWQgQkZTKGxvbmcgbG9uZyBzKTsKfTsKCkdyYXBoOjpHcmFwaChsb25nIGxvbmcgdikKewoJdGhpcy0+dj12OwoJYWRqPW5ldyBsaXN0PGxvbmcgbG9uZz5bdl07Cn0KCnZvaWQgR3JhcGg6OmFkZGVkZ2UobG9uZyBsb25nIHYsbG9uZyBsb25nIHcpCnsKCWFkalt2XS5wdXNoX2JhY2sodyk7CglhZGpbd10ucHVzaF9iYWNrKHYpOwp9Cgp2b2lkIEdyYXBoOjpCRlMobG9uZyBsb25nIHMpCnsKCWJvb2wgKnZpc2l0ZWQ9bmV3IGJvb2xbdl07Cglmb3IobG9uZyBsb25nIGk9MDtpPHY7aSsrKQoJdmlzaXRlZFtpXT1mYWxzZTsKCQoJbGlzdDxsb25nIGxvbmc+IHF1ZXVlOwoJCgl2aXNpdGVkW3NdPXRydWU7CglxdWV1ZS5wdXNoX2JhY2socyk7CglsaXN0PGxvbmcgbG9uZz46Oml0ZXJhdG9yIGk7Cglsb25nIGxvbmcgY291bnQ9MDsKCXdoaWxlKCFxdWV1ZS5lbXB0eSgpKQoJewoJCXM9cXVldWUuZnJvbnQoKTsKCQkvL2NvdXQ8PHM8PCIgICI7CgkJcXVldWUucG9wX2Zyb250KCk7CgkJY291bnQ9MDsKCQlmb3IoaT1hZGpbc10uYmVnaW4oKTtpIT1hZGpbc10uZW5kKCk7aSsrKQoJCXsKCQkJaWYoIXZpc2l0ZWRbKmldKQoJCQl7CgkJCQljb3VudCsrOyAgIC8vQ09VTlRJTkcgVEhFIENISUxEUkVOIEVYQ0VQVCBQQVJFTlQKCQkJCXZpc2l0ZWRbKmldPXRydWU7CgkJCQlsZW5bKmldPWxlbltzXSsxOyAgIC8vTEVOR1RIIE9GIFRIRSBDSElMRCA9IExFTkdUSCBPRiBQQVJFTlQgKyAxCgkJCQlxdWV1ZS5wdXNoX2JhY2soKmkpOwoJCQl9CgkJfQoJCS8vY291dDw8czw8IiAgIjw8Y291bnQ8PGVuZGw7CgkJaWYoY291bnQ9PTApICAgICAvL05PIENISUxEUkVOIENPTkRJVElPTgoJCXthbnMrPWxlbltzXTtmbGFnKys7fSAvL0lOQ1JFU0lORyBUSEUgVE9UQUwgTEVOR1RIIEFORCBUT1RBTCBMRUFGIE5PREVTIAoJfQp9CgppbnQgbWFpbigpIHsKCWxlblswXT0wOwoJYW5zPTA7CglmbGFnPTA7Cglsb25nIGxvbmcgbixpLGo7CgljaW4+Pm47CglHcmFwaCBnKG4pOwoJbG9uZyBsb25nIG09bi0xOwoJd2hpbGUobS0tKQoJewoJCWNpbj4+aT4+ajsKCQlnLmFkZGVkZ2UoaS0xLGotMSk7Cgl9CglnLkJGUygwKTsKCS8vZm9yKGk9MDtpPG47aSsrKQoJLy9jb3V0PDxsZW5baV08PCIgICAiOwoJLy9jb3V0PDxlbmRsOwoJY291dDw8Zml4ZWQ8PGFucy9mbGFnOwoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=