#include <bits/stdc++.h>

using namespace std;

int main()
{
    
    int n,m,p;
    cin>>n>>m>>p;
    
    int arr[n],i;
    for(i=0;i<n;i++)
        cin>>arr[i];
    
    while(m--)
    {
        int q,param1,param2;
        cin>>q>>param1>>param2;
        
        if(q==1)
            arr[param1-1]=arr[param1-1]^param2;
        
        
        else
        {
        
            int j=param1-1;
            int k=param2-1;
            long sum=0;
            for(;j<=k;j++)
            {
                
                int l,exor=0;
                if(j+p-1>=n)
                    continue;
                for(l=j;l<j+p;l++)
                {
                    exor^=arr[l];
                }
                sum+=exor;
            }
            cout<<sum<<endl;
        }
    }
    return 0;
}