#include <iostream>
#include <vector>
using namespace std;
int getMaxScore(int n, vector<int>& stones) {
int maxScore = 0;
// 计算所有可能的两两组合的乘积之和
for(int i = 0; i < n; i++) {
for(int j = i + 1; j < n; j++) {
maxScore += stones[i] * stones[j];
}
}
return maxScore;
}
int main() {
int n;
cin >> n;
vector<int> stones(n);
for(int i = 0; i < n; i++) {
cin >> stones[i];
}
cout << getMaxScore(n, stones) << endl;
return 0;
}
import java.util.*;
public class Main {
static int getMaxScore(int n, int[] stones) {
int maxScore = 0;
// 计算所有可能的两两组合的乘积之和
for(int i = 0; i < n; i++) {
for(int j = i + 1; j < n; j++) {
maxScore += stones[i] * stones[j];
}
}
return maxScore;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] stones = new int[n];
for(int i = 0; i < n; i++) {
stones[i] = sc.nextInt();
}
System.out.println(getMaxScore(n, stones));
}
}
def get_max_score(n, stones):
max_score = 0
# 计算所有可能的两两组合的乘积之和
for i in range(n):
for j in range(i + 1, n):
max_score += stones[i] * stones[j]
return max_score
n = int(input())
stones = list(map(int, input().split()))
print(get_max_score(n, stones))