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

int w,h,r,q,i,pom,br;

double c[100005],tt[100005];

void nadjirazdaljinu()
{
	int m;
	scanf("%d",&m);
	tt[br]=c[m];
}

void krug()
{
	int x,y,j,k1,k2;
	double visina;
	scanf("%d%d",&x,&y);
	for (j=0;j<r;j++)
	{
		k1=x-j; k2=x+j;
		visina=sqrt((float)(r*r-j*j));
		visina=((float)y)-visina;
		if (visina>h) visina=(float) h;
		if (k1>=0) c[k1]=visina;
		if (k2<=w) c[k2]=visina;
		if ((k1<0)&&(k2>w)) break;
	}
}

int main()
{
	scanf("%d%d%d%d",&w,&h,&r,&q);
	
	for (i=0;i<=w;i++)
		c[i]=(float) h;
	
	for (i=1;i<=q;i++)
	{
		scanf("%d",&pom);
		if (pom==2) {br++; nadjirazdaljinu();}
		if (pom==1) krug();
	}
	
	for (i=1;i<=br;i++)
		if (i!=br) printf("%.9llf ",tt[i]); else printf("%.9llf",tt[i]);
}