#include <bits/stdc++.h>
using namespace std;
static const double EPS = 1e-10;
double getv(double my_v, double opp_v, double my_m, double opp_m) {
  return ((my_m - opp_m) * my_v + 2 * opp_m * opp_v) / (opp_m + my_m);
}
double colTime(double v1, double x1, double v2, double x2) {
  return (x1 - x2) / (v2 - v1);
}
double isequal(double a, double b) { return fabs(a - b) < EPS; }
int main() {
  int n;
  double T;
  cin >> n >> T;
  double v[10], m[10], x[10];
  for (int i = 0; i < n; i++) cin >> x[i] >> v[i] >> m[i];
  double t = 0;
  while (t < T) {
    double mi = T - t;
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < n; j++) {
        if (i != j) {
          if (colTime(v[i], x[i], v[j], x[j]) > EPS) {
            mi = min(mi, colTime(v[i], x[i], v[j], x[j]));
          }
        }
      }
    }
    for (int i = 0; i < n; i++) {
      x[i] += mi * v[i];
    }
    for (int i = 0; i < n; i++) {
      for (int j = i + 1; j < n; j++) {
        if (isequal(x[i], x[j])) {
          double V1 = getv(v[i], v[j], m[i], m[j]);
          double V2 = getv(v[j], v[i], m[j], m[i]);
          v[i] = V1;
          v[j] = V2;
        }
      }
    }
    t += mi;
  }
  for (int i = 0; i < n; i++) {
    printf("%.10lf\n", x[i]);
  }
}
