#P5353. Why Did the Cow Cross the Road II

    ID: 1577 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>2017USACO数据结构树状数组搜索枚举其他离散化

Why Did the Cow Cross the Road II

题目描述

FarmerJohn{Farmer John }农场的布局非常奇特,一条大的环形道路环绕着他的奶牛白天吃草的主要农田周边。

每天早上,奶牛在前往田地的路上穿过这条路,每天晚上,当它们离开田地并返回谷仓时,它们都会再次穿过这条路。

众所周知,牛是有习惯的动物,它们每天都以相同的方式过马路。每头奶牛在不同的点穿过田野,而所有这些交叉点都彼此不同。农夫约翰正好拥有 26{26 }头奶牛,他懒洋 洋地把它们命名为 A{A }Z{Z}(他不确定如果他获得第 27{27 }头奶牛会做什么......),所以道路周围正好有 52{52 }个交叉点。

农夫约翰通过顺时针绕圈扫描简洁地记录这些交叉点,为每个交叉点写下奶牛的名字,最终形成一个包含 52{52 }个字符的字符串,其中字母表中的每个字母恰好出现两次。

他没有记录哪些过境点是入口点,哪些是出口点。 看着他的交叉点地图,农夫约翰很好奇一天中不同对的奶牛可能会交叉多少次。

如果奶牛 a{a }从入口到出口的路径必须穿过奶牛 b{b }从入口到出口的路径,他将一对奶牛 (a,b){(a,b) }称为"交叉"对。请帮助农夫约翰计算交叉对的总数。

输入格式

输入由包含52{52}个大写字符的字符串的单行组成。

字母表中的每个字母恰好出现两次。

输出格式

请打印交叉对的总数

样例

输入样例

ABCCABDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ

输出样例

1

提示

在本例中,只有奶牛A{A}B{B}是杂交对