#include <bits/stdc++.h>
using namespace std;
#define MAX 1000010
long tree[MAX],c;
void add(int index,int value)
{
while(index<=MAX)
{
tree[index]=value;
index+=(index&-index);
}
}
long sum(int index)
{
long sum=0;
while(index>0)
{
sum+=tree[index];
index=index-(index&-index);
}
return sum;
}
int main() {
// your code goes here
int n,m;
long c;
cin>>n>>m>>c;
fill_n(tree,n+1,c);
while(m--)
{
char type;
cin>>type;
if(type=='Q')
{
int p;
cin>>p;
cout<<(long)(sum(p)-sum(p-1))<<"\n";
}
else if(type=='S')
{
int u,v,k;
cin>>u>>v>>k;
for(int i=u;i<=v;i++)
add(i,k);
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTUFYIDEwMDAwMTAKbG9uZyB0cmVlW01BWF0sYzsKdm9pZCBhZGQoaW50IGluZGV4LGludCB2YWx1ZSkKewogIHdoaWxlKGluZGV4PD1NQVgpCiAgewogIAl0cmVlW2luZGV4XT12YWx1ZTsKICAJaW5kZXgrPShpbmRleCYtaW5kZXgpOwogIH0KfQpsb25nIHN1bShpbnQgaW5kZXgpCnsKCWxvbmcgc3VtPTA7Cgl3aGlsZShpbmRleD4wKQoJewoJCXN1bSs9dHJlZVtpbmRleF07CgkJaW5kZXg9aW5kZXgtKGluZGV4Ji1pbmRleCk7Cgl9CglyZXR1cm4gc3VtOwp9CmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IG4sbTsKCWxvbmcgYzsKCWNpbj4+bj4+bT4+YzsKCWZpbGxfbih0cmVlLG4rMSxjKTsKCXdoaWxlKG0tLSkKCXsKCQljaGFyIHR5cGU7CgkJY2luPj50eXBlOwoJCWlmKHR5cGU9PSdRJykKCQl7CgkJCWludCBwOwoJCQljaW4+PnA7CgkJCWNvdXQ8PChsb25nKShzdW0ocCktc3VtKHAtMSkpPDwiXG4iOwoJCX0KCQllbHNlIGlmKHR5cGU9PSdTJykKCQl7CgkJCWludCB1LHYsazsKCQkJY2luPj51Pj52Pj5rOwoJCQlmb3IoaW50IGk9dTtpPD12O2krKykKCQkJICAgIGFkZChpLGspOwoJCX0gCgl9CglyZXR1cm4gMDsKfQ==