#include <stdio.h>
#include <vector>
using namespace std;
vector<long long>a(200005),c(200005);
int n;
int lowbit(int x)
{return x&-x;
}
long long SUM(int y)
{long long sum = 0;for(int i = y; i > 0; i-=lowbit(i))sum += c[i];return sum;
}
void update(int y,int k)
{for(int i = y; i <= n; i+=lowbit(i))c[i] += k;
}
int main()
{int Q,C = 0;while(~scanf("%d",&n)){for(int i = 1; i<= n; i++){scanf("%lld",&a[i]);update(i,a[i]);}scanf("%d",&Q);printf("Case %d:\n",++C);while(Q--){int num,l,r,t;scanf("%d",&num);if(num==1){scanf("%d%d",&l,&r);long long sum = SUM(r)-SUM(l-1);printf("%lld\n",sum);}else{scanf("%d",&t);a.insert(a.begin()+1,t);n++;fill(c.begin(),c.begin()+n+1,0);//動態數組賦值for(int i = 1; i<= n; i++){update(i,a[i]);}}}}return 0;
}