#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e1 - 7;
const int inf = 0x3f3f3f;
long long max(long long x, long long y) { return x > y ? x : y; }
long long min(long long x, long long y) { return x > y ? y : x; }
long long k, x, f[maxn], ans, n;
int main() {
  scanf("%lld%lld", &n, &k);
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &x);
    f[0] = max(0, f[0] + x);
    f[1] = max(f[0], f[1] + k * x);
    f[2] = max(f[1], f[2] + x);
    ans = max(ans, f[2]);
  }
  printf("%lld", ans);
}
