#include<stdio.h>

int main()
{
    int n,m,p;
    scanf("%d%d%d",&n,&m,&p);
    int a[n];
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    int k;
    for(k=0;k<m;k++)
    {
        int x,y,z;
        scanf("%d%d%d",&x,&y,&z);
        if(x == 1)
        {
            a[y-1] = a[y-1]^z;
        }
        else
            if(x == 2)
            {
                int sum =0;
                int s;
                for(i=y-1;i<=z-1;i++)
                {
                    s=0;
                    if(i+p-1 <= n-1)
                    {
                        int l;
                        for(l=i;l<=i+p-1;l++)
                        {
                            s = s^a[l];
                        }
                    }
                    
                    sum = sum + s;
                }
                printf("%d\n",sum);
            }
    }
}