#include<bits/stdc++.h>
#define NAME "slime"
#define ll long long
#define N int(1e6)
using namespace std;
ll n,k,ans;
ll x;
unordered_map<ll,ll>cnt;
void sub1()
{
ll min1=1e18,max1=-1e18;
for(int i=1;i<=n;i++)
{
ll a,b,c,t;
cin>>a>>b>>c>>t;
min1=min(min1,t);
ll cur=0;
while(cur<c)
{
t++;
cur+=a;
if(cur>=x) cnt[t]++;
}
while(cur>=x)
{
t++;
cur-=b;
if(cur>=x) cnt[t]++;
}
max1=max(max1,t);
}
for(int i=min1;i<=max1;i++) //cout<<i<<" "<<cnt[i]<<'\n';
{
if(cnt[i]>=k) ans++;
}
cout<<ans;
}
ll pre[N+10];
void sub2()
{
ll sl=0;
set<ll>st;
vector<ll>v;
for(int i=1;i<=n;i++)
{
ll a,b,c,t;
cin>>a>>b>>c>>t;
ll l=x/a+t;
if(((l-t)*a)<x) l++;
ll r=c/a+t;
if(((r-t)*a)<c) r++;
if(l>r) continue;
cnt[l]++;
cnt[r+1]--;
//cout<<i<<" "<<l<<" "<<r<<'\n';
st.insert(l);
st.insert(r+1);
sl++;
ll cur=(r-t)*a;
if(cur-b<x) continue;
ll cur1=cur;
cur-=x;
ll r1=((cur/b)+r);
if((cur1-(r1-r)*b)<x) r1--;
if(r>r1) continue;
cnt[r+1]++;
cnt[r1+1]--;
st.insert(r+1);
st.insert(r1+1);
sl++;
//cout<<i<<" "<<r+1<<" "<<r1<<'\n';
}
if(sl==0)
{
cout<<0;
return;
}
for(auto x:st) v.push_back(x);
for(int i=0;i<v.size()-1;i++) //cout<<x<<" "<<cnt[x]<<'\n';
{
ll x=v[i];
ll y=v[i+1]-1;
pre[i]=pre[i-1]+cnt[x];
//cout<<x<<" "<<pre[i]<<'\n';
if(pre[i]>=k) ans+=(y-x)+1;
}
cout<<ans;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
if(fopen(NAME ".inp", "r"))
{
freopen(NAME ".inp", "r", stdin);
freopen(NAME ".out", "w", stdout);
}
cin>>n>>k>>x;
if(n<=1000 && k<=1000)
{
sub1();
return 0;
}
sub2();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBOQU1FICJzbGltZSIKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBOIGludCgxZTYpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmxsIG4sayxhbnM7CmxsIHg7CnVub3JkZXJlZF9tYXA8bGwsbGw+Y250Owp2b2lkIHN1YjEoKQp7CiAgICBsbCBtaW4xPTFlMTgsbWF4MT0tMWUxODsKCiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgIHsKICAgICAgICBsbCBhLGIsYyx0OwogICAgICAgIGNpbj4+YT4+Yj4+Yz4+dDsKICAgICAgICBtaW4xPW1pbihtaW4xLHQpOwogICAgICAgIGxsIGN1cj0wOwogICAgICAgIHdoaWxlKGN1cjxjKQogICAgICAgIHsKICAgICAgICAgICAgdCsrOwogICAgICAgICAgICBjdXIrPWE7CiAgICAgICAgICAgIGlmKGN1cj49eCkgY250W3RdKys7CiAgICAgICAgfQogICAgICAgIHdoaWxlKGN1cj49eCkKICAgICAgICB7CiAgICAgICAgICAgIHQrKzsKICAgICAgICAgICAgY3VyLT1iOwogICAgICAgICAgICBpZihjdXI+PXgpIGNudFt0XSsrOwogICAgICAgIH0KICAgICAgICBtYXgxPW1heChtYXgxLHQpOwogICAgfQogICAgZm9yKGludCBpPW1pbjE7aTw9bWF4MTtpKyspIC8vY291dDw8aTw8IiAiPDxjbnRbaV08PCdcbic7CiAgICB7CiAgICAgICAgaWYoY250W2ldPj1rKSBhbnMrKzsKICAgIH0KICAgIGNvdXQ8PGFuczsKfQpsbCBwcmVbTisxMF07CnZvaWQgc3ViMigpCnsKICAgIGxsIHNsPTA7CiAgICBzZXQ8bGw+c3Q7CiAgICB2ZWN0b3I8bGw+djsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKQogICAgewogICAgICAgIGxsIGEsYixjLHQ7CiAgICAgICAgY2luPj5hPj5iPj5jPj50OwoKICAgICAgICBsbCBsPXgvYSt0OwogICAgICAgIGlmKCgobC10KSphKTx4KSBsKys7CiAgICAgICAgbGwgcj1jL2ErdDsKICAgICAgICBpZigoKHItdCkqYSk8YykgcisrOwogICAgICAgIGlmKGw+cikgY29udGludWU7CiAgICAgICAgY250W2xdKys7CiAgICAgICAgY250W3IrMV0tLTsKICAgICAgICAvL2NvdXQ8PGk8PCIgIjw8bDw8IiAiPDxyPDwnXG4nOwogICAgICAgIHN0Lmluc2VydChsKTsKICAgICAgICBzdC5pbnNlcnQocisxKTsKICAgICAgICBzbCsrOwogICAgICAgIGxsIGN1cj0oci10KSphOwogICAgICAgIGlmKGN1ci1iPHgpIGNvbnRpbnVlOwogICAgICAgIGxsIGN1cjE9Y3VyOwogICAgICAgIGN1ci09eDsKICAgICAgICBsbCByMT0oKGN1ci9iKStyKTsKICAgICAgICBpZigoY3VyMS0ocjEtcikqYik8eCkgcjEtLTsKICAgICAgICBpZihyPnIxKSAgY29udGludWU7CiAgICAgICAgY250W3IrMV0rKzsKICAgICAgICBjbnRbcjErMV0tLTsKICAgICAgICBzdC5pbnNlcnQocisxKTsKICAgICAgICBzdC5pbnNlcnQocjErMSk7CiAgICAgICAgc2wrKzsKICAgICAgICAvL2NvdXQ8PGk8PCIgIjw8cisxPDwiICI8PHIxPDwnXG4nOwogICAgfQogICAgaWYoc2w9PTApCiAgICB7CiAgICAgICAgY291dDw8MDsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBmb3IoYXV0byB4OnN0KSB2LnB1c2hfYmFjayh4KTsKICAgIGZvcihpbnQgaT0wO2k8di5zaXplKCktMTtpKyspIC8vY291dDw8eDw8IiAiPDxjbnRbeF08PCdcbic7CiAgICB7CiAgICAgICAgbGwgeD12W2ldOwogICAgICAgIGxsIHk9dltpKzFdLTE7CiAgICAgICAgcHJlW2ldPXByZVtpLTFdK2NudFt4XTsKICAgICAgICAvL2NvdXQ8PHg8PCIgIjw8cHJlW2ldPDwnXG4nOwogICAgICAgIGlmKHByZVtpXT49aykgYW5zKz0oeS14KSsxOwogICAgfQogICAgY291dDw8YW5zOwp9CmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7CiAgICBpZihmb3BlbihOQU1FICIuaW5wIiwgInIiKSkKICAgIHsKICAgICAgICBmcmVvcGVuKE5BTUUgIi5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKE5BTUUgIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CgogICAgY2luPj5uPj5rPj54OwogICAgaWYobjw9MTAwMCAmJiBrPD0xMDAwKQogICAgewogICAgICAgIHN1YjEoKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHN1YjIoKTsKCgogICAgcmV0dXJuIDA7Cn0KCg==