编程题
### 问题描述
在蓝桥市,小新是一位知名的厨师,他的工作日程安排十分紧密,连续工作的日子往往都比较多。为了鼓励和奖励小新的辛勤工作,蓝桥市的餐饮协会决定对小新的薪酬进行一些特殊的调整。
小新每工作一天会得到 $X$ 元的工资,而连续工作的天数越多,他就可以获得额外的奖金。蓝桥市餐饮协会会检查小新连续工作的最长天数,并将这段时间的每一天作为奖金基数,每天额外发放 $Y$ 元。请你计算小新在一个月内可以得到的薪水总和(包括奖金)。
请注意,如果有两个或更多长度相同的最长连续工作时间,只有一个会被计算在奖金内。
### 输入格式
输入的第一行包含一个整数 $T$ ,表示测试用例的数量。接下来是 $T$ 个测试用例。
每个测试用例的第一行包含两个整数 $X$ 和 $Y$。
第二行包含一个长度为 $30$ 的二进制字符串,其中 '0' 表示小新在那一天休假,'1' 表示小新在工作。
数据范围保证:$1 \leq T \leq 10^4$,$1 \leq X,Y \leq 999$,$|S|=30$。
### 输出格式
对于每个测试用例,输出一行答案,即小新收到的薪水(包括奖金)。
### 样例输入
```
3
6 3
111100110101100000101100011111
8 2
111010111101001010100100111101
5 6
011101010100101000001101000010
```
### 样例输出
```
117
152
78
```
### 说明
测试用例1:小新的实际工资为 $17 \times 6 = 102$ 元,最长连续工作时间为 5 天(最后 5 个工作日),所以奖金为 $5 \times 3 = 15$ 元。因此,小新的工资总额为 $102 + 15 = 117$ 元。
测试用例2:小新的实际工资为 $18 \times 8 = 144$ 元,最长连续工作时间为 4 天(这里有多个最长工作时间,所以公司选择其中的任何一个),所以奖金为 $4 \times 2 = 8$ 元。因此,小新的工资总额为 $144 + 8 = 152$ 元。