#include <bits/stdc++.h>
using namespace std;
const long long INF = 9223372036854775807ll;
const int inf = 2147483647, nmax = 1000006;
struct thing {
  long long a, b, c, i;
  bool operator<(const thing &obj) const { return c < obj.c; }
} e[nmax], e2[nmax], apm[nmax];
struct thing2 {
  long long a, b, c, i, st, dr, mid, ans;
  bool operator<(const thing2 &obj) const { return mid < obj.mid; }
};
long long n, m, c[nmax], rng[nmax], v[nmax], ans[nmax];
vector<thing2> r;
long long find(long long x) {
  if (x == c[x]) return x;
  return c[x] = find(c[x]);
}
void unite(long long x, long long y) {
  if (x == y) return;
  if (rng[x] > rng[y])
    c[y] = x;
  else
    c[x] = y;
  if (rng[x] == rng[y]) ++rng[y];
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n >> m;
  for (int i = 1; i <= m; ++i) {
    cin >> e[i].a >> e[i].b >> e[i].c;
    e[i].i = i;
    e2[i] = e[i];
    ans[i] = -1;
  }
  sort(e2 + 1, e2 + m + 1);
  for (int i = 1; i <= n; ++i) rng[i] = 1, c[i] = i;
  int p = 0;
  for (int i = 1; i <= m; ++i)
    if (find(e2[i].a) != find(e2[i].b)) {
      apm[++p] = e2[i];
      unite(find(e2[i].a), find(e2[i].b));
      v[p] = e2[i].c;
    } else {
      thing2 obj;
      obj.a = e2[i].a;
      obj.b = e2[i].b;
      obj.c = e2[i].c;
      obj.i = e2[i].i;
      obj.st = 1;
      obj.dr = n - 1;
      r.push_back(obj);
    }
  sort(v + 1, v + n);
  for (int t = 1; t <= 32; ++t) {
    for (auto &x : r) x.mid = (x.st + x.dr) / 2;
    sort(r.begin(), r.end());
    for (int i = 1; i <= n; ++i) rng[i] = 1, c[i] = i;
    unsigned p = 0;
    for (int i = 1; i < n; ++i) {
      unite(find(apm[i].a), find(apm[i].b));
      while (p < r.size() && v[r[p].mid] <= apm[i].c) {
        if (find(r[p].a) == find(r[p].b)) {
          r[p].dr = r[p].mid - 1;
          r[p].ans = v[r[p].mid];
        } else
          r[p].st = r[p].mid + 1;
        ++p;
      }
    }
  }
  for (auto x : r) ans[x.i] = x.ans;
  for (int i = 1; i <= m; ++i)
    if (ans[i] != -1) cout << ans[i] << "\n";
  return 0;
}
