#include using namespace std; // aよりもbが大きいならばaをbで更新する // (更新されたならばtrueを返す) template bool chmax(T &a, const T& b) { if (a < b) { a = b; // aをbで更新 return true; } return false; } // aよりもbが小さいならばaをbで更新する // (更新されたならばtrueを返す) template bool chmin(T &a, const T& b) { if (a > b) { a = b; // aをbで更新 return true; } return false; } int main() { int N; cin >> N; vector A(N); for(int i = 0; i < N; i++) { cin >> A[i]; } vector count(9, 0); for(int i = 0; i < N; i++) { count[A[i]]++; } long long ans = 0; for(int i = 1; i <= 8; i++) { for(int j = 1; j <= 8; j++) { ans += count[i]*count[j]*(long long)pow(i, j); } } cout << ans << endl; }