#include <iostream>
typedef long long i64;
i64 t[1001][1000];
int main(){
	std::size_t n, m;
	std::cin>>n>>m;
	for(std::size_t i=0;i<m;i++){
		std::cin>>t[1][i];
	}
	i64 s=0;
	for(std::size_t cur=2;cur<=n;cur++){
		std::size_t p, l, r, i, j;
		i64 v;
		std::cin>>p>>l>>r>>v>>i>>j;
		l=(l+s)%m;
		r=(r+s)%m+1;
		i=(i+s)%m;
		j=(j+s)%m+1;
		std::copy(t[p], t[p]+m, t[cur]);
		for(std::size_t k=l;k<r;k++){
			t[cur][k]+=v;
		}
		s=0;
		for(std::size_t k=i;k<j;k++){
			s+=t[cur][k];
		}
		std::cout<<s<<'\n';
	}
	return 0;
}
