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

int main()
{
    int w,h,r,q;
    scanf("%d%d",&w,&h);
    scanf("%d",&r);
    scanf("%d",&q);
    double dist[w+1];
    for (int i=0;i<=w;i++) dist[i]=h;
    for (int i=0;i<q;i++)
    {
        int tip,x,y,z;
        scanf("%d",&tip);
        if (tip==2)
        {
            scanf("%d",&z);
            printf("%lf\n",dist[z]);
        }
        else if (tip==1)
        {
            scanf("%d%d",&x,&y);
            for (int j=0;j<=w;j++)
            {
                double pitagora=pow(r,2)-pow(x-j,2);
                dist[j]=min(dist[j],y-sqrt(pitagora));
            }
        }
    }
}