#include <iostream>
#include <stdio.h>
#include <math.h>
#include<iomanip>
using namespace std;

int main(){
	int w,h,r,q,k,xi,yi,x;
	//cout<<"Unesite redom w,h,r i q: ";
	cin>>w;
	cin>>h;
	cin>>r;
	cin>>q;
	double a[w+1];
	for(int i=0;i<w+1;i++){
		a[i]=h;
	}
	double b,c,d,e,f,g;
	for(int i=0;i<q;i++){
	//	cout<<"Ako ukucate 1 onda unosite koordinate kruga, ako uneste dva unosite x za tacku u kojoj zelite da izracunate visinu: ";
		cin>>k;
		
		if(k==1){
			//cout<<"unesite koordinate centra kruznice: ";
			cin>>xi;
			cin>>yi;
			if((yi-h)<r){
				for(int j=0;j<w+1;j++){
				//	b=abs(j-xi);
				//	c=abs(yi-a[j]);
					//if(j!=xi){
					c=abs(xi-j);
					d=sqrt(r*r-c*c);
					e=yi-d;
					if(e<=a[j])
						a[j]=e;
		//	}
		//	else{
		//		a[j]=a[j]-yi+r;
		//	}
		//	}
		//	}
		}
	}
}
		else{
			//cout<<"unesite x za koje zelite da izracunate visinu: ";
			cin>>x;
			cout<<setprecision(9)<<a[x]<<endl;
			
		}
	}
}