#include #include using namespace std; using namespace atcoder; typedef modint998244353 mint; typedef long long ll; int main(){ // if X[i] <= 100, then do for anytime. const int BORDER = 250; const int MX = 100005; int n, m; cin >> n >> m; vector ans(m); vector bucket(MX); vector> imos(BORDER, vector(MX, 0)); for (int i=0; i> l >> r >> x >> y; r++; int v = ((l - y + x - 1) / x) * x + y; assert (l <= v); if (x >= BORDER){ while (v < r){ if (l <= v) bucket[v]++; v += x; } }else{ if (v < r){ imos[x][v]++; imos[x][v + ((r - v + x - 1) / x) * x]--; } } } for (int i=1; i a(m); for (int i=0; i> a[i]; ans[i] += bucket[a[i]]; for (int j=0; j