编程题
打印路径
### 题目描述
蓝桥王国有 $N$ 个城市,任意两城市间有直通的路或没有路。每条路有过路费,并且经过每个城市都要交税。定义从 $a$ 城到 $b$ 城,其花费为路径长度之和,再加上除 $a$ 与 $b$ 外所有城市的过路费之和。
现给定若干对城市,请你打印它们之间最小花费的路径。如果有多条路经符合,则输出字典序最小的路径。
### 输入描述
第一行给定一个 $N$ 表示城市的数量,若 $N=0$ 表示结束。
接下来 $N$行,第 $i$ 行有 $N$ 个数,$a_{i,1} \sim a_{i,n}$ ,其中 $a_{i,j}$ 表示第 $i$ 个城市到第 $j$ 个城市的直通路过路费,若 $a_{i,j} = -1$ 表示没有直通路。
接下来一行有 $N$ 个数,第 $i$ 个数表示第 $i$ 个城市的税。再后面有很多行,每行有两个数,表示起点和终点城市,若两个数是 $-1$,结束。
### 输出描述
对给定的每两个城市,输出最便宜的路径经过哪些点,以及最少费用。
输出格式如下:
```
From a to b :
Path: a-->a1-->......-->ak-->b
Total cost : ......
```
### 输入输出样例
#### 示例
>输入
```txt
3
0 2 -1
2 0 5
-1 5 0
1 2 3
1 3
2 3
-1 -1
0
```
>输出
```txt
From 1 to 3 :
Path: 1-->2-->3
Total cost : 9
From 2 to 3 :
Path: 2-->3
Total cost : 5
```