#include <bits/stdc++.h>
using namespace std;
int read() {
  int x = 0;
  bool flg = false;
  char ch = getchar();
  for (; !isdigit(ch); ch = getchar())
    if (ch == '-') flg = true;
  for (; isdigit(ch); ch = getchar()) x = (x << 3) + (x << 1) + (ch ^ 48);
  return flg ? -x : x;
}
const int INF = 1e9;
int n, m;
struct E {
  int t, n, v, c;
} e[5010];
int cnt = 1, last[55];
inline void addedge(int x, int y, int c) {
  e[++cnt] = (E){y, last[x], 1, c}, last[x] = cnt;
  e[++cnt] = (E){x, last[y], 0, -c}, last[y] = cnt;
}
int dis[55], h[55], pid[55];
bool dijkstra() {
  static pair<int, int> hp[2510];
  int top;
  for (int i(1); i <= int(n); i++) dis[i] = INF;
  auto cmp = [&](const pair<int, int> &x, const pair<int, int> &y) {
    return y < x;
  };
  dis[1] = 0;
  hp[top = 1] = pair<int, int>(dis[1], 1);
  while (top) {
    const pair<int, int> c = hp[1];
    hp[1] = hp[top--];
    pop_heap(hp + 1, hp + top + 1, cmp);
    if (dis[c.second] ^ c.first) continue;
    int u = c.second, v;
    for (int i = last[u]; i; i = e[i].n)
      if (v = e[i].t, e[i].v && dis[u] + e[i].c + h[u] - h[v] < dis[v]) {
        dis[v] = dis[u] + e[i].c + h[u] - h[v];
        pid[v] = i;
        hp[++top] = pair<int, int>(dis[v], v);
        push_heap(hp + 1, hp + top + 1, cmp);
      }
  }
  return dis[n] != INF;
}
vector<int> mcmf() {
  vector<int> S;
  while (dijkstra()) {
    S.push_back(dis[n] + h[n]);
    for (int i = n; i ^ 1; i = e[pid[i] ^ 1].t)
      e[pid[i]].v--, e[pid[i] ^ 1].v++;
    for (int i(1); i <= int(n); i++)
      if (dis[i] ^ INF) h[i] += dis[i];
  }
  return S;
}
void solve() {
  n = read(), m = read();
  for (int i(1); i <= int(m); i++) {
    int u = read(), v = read(), w = read();
    addedge(u, v, w);
  }
  auto S = mcmf();
  int q = read();
  while (q--) {
    int x = read();
    double ans = 1e18;
    int flw = 0;
    double cst = 0.0;
    for (const int &e : S) {
      ++flw, cst += e;
      ans = min(ans, (cst + x) / flw);
    }
    printf("%.10lf\n", ans);
  }
}
int main() {
  for (int T = 1; T--;) solve();
  return 0;
}
