#include <bits/stdc++.h>   using namespace std;   template <class T>   ostream& prnt(ostream& out, T v) {     out << v.size() <<   n ;     for (auto e : v) out << e <<    ;     return out;   }   template <class T>   ostream& operator<<(ostream& out, vector<T> v) {     return prnt(out, v);   }   template <class T>   ostream& operator<<(ostream& out, set<T> v) {     return prnt(out, v);   }   template <class T1, class T2>   ostream& operator<<(ostream& out, map<T1, T2> v) {     return prnt(out, v);   }   template <class T1, class T2>   ostream& operator<<(ostream& out, pair<T1, T2> p) {     return out <<  (  << p.first <<     << p.second <<  ) ;   }   const int N = 100100;   const int MOD = 666013;   int n, k, m, g[N], ans, s, a, b;   int main() {     ios_base::sync_with_stdio(false);     cin >> n >> s;     for (int i = 1; i < n; i++) {       cin >> a >> b;       g[a]++;       g[b]++;     }     for (int i = 1; i <= n; i++)       if (g[i] == 1) ans++;     cout << fixed << setprecision(7);     cout << 2. * s / ans <<   n ;   }   