#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 100;
long long dp1[maxn][2];
long long dp2[maxn][2];
long long n, p, q, r;
long long a[100000 + 100];
int main() {
  cin >> n >> p >> q >> r;
  for (long long y = 0; y < n; y++) cin >> a[y];
  dp1[0][0] = p * a[0];
  dp1[0][1] = dp1[0][0] + 1LL * q * a[0];
  dp2[0][0] = 1LL * p * a[0];
  dp2[0][1] = dp1[0][0] + 1LL * q * a[0];
  for (long long y = 1; y < n; y++) {
    dp1[y][0] = 1LL * a[y] * p;
    dp2[y][0] = max(dp2[y - 1][0], dp1[y][0]);
  }
  for (long long y = 1; y < n; y++) {
    dp1[y][1] = 1LL * a[y] * q + dp2[y][0];
    dp2[y][1] = max(dp2[y - 1][1], dp1[y][1]);
  }
  long long maxs = 1LL * dp2[0][1] + 1LL * r * a[0];
  for (long long y = 0; y < n; y++) {
    maxs = max(maxs, 1LL * dp2[y][1] + 1LL * r * a[y]);
  }
  cout << maxs;
}
