output_description: Print the number of pairs of integers i, j (1 \leq i < j \leq N) such that s_i
  is an anagram of s_j.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      s_1
      s_2
      :
      s_N
attempt: n = int(input())
  N = []
  for i in range(n):
      N.append(input())
  Nn = [sorted(j) for j in N]
  Nn.sort()
  Nh = []
  for let in Nn:
      Nh.append(("").join(let))
  c_dict = {}
  for letters in Nh:
      if letters not in c_dict:
          c_dict[letters] = 1
      elif letters in c_dict:
          c_dict[letters] += 1
  ans_list = []
  for letter, num in c_dict.items():
      ans_list.append((num * (num - 1)) // 2)
  print(sum(ans_list))
  
problem_description: Statement
  
  We will call a string obtained by arranging the characters contained in a
  string a in some order, an _anagram_ of a.
  
  For example, `greenbin` is an anagram of `beginner`. As seen here, when the
  same character occurs multiple times, that character must be used that number
  of times.
  
  Given are N strings s_1, s_2, \ldots, s_N. Each of these strings has a length
  of 10 and consists of lowercase English characters. Additionally, all of these
  strings are distinct. Find the number of pairs of integers i, j (1 \leq i < j
  \leq N) such that s_i is an anagram of s_j.
samples: [{"input": "3\n    acornistnt\n    peanutbomb\n    constraint", "output": "1\n    \n\ns_1 = `acornistnt` is an anagram of s_3 = `constraint`. There are no other\npairs i, j such that s_i is an anagram of s_j, so the answer is 1.\n\n* * *"}, {"input": "2\n    oneplustwo\n    ninemodsix", "output": "0\n    \n\nIf there is no pair i, j such that s_i is an anagram of s_j, print 0.\n\n* * *"}, {"input": "5\n    abaaaaaaaa\n    oneplustwo\n    aaaaaaaaba\n    twoplusone\n    aaaabaaaaa", "output": "4\n    \n\nNote that the answer may not fit into a 32-bit integer type, though we cannot\nput such a case here."}]