#include <bits/stdc++.h>
using namespace std;
double x[20], v[20], m[20];
vector<pair<double, int> > p;
int main(void) {
  int N, i;
  double T;
  cin >> N >> T;
  for ((i) = 0; (i) < (int)(N); (i)++) cin >> x[i] >> v[i] >> m[i];
  for ((i) = 0; (i) < (int)(N); (i)++) p.push_back(make_pair(x[i], i));
  sort(p.begin(), p.end());
  double t = 0.0;
  while (1) {
    int a = -1, b = -1;
    double next = T;
    for ((i) = 0; (i) < (int)(N - 1); (i)++) {
      int a2 = p[i].second, b2 = p[i + 1].second;
      if (v[a2] > v[b2]) {
        double tmp = t + (x[b2] - x[a2]) / (v[a2] - v[b2]);
        if (tmp < next) {
          next = tmp;
          a = a2;
          b = b2;
        }
      }
    }
    if (a == -1) break;
    for ((i) = 0; (i) < (int)(N); (i)++) x[i] += v[i] * (next - t);
    double va = ((m[a] - m[b]) * v[a] + 2 * m[b] * v[b]) / (m[a] + m[b]);
    double vb = ((m[b] - m[a]) * v[b] + 2 * m[a] * v[a]) / (m[a] + m[b]);
    v[a] = va;
    v[b] = vb;
    t = next;
  }
  for ((i) = 0; (i) < (int)(N); (i)++) x[i] += v[i] * (T - t);
  for ((i) = 0; (i) < (int)(N); (i)++) printf("%.9f\n", x[i]);
  return 0;
}
