#include <bits/stdc++.h>
#include <tgmath.h>
using namespace std;

int main(){
	
	long double w,h,r ,q;
	cin>>w>>h>>r>>q;
	long double b[(int)w+1];
	vector<long double> res;
	for(int i=0;i<w+1;i++){b[i]=h;}
	for(int i =0; i<q;i++){
		int t;
		cin>>t;
		if(t==1){
			long double x,y;
			cin>>x>>y;
			
			for(int j=max(x-r,0); j<=x+r;j++){
				long double calc =y-sqrtl(r*r-(x-j)*(x-j));
			
				if(calc<b[j]){b[j]=calc;}
				 
			}
		
		}
		else{
			int m;
			cin>>m;
			res.push_back(b[m]);
		}
	}
	for(int i =0; i<res.size();i++){
		cout<<setprecision(20)<<res[i]<<endl;
	}
	return 0;
}