#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
    double w, h, r, q, cx, cy, xi, yi, vrednost, brojac=0;
    int brRezultata=0;
    bool grizen = false;
    double rezultati[100];
    cin >> w >> h >> r >> q;
    while(brojac!=q)
    {
        cin >> vrednost;
        if(vrednost == 1)
        {
            cin >> cx >> cy;
            grizen = true;
        }
        else if(vrednost == 2)
        {
            if(grizen)
            {
                cin >> xi;
                if(xi == 0)
                {
                    brRezultata++;
                    rezultati[brRezultata] = h;
                }
                else if(cx == xi)
                {
                    brRezultata++;
                    rezultati[brRezultata] = cy-r;
                }
                else
                {
                    brRezultata++;
                    rezultati[brRezultata] = cy - (sqrt((r*r)-((cx-xi)*(cx-xi))));
                }
            }
            else if(!grizen)
            {
                cin >> xi;
                brRezultata++;
                rezultati[brRezultata] = h;
            }
        }


        brojac++;
    }

    for(int i=1;i<=brRezultata;i++)
    {
        cout << setprecision(13) << fixed;
        cout << rezultati[i] << endl;
    }
    return 0;
}