/* PROB:Preparing document TIME: #define me AcrossTheSky good good study,day day up! */ #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int p=10007; int calc(int x){ return (1890*x+143)%p; } int a[300000],dp[300000][5]; int main(){ int n; while (scanf("%d",&n)!=EOF){ int ans=0; for (int i=1;i<=n;i++){ scanf("%d",&a[i]); } memset(dp,0,sizeof(dp)); for (int i=1;i<=n;i++){ dp[i][1]=max(dp[i-1][1]+calc(a[i]),dp[i-1][0]+calc(a[i])); dp[i][0]=dp[i-1][0]+a[i]; dp[i][2]=max(dp[i-1][2],dp[i-1][1])+a[i]; } cout << max(dp[n][2],max(dp[n][0],dp[n][1])) << endl; } }