编程题
### 问题描述
在一个遥远的王国,麻衣是一位被大家尊重的魔法师。她的魔法力量来自于一种神秘的魔法石。这些魔法石各不相同,每一种都有自己独特的力量值。麻衣发现,当她同时使用两种不同的魔法石时,她可以产生一个特殊的魔法效果,其魔法力量取决于这两块石头的力量值。具体来说,如果一块石头的力量是 $a$,另一块石头的力量是 $b$,那么麻衣可以产生的特殊魔法效果的力量将是 $a \times b + a - b$。
现在,麻衣有一个魔法石的集合,她想知道,通过选择这个集合中的两块不同的魔法石,她可以产生的最大魔法效果的力量是多少?
### 输入格式
第一行将包含 $N$,表示魔法石的数量。
第二行包含 $N$ 个空格分隔的整数,这些整数表示魔法石的力量值。
数据范围保证:$2 \leq N \leq 10^5$,$-10^9 \leq A_i \leq 10^9$。
### 输出格式
输出一行,表示麻衣可以产生的最大魔法效果的力量。
### 样例输入
```text
3
5 3 2
```
### 样例输出
```text
17
```
### 说明
在测试用例中,麻衣有几种不同的选择。例如,她可以选择力量为 $5$ 和 $3$ 的魔法石,产生的魔法效果的力量是 $5 \times 3 + 5 -3 = 17$。这是所有可能选择中最大的魔法效果力量,所以输出为 $17$。