#include <stdio.h>
#define N 1024
#if 0
#include <math.h>
double root(double r) {
return sqrt(r);
}
#endif
double root(double r) {
int i;
double e = 1.0;
for (i = 0; i < 100; i++)
e = 0.5 * (e + r / e);
return e;
}
int main()
{
double a = 0.0, b = 0.0;
int d = 0, c[2];
char buff[N], *p;
p = buff;
for (;;) {
scanf("%1s", &c);
c[0] = (c[0] & 0xff);
if (c[0] == 'q')
break;
if (c[0] == '+' || c[0] == '-' || c[0] == '*' || c[0] == '/' || c[0] == 'r') {
a = b;
*p = '\0';
sscanf(buff, "%lf", &b);
p = buff;
d = c[0];
} else if (c[0] == '=') {
a = b;
*p = '\0';
sscanf(buff, "%lf", &b);
p = buff;
switch (d) {
case '+': b += a; break;
case '-': b -= a; break;
case '*': b *= a; break;
case '/': b /= a; break;
case 'r': b = root(b); break;
}
printf("%.15g\n", b);
} else if (c[0] >= '0' && c[0] <= '9') {
*(p++) = c[0];
}
}
return 0;
}
/* end */