#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007

ll call(ll a[],ll k,ll n,ll p)
{
    if(k+p-1>n) return 0;
    ll ans=0;
    for(ll i=k;i<=k+p-1;i++)
    {
        ans=ans^a[i];
    }
    return ans;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	ll t,i,j,k,x,p,y,n,m;
    cin>>n>>m>>p;
    ll a[n+1];
    for(i=1;i<=n;i++)
        cin>>a[i];
    while(m--)
    {
        int type;
        cin>>type;
        if(type==1)
        {
            cin>>x>>y;
            a[x]=a[x]^y;
        }
        else
        {
            cin>>x>>y;
            ll ans=0;
            for(i=x;i<=y;i++)
            {
                ans+=call(a,i,n,p);                
            }
            cout<<ans<<"\n";
        }
    }
	return 0;
}