#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
const int SIZE = 1 << 17;
int a[SIZE], b[SIZE], c[SIZE];
long long f(int subscript, long long x) {
return a[subscript] * x * x + b[subscript] * x + c[subscript];
}
int v[SIZE];
void solve() {
int n, K;
cin >> n >> K;
long long an = 0;
priority_queue<pair<long long, int>> pq;
for(int i = 0; i < n; i++) {
cin >> a[i] >> b[i] >> c[i];
an += f(i, 0);
v[i] = 0;
pq.push({f(i, 0) - f(i, 1), i});
}
while(K--) {
long long inc = pq.top().first;
int id = pq.top().second;
pq.pop();
an -= inc;
v[id]++;
pq.push({f(id, v[id]) - f(id, v[id] + 1), id});
}
cout << an << '\n';
}
int main() {
cin.tie(0);
ios_base::sync_with_stdio(false);
solve();
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHF1ZXVlPgojaW5jbHVkZTxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBTSVpFID0gMSA8PCAxNzsKaW50IGFbU0laRV0sIGJbU0laRV0sIGNbU0laRV07CmxvbmcgbG9uZyBmKGludCBzdWJzY3JpcHQsIGxvbmcgbG9uZyB4KSB7CiAgICByZXR1cm4gYVtzdWJzY3JpcHRdICogeCAqIHggKyBiW3N1YnNjcmlwdF0gKiB4ICsgY1tzdWJzY3JpcHRdOwp9CmludCB2W1NJWkVdOwp2b2lkIHNvbHZlKCkgewogICAgaW50IG4sIEs7CiAgICBjaW4gPj4gbiA+PiBLOwogICAgbG9uZyBsb25nIGFuID0gMDsKICAgIHByaW9yaXR5X3F1ZXVlPHBhaXI8bG9uZyBsb25nLCBpbnQ+PiBwcTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYVtpXSA+PiBiW2ldID4+IGNbaV07CiAgICAgICAgYW4gKz0gZihpLCAwKTsKICAgICAgICB2W2ldID0gMDsKICAgICAgICBwcS5wdXNoKHtmKGksIDApIC0gZihpLCAxKSwgaX0pOwogICAgfQogICAgd2hpbGUoSy0tKSB7CiAgICAgICAgbG9uZyBsb25nIGluYyA9IHBxLnRvcCgpLmZpcnN0OwogICAgICAgIGludCBpZCA9IHBxLnRvcCgpLnNlY29uZDsKICAgICAgICBwcS5wb3AoKTsKICAgICAgICBhbiAtPSBpbmM7CiAgICAgICAgdltpZF0rKzsKICAgICAgICBwcS5wdXNoKHtmKGlkLCB2W2lkXSkgLSBmKGlkLCB2W2lkXSArIDEpLCBpZH0pOwogICAgfQogICAgY291dCA8PCBhbiA8PCAnXG4nOwp9CmludCBtYWluKCkgewogICAgY2luLnRpZSgwKTsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9