|
问题描述
Eyiz正在与邪恶的Dgdon战斗.
为了打败Dgdon,Eyiz决定召唤PhantasmDragon来帮助他.
但是,召唤PhantasmDragon需要搭建一个祭坛.祭坛可以视作一个 N × M的网格.网格从上往下数第 i 行,从左往右数第 j 列记作(i, j) .
现在,Eyiz在网格的每个格子中放置了三种字符中的一种,召唤出PhantasmDragon的数量取决于三种字符的排列方式.具体的,数量等于满足以下条件的有序四元组(i, j, k, l) 的数量.
条件:(i, j) 位置上的字符为P, (i, l) 位置上的字符为H,(k, j) 位置上的字符为D.
Eyiz想知道一共能召唤出多少只PhantasmDragon.
输入格式
第一行有三个整数N,M,表示一个 的祭坛.
接下来N行,第i行给出一个长度为M的字符串,表示祭坛上第i行的字符.
输出格式
输出一行一个整数,表示一共能召唤出的PhantasmDragon的数量.
样例输入 1
3 4
PHDP
PDHH
DDDD
样例输出 1
3
样例输入 2
4 4
PPHH
PPHH
DDPH
DDDP
样例输出 2
17
提示
对于20%的数据N ≤ 100,M ≤ 100.
对于50%的数据N ≤ 500,M ≤ 500.
对于100%的数据N ≤ 3000,M ≤ 3000. 数据没有梯度,OI需要信仰.