#include <iostream>
#include <iomanip>
#include <math.h>
#include <vector>
#include <algorithm>


using namespace std;

int main()
{
    int w,h,r,q,a=2,i=0;
    cin>>w>>h>>r>>q;
    vector<double> v;
    vector<double> v1;
    while(a==2){
        cin>>a;
        if(a==2){
            int x;
            cin>>x;
            v1.push_back(h);
        }
        else{
            int x,y;
            cin>>x>>y;
            for(int j=0;j<w;j++){
                v.push_back(min(h*1.0,y-sqrt(r*r-abs(j-x)*abs(j-x))));
            }
        }
        i++;
    }
    int x,y;
    for(int j=i;j<q;j++){
        cin>>a>>x;
        if(a==2){
            v1.push_back(v[x]);
        }
        else{
            cin>>x>>y;
            for(int j=0;j<w;j++){
                v[j]=min(v[j],y-sqrt(r*r-abs(w-x)*abs(w-x)));
            }
        }
    }
    for(int i=0;i<v1.size();i++){
        cout<<fixed;
        cout<<setprecision(9)<<v1[i]<<endl;
    }
    return 0;
}