import java.util.HashMap;
import java.util.Scanner;
import java.util.Stack;

class Solution {
    public static final HashMap<String, Integer> map = new HashMap<>();
    static {
        map.put("+", 1);
        map.put("-", 1);
        map.put("*", 2);
        map.put("/", 2);
    }

    static double exec(double n1, double n2, String op) {
        switch (op) {
            case "+":
                return n1 + n2;
            case "-":
                return n1 - n2;
            case "*":
                return n1 * n2;
            case "/":
                return n1 / n2;
            default:
                return 0;
        }
    }
    static double getAns(String exel) {
        String[] exSplit = exel.split(" ");
        Stack<String> opStack = new Stack<>();
        Stack<Double> numStack = new Stack<>();

        for (int i = 0; i < exSplit.length; i++) {
            String s = exSplit[i];
            if (map.containsKey(s)) {
                while (!opStack.isEmpty() && map.get(opStack.peek()) >= map.get(s)) {
                    String op = opStack.pop();
                    double n2 = numStack.pop();
                    double n1 = numStack.pop();
                    numStack.push(exec(n1, n2, op));
                }
                opStack.push(s);
            } else {
                numStack.push(Double.parseDouble(s));
            }
        }

        while (!opStack.isEmpty()) {
            String op = opStack.pop();
            double n2 = numStack.pop();
            double n1 = numStack.pop();
            numStack.push(exec(n1, n2, op));
        }
        return numStack.peek();
    }
}
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()) {
            String exel = scanner.nextLine();
            if ("0".equals(exel))
                break;
            System.out.printf("%.2f\n", Solution.getAns(exel));
        }

    }
}