#include <bits/stdc++.h>
using namespace std;
const int M = 1e5 + 10;
int A[M], B[M];
double P[M];
int n;
long long t;
struct point {
  double x, y;
  bool operator<(const point &a) const {
    return y > a.y || (y == a.y && x > a.x);
  }
} pp[M], stk[M];
double slope(point a, point b) { return (b.y - a.y) / (b.x - a.x); }
double fpow(double a, long long b) {
  double res = 1;
  for (; b; b >>= 1, a *= a)
    if (b & 1) res *= a;
  return res;
}
double calc1(double p, double times, double kk) {
  return kk * (1.0 - fpow(p, times + 1)) / (1.0 - p);
}
double calc2(double p, double times, double kk) {
  return kk * (calc1(p, times, 1) - times * fpow(p, times + 1) - 1.0) /
         (1.0 - p);
}
double calc_ans(long long st, long long en, double kk, double bb, double p,
                double stp) {
  if (st == en) return stp;
  double t1 = fpow(p, en - st) * stp;
  double t2 =
      calc1(p, en - st - 1, kk * (en - 1) + bb) + calc2(p, en - st - 1, -kk);
  return t1 + t2;
}
double maxv;
int top;
void find_convexhull() {
  sort(pp + 1, pp + n + 1);
  for (int i = 1; i <= n; i++) {
    if (pp[i].y == stk[top].y || pp[i].x < stk[top].x) continue;
    while (top >= 2 && slope(stk[top], pp[i]) >= slope(stk[top - 1], stk[top]))
      --top;
    stk[++top] = pp[i];
  }
}
long long tim, l, r, mid;
double lsans, recans;
int main() {
  scanf("%d%I64d", &n, &t);
  for (int i = 1; i <= n; i++) {
    scanf("%d%d%lf", &A[i], &B[i], &P[i]);
    maxv = max(maxv, B[i] * P[i]);
    pp[i].x = P[i];
    pp[i].y = A[i] * P[i];
  }
  find_convexhull();
  for (int i = 1; i <= top; i++) {
    if (tim == t) break;
    double t1 = stk[i].x * maxv, t2 = stk[i].y, tp = (1.0 - stk[i].x);
    l = tim, r = t;
    if (i == top) l = t;
    while (l ^ r) {
      mid = l + r >> 1;
      recans = calc_ans(tim, mid, t1, t2, tp, lsans);
      if (slope(stk[i], stk[i + 1]) >= recans - mid * maxv)
        r = mid;
      else
        l = mid + 1;
    }
    lsans = calc_ans(tim, l, t1, t2, tp, lsans);
    tim = l;
  }
  printf("%.8lf\n", lsans);
  return 0;
}
