#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e9 + 10, MAX = 2e5 + 1e4, MOD = 1e9 + 7, MAXL = 25;
void OUT(long double o, int x) {
  cout << fixed << setprecision(x) << o;
  return;
}
long long b[MAX];
pair<pair<long long, long long>, pair<long long, long long> > a[MAX];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n, s;
  cin >> n >> s;
  for (int i = 0; i < n; i++) {
    cin >> a[i].first.second >> a[i].second.first >> a[i].second.second;
    a[i].first.first = a[i].second.second - a[i].second.first;
  }
  sort(a, a + n);
  long long sum10 = 0, sum11, ans = 0;
  for (int i = 0; i < n; i++) {
    if (a[i].first.first > 0) break;
    sum10 += a[i].first.second;
  }
  sum11 = sum10 - (sum10 % s);
  for (int i = 0; i < n; i++) {
    if (a[i].first.first > 0) break;
    if (sum11 >= a[i].first.second) {
      ans += a[i].second.first * a[i].first.second;
      sum11 -= a[i].first.second;
      a[i].first.second = 0;
    } else {
      ans += a[i].second.first * sum11;
      a[i].first.second -= sum11;
      sum11 = 0;
    }
  }
  long long sum00 = 0, sum01;
  for (int i = n - 1; i >= 0; i--) {
    if (a[i].first.first <= 0) break;
    sum00 += a[i].first.second;
  }
  sum01 = sum00 - (sum00 % s);
  for (int i = n - 1; i >= 0; i--) {
    if (a[i].first.first <= 0) break;
    if (sum01 >= a[i].first.second) {
      ans += a[i].second.second * a[i].first.second;
      sum01 -= a[i].first.second;
      a[i].first.second = 0;
    } else {
      ans += a[i].second.second * sum01;
      a[i].first.second -= sum01;
      sum01 = 0;
    }
  }
  if ((sum00 % s) + (sum10 % s) > s) {
    for (int i = 0; i < n; i++) {
      if (a[i].first.first <= 0)
        ans += a[i].first.second * a[i].second.first;
      else
        ans += a[i].first.second * a[i].second.second;
    }
    cout << ans;
  } else {
    long long x = 0, y = 0;
    for (int i = 0; i < n; i++) {
      x += a[i].first.second * a[i].second.first;
      y += a[i].first.second * a[i].second.second;
    }
    cout << ans + max(x, y);
  }
  return 0;
}
