#include <iostream>
#include <vector>
#include <fstream>

using namespace std;

ifstream f ("date.in");

const int NMAX = 100000 + 1;
const int MMAX = 100000 + 1;

int n, m, crt;
long long v[MMAX], d[NMAX], sol[NMAX];

void citeste() {
    cin >> n >> m;
    for (int i = 1; i <= m; i++) {
        cin >> d[i];
        v[i] = d[i] + v[i - 1];
    }
}

void rezolva() {
    int x, y, val, z, t, l, r, p, a, b, s;
    for (int i = 2; i <= n; i++) {
        cin >> p >> x >> y >> val >> z >> t;
        s = sol[p];
        l = ((x + s) % m) + 1; r = ((y + s) % m) + 1;
        a = ((z + s) % m) + 1; b = ((t + s) % m) + 1;
        for (int j = l; j <= r; j++) {
            d[j] += val;
            v[j] = v[j - 1] + d[j];
        }
        for (int j = r + 1; j <= m; j++) {
            v[j] = d[j] + v[j - 1];
        }

        sol[i] = v[b] - v[a - 1];
        cout << sol[i] << '\n';
    }
}

int main() {
    citeste();
    rezolva();
    return 0;
}

