output_description: Print the number of ways to choose three of the sticks with different lengths
  that can form a triangle.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      L_1 L_2 \cdots L_N
attempt: N = int(input())
  nlist = list(map(int, input().split()))
  nnlist = sorted(nlist)
  kei = 0
  l = 0
  for i in range(l, N - 2):
      for j in range(i, N - 1):
          for k in range(j, N):
              if nnlist[i] != nnlist[j]:
                  if nnlist[i] != nnlist[k]:
                      if nnlist[j] != nnlist[k]:
                          if nnlist[i] + nnlist[j] > nnlist[k]:
                              kei = kei + 1
  print(kei)
  
problem_description: Statement
  
  We have sticks numbered 1, \cdots, N. The length of Stick i (1 \leq i \leq N)
  is L_i.
  
  In how many ways can we choose three of the sticks with different lengths that
  can form a triangle?
  
  That is, find the number of triples of integers (i, j, k) (1 \leq i < j < k
  \leq N) that satisfy both of the following conditions:
  
    * L_i, L_j, and L_k are all different.
    * There exists a triangle whose sides have lengths L_i, L_j, and L_k.
samples: [{"input": "5\n    4 4 9 7 5", "output": "5\n    \n\nThe following five triples (i, j, k) satisfy the conditions: (1, 3, 4), (1, 4,\n5), (2, 3, 4), (2, 4, 5), and (3, 4, 5).\n\n* * *"}, {"input": "6\n    4 5 4 3 3 5", "output": "8\n    \n\nWe have two sticks for each of the lengths 3, 4, and 5. To satisfy the first\ncondition, we have to choose one from each length.\n\nThere is a triangle whose sides have lengths 3, 4, and 5, so we have 2 ^ 3 = 8\ntriples (i, j, k) that satisfy the conditions.\n\n* * *"}, {"input": "10\n    9 4 6 1 9 6 10 6 6 8", "output": "39\n    \n\n* * *"}, {"input": "2\n    1 1", "output": "0\n    \n\nNo triple (i, j, k) satisfies 1 \\leq i < j < k \\leq N, so we should print 0."}]