#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
ll n,m,p,i,a[101010],ta,tb,hz;
ll P(ll aa)
{
	if(aa+p-1<=n)
	{
		ll ii,H=0;
		for(ii=aa;ii<=aa+p-1;ii++)	
			H^=a[ii];
		return H;
	}
	else
		return 0;
}
int main()
{
	cin>>n>>m>>p;
	for(i=1;i<=n;i++)
		cin>>a[i];
	while(m--)
	{
		cin>>ta;
		if(ta==1)
		{
			cin>>ta>>tb;
			a[ta]=a[ta]^tb;
		}
		else
		{
			cin>>ta>>tb;
			hz=0;
			for(i=ta;i<=tb;i++)
			{
				hz+=P(i);
		//		cout<<P(i)<<"\n";
			}
			cout<<hz<<"\n";
		}
	}
}