#include <bits/stdc++.h>
using namespace std;
#define LSOne(S) (S & (-S))
int ft[100009]={0};
int N;
void update(int k, int v) {
for (; k <= N; k += LSOne(k)) ft[k] += v;
}
void range_update(int i, int j, int v) {
update(i, v);
update(j + 1, -v);
}
long long int query(int b) {
long long int sum = 0;
for (; b; b -= LSOne(b)) sum += ft[b];
return sum;
}
int main() {
// your code goes here
int m;
long c;
cin>>N>>m>>c;
range_update(1,N,c);
while(m--)
{
char ch;
cin>>ch;
if(ch=='S')
{
int u,v,k;
cin>>u>>v>>k;
range_update(u,v,k);
}
else
{
int p;
cin>>p;
cout<<query(p)<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTFNPbmUoUykgKFMgJiAoLVMpKQppbnQgZnRbMTAwMDA5XT17MH07CmludCBOOwp2b2lkIHVwZGF0ZShpbnQgaywgaW50IHYpIHsKCWZvciAoOyBrIDw9IE47IGsgKz0gTFNPbmUoaykpIGZ0W2tdICs9IHY7Cn0KCnZvaWQgcmFuZ2VfdXBkYXRlKGludCBpLCBpbnQgaiwgaW50IHYpCXsKCXVwZGF0ZShpLCB2KTsKCXVwZGF0ZShqICsgMSwgLXYpOwp9CmxvbmcgbG9uZyBpbnQgcXVlcnkoaW50IGIpCXsKCWxvbmcgbG9uZyBpbnQgc3VtID0gMDsKCWZvciAoOyBiOyBiIC09IExTT25lKGIpKSBzdW0gKz0gZnRbYl07CglyZXR1cm4gc3VtOwp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCAgbTsKCWxvbmcgYzsKCWNpbj4+Tj4+bT4+YzsKCXJhbmdlX3VwZGF0ZSgxLE4sYyk7Cgl3aGlsZShtLS0pCgl7ICAgIAoJCWNoYXIgY2g7CgkJY2luPj5jaDsKCQlpZihjaD09J1MnKQoJCXsKCQkJaW50IHUsdixrOwoJCQljaW4+PnU+PnY+Pms7CgkJCXJhbmdlX3VwZGF0ZSh1LHYsayk7CgkJfQoJCWVsc2UKCQl7CgkJCWludCBwOwoJCQljaW4+PnA7CgkJCWNvdXQ8PHF1ZXJ5KHApPDxlbmRsOwoJCX0KCX0KCXJldHVybiAwOwp9