#ATabc137c. [ABC137C] Green Bin

[ABC137C] Green Bin

AT_abc137_c [ABC137C] Green Bin

题目描述

将字符串 aa 中的字符以任意顺序排列后得到的字符串称为 aa变位词(anagram)。

例如,greenbinbeginner 的变位词。像这样,如果某个字符在原字符串中出现多次,则在变位词中也必须恰好出现相同次数。

给定 NN 个字符串 s1, s2, , sNs_1,\ s_2,\ \ldots,\ s_N。每个字符串长度均为 1010,且由小写英文字母组成,并且这些字符串两两不同。请你求出有多少对整数 i, ji,\ j (1i<jN)(1 \leq i < j \leq N) 满足 sis_isjs_j 的变位词。

输入格式

输入按以下格式从标准输入给出。

NN
s1s_1
s2s_2
\vdots
sNs_N

输出格式

输出满足 sis_isjs_j 的变位词的整数对 (i,j)(i, j) 的个数。

样例 1

输入

3
acornistnt
peanutbomb
constraint

输出

1

样例 2

输入

2
oneplustwo
ninemodsix

输出

0

样例 3

输入

5
abaaaaaaaa
oneplustwo
aaaaaaaaba
twoplusone
aaaabaaaaa

输出

4

说明/提示

限制条件

  • 2N1052 \leq N \leq 10^5
  • sis_i 是长度为 1010 的字符串。
  • sis_i 的每个字符都是小写英文字母。
  • s1,s2,,sNs_1, s_2, \ldots, s_N 互不相同。

样例解释 1

s1=s_1 = acornistnts3=s_3 = constraint 的变位词。除此之外,没有其他满足条件的 (i,j)(i, j) 对,因此答案为 11

样例解释 2

如果不存在满足条件的 (i,j)(i, j) 对,则输出 00

样例解释 3

虽然这里无法给出这样的样例,但请注意,答案可能超出 3232 位整数型的范围。

由 ChatGPT 4.1 翻译