I OvO
题号:NC213404
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

现在来到最后一轮。
众所周知,"OvO"是一个很可爱的表情。在这一关里,你需要解决的问题是,在一个字符串中,有多少个"OvO"的子序列存在。 即"OvO"可以非连续,如字符串"OavaO"存在一个"OvO",但是顺序不能乱。

输入描述:

在一行中输入一格由大小写字母组成的字符串s,字符串的长度不超过1000000。

输出描述:

输出一个整数,表示一共有多少个"OvO"藏在字符串里。
示例1

输入

复制
OvOvOYSYIQIWIN

输出

复制
4

说明

下标为0,1,2\0,1,4\0,3,4\2,3,4的字符能组成"OvO";
示例2

输入

复制
OvOOOZZYNQIWIN

输出

复制
3

备注:

30%的样例 |s| <= 1000
100%的样例 |s| <= 1000000
|s|表示字符串s的长度