# Task
Given some sticks by an array `V` of positive integers, where V[i] represents the length of the sticks, find the number of ways we can choose three of them to form a triangle.

# Example

 For `V = [2, 3, 7, 4]`, the result should be `1`.

 There is only `(2, 3, 4)` can form a triangle.
 
 For `V = [5, 6, 7, 8]`, the result should be `4`.
 
 `(5, 6, 7), (5, 6, 8), (5, 7, 8), (6, 7, 8)` 

# Input/Output


 - `[input]` integer array `V`

 stick lengths
 
 `3 <= V.length <= 100`
 
 `0 < V[i] <=100`


 - `[output]` an integer

 number of ways we can choose 3 sticks to form a triangle.

Difficulty: introductory

Starter code:

def counting_triangles(V):
	

Solutions:
from itertools import combinations

def counting_triangles(v):
    v.sort()
    return sum(a+b>c for a,b,c in combinations(v,3))

counting_triangles=lambda V:sum(a+b>c for a,b,c in __import__('itertools').combinations(sorted(V),3))

import itertools
def counting_triangles(V):
    count = 0
    for x in itertools.combinations(V,3):
        if(sum([x[0]+x[1]>x[2],x[0]+x[2]>x[1],x[1]+x[2]>x[0],abs(x[0]-x[1])<x[2],abs(x[0]-x[2])<x[1],abs(x[1]-x[2])<x[0]])==6):
            count += 1
    return count

from itertools import combinations
def counting_triangles(V):
    count = 0
    for i in combinations(V,3):
        i = sorted(i)
        if i[0]+i[1] > i[2]:
            count += 1
    return count

from itertools import combinations
def counting_triangles(V):
    number = 0
    for i in sorted(combinations(V, 3)):
        x, y, z = sorted(i)
        if x + y > z:
            number += 1
    return number

from itertools import combinations 
def counting_triangles(V):
  return sum(sum(comb)>2*max(comb) for comb in combinations(V , 3))

counting_triangles=lambda v:len([x for x in list(__import__('itertools').combinations(v,3)) if all([k<sum(x)-k for k in x])])

counting_triangles=lambda V:sum(c<a+b for a,b,c in __import__('itertools').combinations(sorted(V),3))

counting_triangles=lambda V:(lambda v,W:sum([W[k]<W[i]+W[j]for i in range(v)for j in range(i+1,v)for k in range(j+1,v)]))(len(V),sorted(V))

from itertools import combinations as C

def counting_triangles(V):
    return sum(a + b > c for a, b, c in C(sorted(V), 3))