#include <bits/stdc++.h>

using namespace std;
#define ll long long
ll Pf(ll i,ll n,ll p,ll arr[])
{
    if(i+p-1>n) return 0;
    ll xo=0;
    for(ll j=i;j<=i+p-1;j++)
    {
        //int x=j;
        xo=xo^arr[j];
    }
    return xo;
}
int main()
{
    ll n,m,p;
    cin>>n>>m>>p;
    ll arr[n+1]={0};
    for(ll i=1;i<=n;i++) cin>>arr[i];
    for(ll i=0;i<m;i++)
    {
        int a;
        cin>>a;
        if(a==1)
        {
            ll ind,ne;
            cin>>ind>>ne;
            //ind--;
            arr[ind]=arr[ind]^ne;
        }
        else
        {
            ll l,r;
            cin>>l>>r;
            //l--;r--;
            ll s=0;
            for(ll j=l;j<=r;j++)
                s+=Pf(j,n,p,arr);
            cout<<s<<endl;
        }
        //for(ll j=0;j<=n;j++) cout<<arr[j]<<" ";
        //cout<<endl;
    }
}