#include <bits/stdc++.h>

using namespace std;

int main()
{
    int i,k=0,op,q;
    float xg,w,h,r,x,y,x1;
    bool oof=false;
    scanf("%f%f%f%d",&w,&h,&r,&q);
    float ispis[q];

    for(i=0;i<q;i++)
    {
        scanf("%d",&op);
        if(op==2){
            scanf("%f",&x1);
            if(!oof) ispis[k]=h;
            else{
                if(x1==x) ispis[k]=y-r;
                else {xg=sqrt(r*r-pow(y-h,2));
                if(x1<=abs(x-xg)) ispis[k]=h;
                else ispis[k]=1.0*y-sqrt(r*r-pow(abs(x-x1),2)); }
            }
            k++;
        }else {scanf("%f%f",&x,&y);oof=true;}
    }

    for(i=0;i<k;i++) printf("%.9f \n",ispis[i]);
    return 0;
}