#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
    double w,h,r,m,h1,h2,h3;
    int z=0,p,q,i=0,pomocna1=0,pomocna2=0;
    cin>>w>>h>>r>>q;
    int a[q],b[q],c[q],x[q],y[q],v;
    for(int i=0; i<q; i++)
    {
        b[i]=0;
        x[i]=0;
        y[i]=0;
    }
    for(int i=0; i<q; i++)
    {
        cin>>a[i];
        if(a[i]==2)
        {
            cin>>b[i];

        }
        else
        {
            cin>>x[i]>>y[i];
            p=i;
        }
    }
    for(int i=0;i<q;i++)
    {
        if(a[i]==1)
            z++;
    }
    v=p-z+1;
    while(a[i]==2)
    {
                std::cout << setprecision(12) << fixed;
        std::cout<< h<<endl;
        i++;
        if(i==q)
            return 0;
    }
if(q>=3)
{
    for(int i=0; i<q-v+(q-3); i++)
    {
        for(int j=0;j<q-v+(q-3);j++)
        {

        if(x[i]>0)
        {
            h1=pow(r,2);
            h2=pow(x[i],2)-2*b[j+p]*x[i]+pow(b[j+p],2);
            h3=h1-h2;
            m=y[i]-sqrt(h3);

            if(b[j+p]==0 && j+p<i)
            {
                cout << setprecision(12) << h<<endl;
            }
            if(m<=h)
            {
                cout<< setprecision(12) << m<<endl;

            }
        }

    }
    }
}
else
{
    for(int i=0; i<q-v+1; i++)
    {
        for(int j=0;j<q-v+1;j++)
        {

        if(x[i]>0)
        {
            h1=pow(r,2);
            h2=pow(x[i],2)-2*b[j+p]*x[i]+pow(b[j+p],2);
            h3=h1-h2;
            m=y[i]-sqrt(h3);

            if(b[j+p]==0 && j+p<i-2)
            {
                cout << setprecision(12) << h<<endl;
            }
            if(m<=h)
            {
                cout<< setprecision(12) << m<<endl;

            }
        }

    }
    }
}

    return 0;
}