编程题
货币兑换
## 来源
East Central North America 2001, Practice (ZOJ1058)
## 题目描述
当Issac在某个国家旅游的时候,例如法国,他要把美元兑换成法郎。例如,当用美元兑换法郎的汇率为4.81724时,10美元能兑换48.1724法郎。当然,只能得到小数点后两位那么多的法郎,所以小数点后两位要四舍五入(.005以上要入为.01)。所有货币金额都要四舍五入。
有时候Issac的旅程跨越多个国家,于是他要把货币兑换来兑换去。当他回家的时候,他又要换回美元。这使他想到,他在这些兑换过程中可能损失了或者赚到了美元。现在就要你算他到底是赚到了还是损失了。永远要从美元开始,以美元结束。
## 输入描述
输入文件有多个测试数据!第一行为N,表示测试数据的个数。然后是一空行。接下来就是N个测试数据。每两个测试数据之间有一空行。每个测试数据的前5行是5个国家之间的汇率,标号为1到5。第i行表示第i个国家与5个国家的汇率。当然,自己兑换自己汇率就是1。第一个国家就是美国。接下来有若干行,每一行表示Issac的一次旅程,每行的格式为:
n c1 c2 … cn m
当1≤n≤10和c1,…,cn是从2到5的整数时,他们表示Issac的行程。那么他的旅程就是1 -> c1 -> c2 -> … -> cn -> 1。实数m表示一开始他带的美元。
当n = 0时表示该测试数据结束,这一行没有多余数字。
## 输出描述
对应到N个测试数据,有N个输出块。每个测试数据中的每次旅程对应一行输出,表示当他回到家的时候他拥有的美元金额,精确到小数点后两位。
每两个测试数据对应的输出块之间有一个空行。
## 样例输入
```txt
1
1 1.57556 1.10521 0.691426 7.25005
0.634602 1 0.701196 0.43856 4.59847
0.904750 1.42647 1 0.625627 6.55957
1.44616 2.28059 1.59840 1 10.4843
0.137931 0.217555 0.152449 0.0953772 1
3 2 4 5 20.00
6 2 3 4 2 4 3 120.03
0
```
## 样例输出
```txt
19.98
120.01
```