#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
 double vis(int x, int y, int x1, int r, int h, int w)
{
	

	
	if(y>=h)
	return fabs(y-sqrt(r*r-(x-x1)*(x-x1)));
	if(y<=0)
	return fabs(h-y-sqrt(r*r-(x-x1)*(x-x1)));
	if(y<h && y>0)
	{
		return h-2*sqrt(r*r-(x-x1)*(x-x1));
	}
 
}

main()
{
    int w, h, r,q;
    cin>>w>>h>>r>>q;
     double  b[100000];
int x[100000],y[100000];
    int  x1;
	double  min;
    int j=0,n;
    int l=1;
    for(int i=1; i<=q; i++)
    {
    	cin>>n;
    
    	if(n==1)
    	{
    		cin>>x[i]>>y[i];
    		
		}
		if(n==2)
		{
			cin>>x1;
		
			if(i==1)
			{
				b[l]=h;
				l++;
				min=h;
			}
			else
			{
			
		    min=h;
			x[i]=x[i-1];
			y[i]=y[i-1];
			
		
			
               for(int j=2; j<=i; j++)
               {
               	if(vis(x[j],y[j],x1,r,h,w)<min)
               	min=vis(x[j],y[j],x1,r,h,w);
               	
			   }
			   b[l]=min;
			 
			   l++;
               
	    }
	}

}
	for(int i=1; i<l;i++)
	{
		cout<<setprecision(10)<<b[i]<<endl;
	}
 
}