#include<stdio.h>
short v[100000];
int elf(int i, int j)
{
    short a=0;
    while(i<=j)a^=v[i++];
    return a;
}
int sum(int a, int b)
{
    int s=0,i,j;
    for(i=a;i<=b;i++)for(j=i;j<=b;j++)s+=elf(i,j);
    return s;
}
int main()
{
    long m,n;
    int c,i,p,x;
    scanf("%li",&n);
    scanf("%li",&m);
    for(i=0;i<n;i++)scanf("%hi",v+i);
    for(i=0;i<m;i++)
    {
        scanf("%i",&c);
        scanf("%i",&p);
        scanf("%i",&x);
        switch(c)
        {
        case 1:
            v[p]=x;
            break;
        case 2:
            printf("%i\n", sum(p,x));
            break;
        }
    }
    return 0;
}