# 区间运算

## 题目描述

区间运算是数学的一个领域。在区间运算中，常量和变量并不表示为一个单独、精确的值，而是表示为一个有着上界和下界的区间或范围。在普通的运算中，一个数量可以表示为数轴上的一个点；而在区间运算中，一个数量表示数轴上的一段，例如 $[3,5]$ 表示数轴上从 $3$ 到 $5$ 的一段。当精确的数值表示为区间时，上界与下界是相同的，如 $5$ 表示为区间即为 $[5,5]$。

两个区间的运算，是指一个区间中的每个点与另一个区间中的每个点所做的运算，通过运算所得的所有点的集合即为运算的结果。例如，$[3,5]+[-10,1]=[-7,6]$。你的任务是写一个可以根据单行表达式进行取相反数、加、减、乘、除等基本的区间运算的程序。下面是一些运算的例子：

- 取相反数：$-[-3,5]=[-5,3]$；
- 加法：$[3,5]+[-10,1]=[-7,6]$；
- 减法：$[3,5]-[-10,1]=[2,15]$；
- 乘法：$[3,5]\times [-10,1]=[-50,5]$；
- 除法：$[3,5]\div [-10,-0.1]=[-50,-0.3]$。

## 输入格式

程序的输入包含一行或多行区间运算的中缀表达式，每个区间都表示为 $[\min,\max]$，表达式中包括括号、负号（$\verb!-!$）、加号（$\verb!+!$）、减号（$\verb!-!$）、乘号（$\verb!*!$）和除号（$\verb!/!$），括号可能是嵌套的。每一行中都有可能有空格，但空格不会在表示区间的括号 $[\min,\max]$ 中间或负号后出现。程序不需要处理科学记数法，如 $\verb!2E6!=2\times 10^6$。每一行都不超过 $80$ 个字符。运算采用标准的优先级规则。下面按优先级递减的顺序给出各个算符：

- $\verb!(!,\verb!)!$ 括号；
- $\verb!-!$ 取相反数；
- $\verb!*!,\verb!/!$，乘法和除法，同级运算按从左到右的顺序；
- $\verb!+!,\verb!-!$，加法和减法，同级运算按从左到右的顺序。

## 输出格式

对于输入文件中每一行的表达式，以 $[\min,\max]$（均保留 $3$ 位小数）的形式输出运算结果。每个结果占一行。结果中不应有空格。在运算中，如果将一个包含 $0$ 的区间用作除数，则输出 `Division by zero`。

## 样例 #1

### 样例输入 #1

```
-[-3,5] 
[3,5]+[-10,1] 
[3,5]-[-10,1] 
[3,5]*[-10,1] 
(([3,5]/[-10,-0.1])/-[2,2])
```

### 样例输出 #1

```
[-5.000,3.000] 
[-7.000,6.000] 
[2.000,15.000] 
[-50.000,5.000] 
[0.150,25.000]
```