小苯的ovo2.0
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小苯平时很喜欢使用”颜文字“:"\rm ovo" 来表达惊讶。

这天他在键盘上输入了若干 \rm o, \rm v\rm ? 字符,字符们组成了一个字符串 S

他想将 S 中所有的 \rm ? 都改成 \rm o 或者 \rm v 中的一种,以最大化 \rm ovo 子序列(不一定连续)的个数,请你帮他算一算,\rm ovo 子序列的个数最多可以达到多少吧。

输入描述:

本题每个测试文件中均包含多组测试数据。
输入的第一行包含一个正整数 T\ (1 \leq T \leq 100),表示数据组数。
接下来包含 T 组数据,每组数据的格式如下:
第一行一个字符串 S\ (1 \leq |S| \leq 500),表示题目所述的字符串。
(保证 S 仅由 '\rm o', '\rm v', '\rm ?' 三种字符构成。)
(保证同一个测试文件中测试数据中 |S| 的总和不超过 500。)

输出描述:

对于每组测试数据:
输出一行一个整数,表示 "\rm ovo" 子序列的最多个数。
示例1

输入

复制
2
ov??ovoov
?????

输出

复制
16
4

说明

对于第一组测试数据,修改为:\rm ovovovoov 即可。
对于第二组测试数据,修改为:\rm oovoo 即可。