#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; }