#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define DD double
#define mem(a, b) memset(a, b, sizeof(a))
#define fast ios_base::sync_with_stdio(0);cin.tie(0)
const int mx1 = 15;
const int mx2 = 105;
const int mx3 = 1005;
const int mx4 = 10005;
const int mx5 = 100005;
const int mx6 = 1000005;
const LL inf = 1e18;
const DD EPSILON = 1e-10;
LL _toggle(LL N, int pos) {return N = N ^ (1ll << pos);}
LL _set(LL N, int pos) {return N = N | (1ll << pos);}
LL _reset(LL N, int pos) {return N = N & ~(1ll << pos);}
LL _set_bit(LL N, int pos, bool B){if(B){N |= (1LL << pos);}else{N &= ~(1LL << pos);}return N;}
bool _get(LL N, int pos) {return (bool)(N & (1ll << pos));}
bool _upper(char a) {return a >= 'A' && a <= 'Z';}
bool _lower(char a) {return a >= 'a' && a <= 'z';}
bool _digit(char a) {return a >= '0' && a <= '9';}
DD _fmax(DD a, DD b) {if(fabs(a - b) < EPSILON) return a; return (a > b) ? a : b;}
DD _fmin(DD a, DD b) {if(fabs(a - b) < EPSILON) return a; return (a < b) ? a : b;}
bool _less(DD a, DD b) {if(fabs(a - b) < EPSILON) return false; return a < b;}
bool _eql(DD a, DD b) {if(fabs(a - b) < EPSILON) return true; return a == b;}
int dx[] = {1, -1, 0, 0, -1, -1, 1, 1};
int dy[] = {0, 0, 1, -1, -1, 1, -1, 1};
///******************************************************///
/*
g++-14 E.cpp -o E
*/
void clearAll()
{
}
void solve()
{
LL n, k;
cin >> n >> k;
vector<LL> a(n + 5, 0), p(n + 5, 0), b(n + 5, 0), q(n + 5, 0);
for(LL i = 1; i <= n; i++){
cin >> a[i] >> p[i] >> b[i] >> q[i];
}
LL lt = 1, rt = 1e9, mid;
while(lt <= rt){
mid = (lt + rt) / 2;
LL curTotalCost = 0;
for(LL i = 1; i <= n; i++){
LL curMnCost = 1e9;
LL needA, needB;
needA = (mid + a[i] - 1) / a[i];
for(LL j = 0; j <= 200; j++){
if(needA - j < 0){
break;
}
needB = (mid - j * a[i] + b[i] - 1) / b[i];
curMnCost = min(curMnCost, (needA - j) * p[i] + needB * q[i]);
}
needB = (mid + b[i] - 1) / b[i];
for(LL j = 0; j <= 200; j++){
if(needB - j < 0){
break;
}
needA = (mid - j * b[i] + a[i] - 1) / a[i];
curMnCost = min(curMnCost, needA * p[i] + (needB - j) * q[i]);
}
curTotalCost += curMnCost;
}
// cout << curTotalCost << ' ' << mid << '\n';
if(curTotalCost <= k){
lt = mid + 1;
}
else{
rt = mid - 1;
}
}
// LL curTotalCost = 0;
// for(LL i = 1; i <= n; i++){
// LL curMnCost = 1e9;
// LL needA, needB;
// needA = (rt + a[i] - 1) / a[i];
// for(LL j = 0; j <= 200; j++){
// if(needA - j < 0){
// break;
// }
// needB = (rt - j * a[i] + b[i] - 1) / b[i];
// curMnCost = min(curMnCost, (needA - j) * p[i] + needB * q[i]);
// }
// needB = (rt + b[i] - 1) / b[i];
// for(LL j = 0; j <= 200; j++){
// if(needB - j < 0){
// break;
// }
// needA = (rt - j * b[i] + a[i] - 1) / a[i];
// curMnCost = min(curMnCost, needA * p[i] + (needB - j) * q[i]);
// }
// curTotalCost += curMnCost;
// }
cout << rt << '\n';
}
void precalculation()
{
}
int main()
{
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
fast;
precalculation();
int TC = 1;
// cin >> TC;
while(TC--){
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBMTCBsb25nIGxvbmcKI2RlZmluZSBERCBkb3VibGUKI2RlZmluZSBtZW0oYSwgYikgbWVtc2V0KGEsIGIsIHNpemVvZihhKSkKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKQoKY29uc3QgaW50IG14MSA9IDE1Owpjb25zdCBpbnQgbXgyID0gMTA1Owpjb25zdCBpbnQgbXgzID0gMTAwNTsKY29uc3QgaW50IG14NCA9IDEwMDA1Owpjb25zdCBpbnQgbXg1ID0gMTAwMDA1Owpjb25zdCBpbnQgbXg2ID0gMTAwMDAwNTsKY29uc3QgTEwgaW5mID0gMWUxODsKY29uc3QgREQgRVBTSUxPTiA9IDFlLTEwOwoKTEwgX3RvZ2dsZShMTCBOLCBpbnQgcG9zKSB7cmV0dXJuIE4gPSBOIF4gKDFsbCA8PCBwb3MpO30KTEwgX3NldChMTCBOLCBpbnQgcG9zKSB7cmV0dXJuIE4gPSBOIHwgKDFsbCA8PCBwb3MpO30KTEwgX3Jlc2V0KExMIE4sIGludCBwb3MpIHtyZXR1cm4gTiA9IE4gJiB+KDFsbCA8PCBwb3MpO30KTEwgX3NldF9iaXQoTEwgTiwgaW50IHBvcywgYm9vbCBCKXtpZihCKXtOIHw9ICgxTEwgPDwgcG9zKTt9ZWxzZXtOICY9IH4oMUxMIDw8IHBvcyk7fXJldHVybiBOO30KYm9vbCBfZ2V0KExMIE4sIGludCBwb3MpIHtyZXR1cm4gKGJvb2wpKE4gJiAoMWxsIDw8IHBvcykpO30KYm9vbCBfdXBwZXIoY2hhciBhKSB7cmV0dXJuIGEgPj0gJ0EnICYmIGEgPD0gJ1onO30KYm9vbCBfbG93ZXIoY2hhciBhKSB7cmV0dXJuIGEgPj0gJ2EnICYmIGEgPD0gJ3onO30KYm9vbCBfZGlnaXQoY2hhciBhKSB7cmV0dXJuIGEgPj0gJzAnICYmIGEgPD0gJzknO30KREQgX2ZtYXgoREQgYSwgREQgYikge2lmKGZhYnMoYSAtIGIpIDwgRVBTSUxPTikgcmV0dXJuIGE7IHJldHVybiAoYSA+IGIpID8gYSA6IGI7fQpERCBfZm1pbihERCBhLCBERCBiKSB7aWYoZmFicyhhIC0gYikgPCBFUFNJTE9OKSByZXR1cm4gYTsgcmV0dXJuIChhIDwgYikgPyBhIDogYjt9CmJvb2wgX2xlc3MoREQgYSwgREQgYikge2lmKGZhYnMoYSAtIGIpIDwgRVBTSUxPTikgcmV0dXJuIGZhbHNlOyByZXR1cm4gYSA8IGI7fQpib29sIF9lcWwoREQgYSwgREQgYikge2lmKGZhYnMoYSAtIGIpIDwgRVBTSUxPTikgcmV0dXJuIHRydWU7IHJldHVybiBhID09IGI7fQoKaW50IGR4W10gPSB7MSwgLTEsIDAsIDAsIC0xLCAtMSwgMSwgMX07CmludCBkeVtdID0gezAsIDAsIDEsIC0xLCAtMSwgMSwgLTEsIDF9OwoKLy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8vCi8qCmcrKy0xNCBFLmNwcCAtbyBFCiovCgoKdm9pZCBjbGVhckFsbCgpCnsKICAgIAp9Cgp2b2lkIHNvbHZlKCkKewogICAgTEwgbiwgazsKICAgIGNpbiA+PiBuID4+IGs7CiAgICB2ZWN0b3I8TEw+IGEobiArIDUsIDApLCBwKG4gKyA1LCAwKSwgYihuICsgNSwgMCksIHEobiArIDUsIDApOwogICAgZm9yKExMIGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgICAgY2luID4+IGFbaV0gPj4gcFtpXSA+PiBiW2ldID4+IHFbaV07CiAgICB9CiAgICBMTCBsdCA9IDEsIHJ0ID0gMWU5LCBtaWQ7CiAgICB3aGlsZShsdCA8PSBydCl7CiAgICAgICAgbWlkID0gKGx0ICsgcnQpIC8gMjsKICAgICAgICBMTCBjdXJUb3RhbENvc3QgPSAwOwogICAgICAgIGZvcihMTCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgICAgICAgICBMTCBjdXJNbkNvc3QgPSAxZTk7CiAgICAgICAgICAgIExMIG5lZWRBLCBuZWVkQjsKICAgICAgICAgICAgbmVlZEEgPSAobWlkICsgYVtpXSAtIDEpIC8gYVtpXTsKICAgICAgICAgICAgZm9yKExMIGogPSAwOyBqIDw9IDIwMDsgaisrKXsKICAgICAgICAgICAgICAgIGlmKG5lZWRBIC0gaiA8IDApewogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbmVlZEIgPSAobWlkIC0gaiAqIGFbaV0gKyBiW2ldIC0gMSkgLyBiW2ldOwogICAgICAgICAgICAgICAgY3VyTW5Db3N0ID0gbWluKGN1ck1uQ29zdCwgKG5lZWRBIC0gaikgKiBwW2ldICsgbmVlZEIgKiBxW2ldKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBuZWVkQiA9IChtaWQgKyBiW2ldIC0gMSkgLyBiW2ldOwogICAgICAgICAgICBmb3IoTEwgaiA9IDA7IGogPD0gMjAwOyBqKyspewogICAgICAgICAgICAgICAgaWYobmVlZEIgLSBqIDwgMCl7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBuZWVkQSA9IChtaWQgLSBqICogYltpXSArIGFbaV0gLSAxKSAvIGFbaV07CiAgICAgICAgICAgICAgICBjdXJNbkNvc3QgPSBtaW4oY3VyTW5Db3N0LCBuZWVkQSAqIHBbaV0gKyAobmVlZEIgLSBqKSAqIHFbaV0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGN1clRvdGFsQ29zdCArPSBjdXJNbkNvc3Q7CiAgICAgICAgfQogICAgICAgIC8vIGNvdXQgPDwgY3VyVG90YWxDb3N0IDw8ICcgJyA8PCBtaWQgPDwgJ1xuJzsKICAgICAgICBpZihjdXJUb3RhbENvc3QgPD0gayl7CiAgICAgICAgICAgIGx0ID0gbWlkICsgMTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgcnQgPSBtaWQgLSAxOwogICAgICAgIH0KICAgIH0KICAgIC8vIExMIGN1clRvdGFsQ29zdCA9IDA7CiAgICAvLyBmb3IoTEwgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgIC8vICAgICBMTCBjdXJNbkNvc3QgPSAxZTk7CiAgICAvLyAgICAgTEwgbmVlZEEsIG5lZWRCOwogICAgLy8gICAgIG5lZWRBID0gKHJ0ICsgYVtpXSAtIDEpIC8gYVtpXTsKICAgIC8vICAgICBmb3IoTEwgaiA9IDA7IGogPD0gMjAwOyBqKyspewogICAgLy8gICAgICAgICBpZihuZWVkQSAtIGogPCAwKXsKICAgIC8vICAgICAgICAgICAgIGJyZWFrOwogICAgLy8gICAgICAgICB9CiAgICAvLyAgICAgICAgIG5lZWRCID0gKHJ0IC0gaiAqIGFbaV0gKyBiW2ldIC0gMSkgLyBiW2ldOwogICAgLy8gICAgICAgICBjdXJNbkNvc3QgPSBtaW4oY3VyTW5Db3N0LCAobmVlZEEgLSBqKSAqIHBbaV0gKyBuZWVkQiAqIHFbaV0pOwogICAgLy8gICAgIH0KICAgIC8vICAgICBuZWVkQiA9IChydCArIGJbaV0gLSAxKSAvIGJbaV07CiAgICAvLyAgICAgZm9yKExMIGogPSAwOyBqIDw9IDIwMDsgaisrKXsKICAgIC8vICAgICAgICAgaWYobmVlZEIgLSBqIDwgMCl7CiAgICAvLyAgICAgICAgICAgICBicmVhazsKICAgIC8vICAgICAgICAgfQogICAgLy8gICAgICAgICBuZWVkQSA9IChydCAtIGogKiBiW2ldICsgYVtpXSAtIDEpIC8gYVtpXTsKICAgIC8vICAgICAgICAgY3VyTW5Db3N0ID0gbWluKGN1ck1uQ29zdCwgbmVlZEEgKiBwW2ldICsgKG5lZWRCIC0gaikgKiBxW2ldKTsKICAgIC8vICAgICB9CiAgICAvLyAgICAgY3VyVG90YWxDb3N0ICs9IGN1ck1uQ29zdDsKICAgIC8vIH0KICAgIGNvdXQgPDwgcnQgPDwgJ1xuJzsKfQoKdm9pZCBwcmVjYWxjdWxhdGlvbigpCnsKCn0KCmludCBtYWluKCkKewogICAgLy9mcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKICAgIC8vZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIGZhc3Q7CiAgICBwcmVjYWxjdWxhdGlvbigpOwogICAgaW50IFRDID0gMTsKICAgIC8vIGNpbiA+PiBUQzsKICAgIHdoaWxlKFRDLS0pewogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0KCg==