编程题
### 问题描述
一天,勇敢的小然在一次冒险中找到了一个神秘的宝箱。宝箱上有一串由 0 和 1 构成的神秘密码,只有解开这个密码,宝箱才会打开。密码的解开方法是:找出密码中的一个子串,将其中的所有数字翻转(即 0 变为 1,1 变为 0)。这个操作只能进行一次。
小然发现,密码锁的机关在于密码中的 1 的数量。他需要计算出每个可能的子串中 1 的数量,然后将这些数量相加,从而启动机关。设 $f(L,R)$ 表示从位置 $L$ 到 $R$(包括两端)的子串中 1 的个数。小然需要计算的就是所有可能 $L$ 和 $R$ 的 $f(L,R)$ 的和,即:
$$
\sum_{L=1}^{N} \sum_{R=L}^{N} f(L,R)
$$
请帮助小然计算出,通过一次合适的翻转操作,能得到的 $1$ 的数量的最大总和是多少。
### 输入格式
第一行为一个整数 $T$,表示小然需要解开的密码数量。
接下来 $T$ 行,每行一个字符串 $S$,表示一个密码,字符串由 $0$ 和 $1$ 组成。
### 输出格式
输出 $T$ 行,每行一个整数,表示通过一次合适的翻转操作,对应密码能得到的 1 的数量的最大总和。
### 样例输入
```text
3
111
000
00100
```
### 样例输出
```text
10
10
26
```
### 说明
在第一个样例中,密码已经全部为 $1$,所以无需翻转,$1$ 的数量的总和为 $10$。
在第二个样例中,翻转整个密码,使其全部变为 $1$,此时 $1$ 的数量的总和也为 $10$。
在第三个样例中,翻转整个密码,使其变为 $11011$,此时 $1$ 的数量的总和为 $26$,这是所有可能情况中的最大值。
### 评测数据范围
$1 \leq T \leq 10^3$,$1 \leq |S| \leq 3 \times 10^5$。
所有测试用例的 $|S|$ 之和不超过 $3 \times 10^5$。