#joi2019hoa. [joi2019ho_a]勇者ビ太郎 (Bitaro the Brave)
[joi2019ho_a]勇者ビ太郎 (Bitaro the Brave)
勇者的比太郎将面对魔王。
比太郎在一个 行, 列的方格上放置了宝石(Jewel),宝珠(Orb)和金块(Ingot),并打算通过释放魔法来攻击魔王。以下,用 表示从上到下第 行(),从左到右第 列()的方格。
现在,比太郎在每个方格中放置了这三种物品中的一种。他打算要释放魔法,但是这个魔法的威力取决于方格中宝石、宝珠和金块的摆放位置。具体来说,符合以下条件的整数对 (,)的数量就是魔法的威力。
条件:方格 中有宝石,方格 中有宝珠,方格 中有金块。
比太郎对这个魔法的威力很感兴趣。
给定方格中宝石、宝珠和金块的摆放,编写一个程序来计算比太郎释放的魔法的威力。
输入
从标准输入读取输入数据。
输入的格式如下:
()是长度为 的字符串,第 个字符()为 J
表示方格 中有宝石,为 O
表示方格 中有宝珠,为 I
表示方格 中有金块。
输出
将答案输出到标准输出,只输出一个整数表示魔法的威力。
限制条件
- 。
- 。
- 是长度为 的字符串()。
- 的每个字符是
J
,O
或I
()。
子任务
- ( 分) ,。
- ( 分) ,。
- ( 分) 没有额外的限制。
输入示例 1
3 4
JOIJ
JIOO
IIII
输出示例 1
3
在这个输入示例中,满足条件的整数对 $(i, j, k, l) = (1, 1, 3, 2), (2, 1, 3, 3), (2, 1, 3, 4)$ 共有 个,所以答案为 。
输入示例 2
4 4
JJOO
JJOO
IIJO
IIIJ
输出示例 2
17