#include <bits/stdc++.h>
#define MAXN 1000
#define MAXM 1000
using namespace std;

int n, m, p, x, y, v, z, t, s = 0, city = 2, l, r, i, j;
int vmestimost[MAXN+1][MAXM+1];
void solve() {
    scanf("%d %d", &n, &m);
    for(int xu = 1; xu <= m; xu++) {
        scanf("%d", &vmestimost[1][xu]);
    }

    for(int xu = 1; xu <= n-1; xu++) {
        scanf("%d %d %d %d %d %d", &p, &x, &y, &v, &z, &t);
        l = ((x+s) % m)+1;
        r = ((y+s) % m)+1;
        i = ((z+s) % m)+1;
        j = ((t+s) % m)+1;
        for(int k = 1; k <= m; k++) vmestimost[city][k] = vmestimost[p][k];

        for(int k = l; k <= r; k++) vmestimost[city][k] += v;
        s = 0;
        for(int nu = i; nu <= j; nu++) s += vmestimost[city][nu];
        cout << s << endl;
        city++;
    }




}

int main(){
    solve();
    return 0;
}
