#include using namespace std; const int SQRT = 340; const int MAX = 100000; int main(){ int N, M; cin >> N >> M; vector> imos(SQRT, vector(MAX + 2, 0)); vector cnt(MAX + 1, 0); for (int i = 0; i < N; i++){ int L, R, X, Y; cin >> L >> R >> X >> Y; if (L % X <= Y){ L += Y - L % X; } else { L += Y - L % X + X; } if (R % X >= Y){ R -= R % X - Y; } else { R -= R % X - Y + X; } if (L <= R){ if (X < SQRT){ imos[X][L]++; if (R + X < MAX + 2){ imos[X][R + X]--; } } else { for (int j = L; j <= R; j += X){ cnt[j]++; } } } } for (int i = 1; i < SQRT; i++){ for (int j = 0; j <= MAX; j++){ if (j >= i){ imos[i][j] += imos[i][j - i]; } cnt[j] += imos[i][j]; } } for (int i = 0; i < M; i++){ int A; cin >> A; cout << cnt[A] << endl; } }