#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(false)
#define endl '\n'
using namespace std;
typedef long long ll;
const int mod = 1000003;
ll n;
ll a[500];
ll qjc[500][500];
ll dp[500][500];
int main()
{
IOS; cin.tie(0), cout.tie(0);
cin >> n;
for (int i = 1; i <= n; ++i)
{
cin >> a[i];
}
for (int i = 1; i <= n; ++i)
{
int now = 1;
for (int j = i; j <= n; ++j)
{
now = now * a[j] % mod;
qjc[i][j] = now;//预处理区间乘法操作
}
}
for (int len = 2; len <= n; ++len)
{
for (int i = 1; i + len - 1 <= n; ++i)
{
int l = i, r = i + len - 1;
for (int k = l; k < r; ++k)
{
//每一种情况都可以考虑到了
dp[l][r] = max(dp[l][r], dp[l][k] + dp[k + 1][r] + (qjc[l][k] - qjc[k + 1][r]) * (qjc[l][k] - qjc[k + 1][r]));
}
}
}
cout << dp[1][n] << endl;
return 0;
}