#include <bits/stdc++.h>
using namespace std;
struct stvar {
  long long a, b, k;
  bool operator<(stvar x) const { return b > x.b; }
} a[505];
long long dp[505][505];
int n;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  cerr.tie(nullptr);
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> a[i].a >> a[i].b >> a[i].k;
  sort(a + 1, a + n + 1);
  long long sol = 0;
  for (int i = 1; i <= n; i++) {
    long long flat = a[i].a - a[i].b * a[i].k;
    for (int j = 0; j <= n; j++) {
      long long line =
          j == 0 ? -123123123123123123ll : a[i].a - a[i].b * (j - 1);
      dp[i][j] = max({
          dp[i - 1][j - 1] + line,
          0ll,
          dp[i - 1][j],
          dp[i - 1][j] + flat,
      });
      sol = max(sol, dp[i][j]);
    }
  }
  cout << sol << '\n';
}
