#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,n) memset(a,n,sizeof(a))
void pre(ll ind1,ll ind2,int a[],ll p,ll n){
	ll sum=0;
	for(int ind=ind1;ind<=ind2;ind++){
		if(ind+p-1<=n){
			ll ab=0;
			for(int i=ind;i<ind+p;i++)
			ab=ab^a[i];
			sum+=ab;
		}
	}
	cout<<sum<<endl;
}
int main(){
	ll n,m,p;
	cin>>n>>m>>p;
	int a[n+1];
	for(int i=1;i<=n;i++)
	cin>>a[i];
	while(m--){
		ll x,y,z;
		cin>>x>>y>>z;
		if(x==1){
			a[y]=a[y]^z;
		}
		else{
			pre(y,z,a,p,n);
		}
	}
}