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