#LOB1004. 白夜

白夜

该题作为 haha Round 3 T3。

题目背景

起来吧,我的仆从,欢唱着迎接我的到来。

白夜,于混沌中诞生,恰似被剥夺的夜晚,又似被赐予的白昼。那伪装成白昼的太阳,究竟是善意的救赎,还是恶意的捉弄?

白夜,ALEPH 级异想体,形似未发育的人类胚胎,有 55 对翅膀,由 ZAYIN 级异想体疫医转化而来。

当疫医对 1212 名员工进行“圣洗”后,员工就会转化为 1111 名使徒和 11 名叛徒,疫医也会转化为生命值高达 1200012000 的白夜。同时,主管的暂停功能将会失效,也就是说,必须实时战斗,所以说白夜是“能掌管时间的异想体”。

题目描述

白夜的翅膀上闪烁着许多危险的数学表达式。你作为主管,需要关注其中的“二元对称式”(纯属虚构):

当某代数式满足以下要求时:

  1. 此代数式包含且仅包含两个变量。
  2. 交换这两个变量的值,该代数式的值不变。

我们就称这样的代数式为二元对称式。

最基本的二元对称式有两种:形如 a+ba+ba×ba\times b

可以证明,在已知 a+ba+ba×ba\times b 的值的情况下,任何由 aa , bb 组成的二元对称式的值都是可求的。

因此,给定你 a+ba+ba×ba \times b 和闪烁着的一个由 a,ba,b 组成的代数式,请你求出它的值。

需要求值的代数式包含以下代数式〔中间仅由 *×\times)、+/÷\div,在这里采用整除)连接〕:

  1. a+ba*b 分别表示 a+ba+ba×ba\times b
  2. a2+b2 表示 a2+b2a^2+b^2
  3. ab2 表示 (a×b)2(a\times b)^2
  4. a+b2 表示 (a+b)2(a+b)^2

各项运算的优先级(数字越大代表越高):

  1. ÷\div(在这里采用整除
  2. ++
  3. ×\times
  4. 平方
  5. 小括号(里面的先算)

输入格式

第一行,两个整数,分别为 a+ba+ba×ba\times b 的值。

第二行,一个字符串,表示需要求值的二元对称式。

输出格式

一行,即代数式的值。

输入输出样例

300 20000
ab2+a2+b2/a+b2
4445

说明/提示

样例解释

转化为中缀表达式:

(a×b)2+a2+b2(a+b)2\dfrac{(a\times b)^2+a^2+b^2}{(a+b)^2}

(a+b)2=a2+2×(a×b)+b2\because (a+b)^2=a^2+2\times(a\times b)+b^2

a2+b2=(a+b)22×(a×b)\therefore a^2+b^2=(a+b)^2-2\times(a\times b)

a×b=20000,a+b=300\because a\times b=20000,a+b=300
$\therefore \frac{(a\times b)^2+a^2+b^2}{(a+b)^2}= \frac{20000^2+(300^2-2\times20000)}{300^2}=\frac{400050000}{90000}=4445$。

数据范围与约定

对于 100%100\% 的数据:

  • 保证 a,ba,b 是整数,但保证 a+ba+ba×ba\times b 是整数。
  • $1 \le (a+b),(a\times b) \le 10000,2\times(a\times b) \le a^2+b^2$。
  • 保证待求代数式中最多只有 11/,且代数式长度不超过 100100,所有运算次数不超过 22

再提醒一次,这里的 / 是整除。