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