#include<bits/stdc++.h>

using namespace std;

int W,H,R,Q,pocetak,kraj,upit,x,y,pozicija;
float h,Niz[1000010];
int main()
{
    cin>>W>>H>>R>>Q;

    for(int i=0; i<=W; i++)Niz[i]=H;

    for(int q=1; q<=Q; q++)
    {
        cin>>upit;

        if(upit==1)
        {
            cin>>x>>y;

            if(x-R<=0)pocetak=0;
            if(x-R>0)pocetak=x-R;

            if(x+R>=W)kraj=W;
            if(x+R<W)kraj=x+W;

            for(int i=pocetak; i<=kraj; i++)
            {
                h=y-sqrt(R*R*1.0-(x-i)*(x-i)*1.0);

                Niz[i]=min(Niz[i],h);
            }

            //for(int j=0; j<=W; j++)cout<<Niz[j]<<" ";
            //cout<<endl;

        }

            if(upit==2)
            {
                cin>>pozicija;
                cout<<Niz[pozicija]<<endl;
            }
    }


    return 0;
}