#include<stdio.h>
#include<algorithm>
using namespace std;
#define LL(x) (x<<1)
#define RR(x) (x<<1|1)
struct Sub_Seg_Tree
{
int left,right,val;
int mid() {return (left+right)/2;}
};
struct Seg_Tree
{
int left,right;
Sub_Seg_Tree tt[1001*3];
int mid() {return (left+right)/2;}
}t[101*3];
void build2(Sub_Seg_Tree tt[],int l,int r,int idx)
{
tt[idx].left=l;
tt[idx].right=r;
tt[idx].val=-1;//以便比较
if(l==r) return;
int mid=tt[idx].mid();
build2(tt,mid+1,r,RR(idx));
build2(tt,l,mid,LL(idx));
}
void build(int l,int r,int idx)
{
build2(t[idx].tt,0,1000,1);
t[idx].left=l;
t[idx].right=r;
if(l==r) return;
int mid=t[idx].mid();
build(mid+1,r,RR(idx));
build(l,mid,LL(idx));
}
void update2(Sub_Seg_Tree tt[],int b,int val,int idx)
{
if(tt[idx].left==tt[idx].right)
{
tt[idx].val=max(tt[idx].val,val);//可能有身高,活泼度相同的人
return;
}
int mid=tt[idx].mid();
if(mid<b) update2(tt,b,val,RR(idx));
if(mid>=b) update2(tt,b,val,LL(idx));
tt[idx].val=max(tt[RR(idx)].val,tt[LL(idx)].val);
}
void update(int a,int b,int val,int idx)
{
update2(t[idx].tt,b,val,1);
if(t[idx].left==t[idx].right) return;
int mid=t[idx].mid();
if(mid<a) update(a,b,val,RR(idx));
if(mid>=a) update(a,b,val,LL(idx));
}
int query2(Sub_Seg_Tree tt[],int c,int d,int idx)
{
if(tt[idx].left>=c&&tt[idx].right<=d)
{
return tt[idx].val;
}
int mid=tt[idx].mid();
int res=-1;
if(mid>=c) res=max(res,query2(tt,c,d,LL(idx)));
if(mid<d) res=max(res,query2(tt,c,d,RR(idx)));
return res;
}
int query(int a,int b,int c,int d,int idx)
{
if(t[idx].left>=a&&t[idx].right<=b)
{
return query2(t[idx].tt,c,d,1);
}
int mid=t[idx].mid();
int res=-1;
if(mid>=a) res=max(res,query(a,b,c,d,LL(idx)));
if(mid<b) res=max(res,query(a,b,c,d,RR(idx)));
return res;
}
int main()
{
int T;
while(scanf("%d",&T)!=EOF)
{
if(T==0) break;
build(100,200,1);
for(int i=1;i<=T;i++)
{
char str[5];
scanf("%s",str);
if(str[0]=='Q')
{
int a,b;
double c,d;
scanf("%d%d%lf%lf",&a,&b,&c,&d);
if(a>b) swap(a,b);
if(c>d) swap(c,d);
int t=query(a,b,int(10*c),int(10*d),1);
if(t<0) printf("-1/n");
else
printf("%0.1lf/n",t*1.0/10);
}
else
{
int a;
double b,c;
scanf("%d%lf%lf",&a,&b,&c);
update(a,int(b*10),int(c*10),1);
}
}
}
return 0;
}