#include "bits/stdc++.h"
using namespace std;

vector<pair<int,double> > G[100000];
double p;
int n;
int deep=0;
double ans=0;
double ans2;

vector<int> used(100000,0);
vector<int> used1(100000,0);

void dfs(int x){

  deep++;
  for(int i=0;i<G[x].size();i++){
    if(used[G[x][i].first]==0){
      used[G[x][i].first]=1;
      ans+=pow(p,deep)*G[x][i].second;
      dfs(G[x][i].first);
    }
  }
  deep--;
}

void dfs2(int x){
  deep++;
  for(int i=0;i<G[x].size();i++){
    if(used1[G[x][i].first]==0){
      used1[G[x][i].first]=1;
      ans2+=pow(p,deep)*(G[x][i].second+ans);
      dfs2(G[x][i].first);
    }
  }
  deep--;
}

int main(){
  cin>>p>>n;
  for(int i=0;i<n-1;i++){
    int a,b;
    double c;
    cin>>a>>b>>c;
    a--;
    b--;
    G[a].push_back(make_pair(b,c));
    G[b].push_back(make_pair(a,c));
  }
  used[0]=1;
  used1[0]=1;
  dfs(0);
  ans2=ans;
  deep=0;
  dfs2(0);

  cout<< fixed << setprecision(10) <<ans2<<endl;
}

