#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int W, H, Q, operacija;
    double R;
    scanf("%d %d %lf %d", &W, &H, &R, &Q);
    double ispis[Q];
    double visina[W+1];
    for(int i=0;i<W+1;i++)
    {
        visina[i]=H;
    }
    int i, a;
    for(i=0,a=0;a<Q;a++)
    {
        scanf("%d", &operacija);
        if(operacija==1)
        {
            double x, y;
            scanf("%lf %lf", &x , &y);
            for(int j=1;j<W+1;j++)
            {
                if(x==j)
                {
                    visina[j]=y-visina[j];
                }
                else if(x>j)
                {
                    double pomocna=j;
                    visina[j]=y-sqrt(R*R-(x-pomocna)*(x-pomocna));
                }
                else /// x<j
                {
                    double pomocna=j;
                    visina[j]=y-sqrt(R*R-(pomocna-x)*(pomocna-x));
                }
            }
        }
        else
        {
            int tacka;
            scanf("%d", &tacka);
            ispis[i]=visina[tacka];
            i++;
        }
    }
    for(int j=0;j<i;j++)
    {
        printf("%.12lf\n", ispis[j]);
    }
    return 0;
}