/*
* 123_2.cpp
*
* Created on: 2013騫?鏈?3鏃?br /> * Author: panzhizhou
*/
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
typedef struct Node
{
int left;
int right;
int num;
}Node;
Node node[1000003<<2];
int T,M;
void build(int root,int l,int r){
node[root].left=l;
node[root].right=r;
node[root].num=0;
if(l<r) //鏈鍚庝竴嬈″ 2-3 錛屽氨浼氫駭鐢?-2錛?-3
{
int mid=(l+r)>>1;
build(root<<1,l,mid);
build(root<<1|1,mid+1,r);
}
}
void insert(int root,int b,int e,int v){
if(node[root].left>=b&&node[root].right<=e) //濡傛灉b,e鍖呭惈褰撳墠root鐨勮寖鍥達紝鍒欏彲浠ユ彃鍏ユ悳绱㈣寖鍥存埅姝?br /> {
node[root].num+=v;
return ;
}
int mid=(node[root].left+node[root].right)>>1;
if(e<=mid){
insert(root<<1,b,e,v);
}
else if(b>mid){ //鍙沖瓙鏍?br /> insert(root<<1|1,b,e,v);
}
else
{
insert(root<<1,b,mid,v);
insert(root<<1|1,mid+1,e,v);
}
}
int Sum(int root,int x){
if(node[root].left==node[root].right){
return node[root].num;
}
int sum=node[root].num;
int mid=(node[root].left+node[root].right)>>1;
if(x<=mid){
sum+=Sum(root<<1,x);
}
else{
sum+=Sum(root<<1|1,x);
}
return sum;
}
int main()
{
//string s;
char s[11];
cin>>T>>M;
build(1,1,M);
for(int i=0;i<T;i++){
//cin>>s;
scanf("%s",s);
if(s[0]=='A'){
int l,r,v;
// cin>>l>>r>>v;
scanf("%d%d%d",&l,&r,&v);
insert(1,l,r,v);
}
else
{
int n;
// cin>>n;
scanf("%d",&n);
//cout<<Sum(1,n)<<endl;
printf("%d\n",Sum(1,n));
}
}
}