#!/usr/bin/env python3 def main(): n, k = map(int, input().split()) a = [int(input()) for _ in range(n)] a.sort() # dp[k][i][j] = number of ways to select k valid problems such that the last two are i and j # starts with dp[2], only save last layer dp = [[1 for _ in range(n)] for _ in range(n)] for _ in range(k - 2): ndp = [[0 for _ in range(n)] for _ in range(n)] for i in range(n): for j in range(i + 1, n): for k in range(j + 1, n): if a[i] + a[j] >= a[k]: ndp[j][k] += dp[i][j] dp = ndp ans = sum(sum(row) for row in dp) print(ans) if __name__ == "__main__": main()