#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll helper(vector<int>&a,int k ,bool isMul){
ll dp0 = LLONG_MIN/2;
ll dp1 = LLONG_MIN/2;
ll dp2 = LLONG_MIN/2;
ll maxi = LLONG_MIN;
for(int x : a){
ll trans = isMul? (ll)x*k : (ll)x/k;
ll next2 = max({(ll)x,dp1+x,dp2+x});
ll next1 = max({trans,dp0+trans,dp1+trans});
ll next0 = max((ll)x,dp0+x);
dp0 = next0;
dp1 = next1;
dp2 = next2;
maxi = max({maxi,dp0,dp1,dp2});
}
return maxi;
}
ll subArr(vector<int>&a,int k){
ll mul = helper(a,k,true);
ll div = helper(a,k,false);
return max(mul,div);
}
int main() {
int n,k ;cin>>n>>k;
vector<int>a(n);
for(int i = 0;i<n ;i++){
cin>>a[i];
}
cout<<subArr(a,k);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwoKbGwgaGVscGVyKHZlY3RvcjxpbnQ+JmEsaW50IGsgLGJvb2wgaXNNdWwpewoJbGwgZHAwID0gTExPTkdfTUlOLzI7CglsbCBkcDEgPSBMTE9OR19NSU4vMjsKCWxsIGRwMiA9IExMT05HX01JTi8yOwoJCglsbCBtYXhpID0gTExPTkdfTUlOOwoJCglmb3IoaW50IHggOiBhKXsKCQlsbCB0cmFucyA9IGlzTXVsPyAobGwpeCprIDogKGxsKXgvazsKCQlsbCBuZXh0MiA9IG1heCh7KGxsKXgsZHAxK3gsZHAyK3h9KTsKCQlsbCBuZXh0MSA9IG1heCh7dHJhbnMsZHAwK3RyYW5zLGRwMSt0cmFuc30pOwoJCWxsIG5leHQwID0gbWF4KChsbCl4LGRwMCt4KTsKCQkKCQlkcDAgPSBuZXh0MDsKCQlkcDEgPSBuZXh0MTsKCQlkcDIgPSBuZXh0MjsKCQkKCQltYXhpID0gbWF4KHttYXhpLGRwMCxkcDEsZHAyfSk7Cgl9CglyZXR1cm4gbWF4aTsKfQoKbGwgc3ViQXJyKHZlY3RvcjxpbnQ+JmEsaW50IGspewoJbGwgbXVsID0gaGVscGVyKGEsayx0cnVlKTsKCWxsIGRpdiA9IGhlbHBlcihhLGssZmFsc2UpOwoJCglyZXR1cm4gbWF4KG11bCxkaXYpOwp9CmludCBtYWluKCkgewogICAgaW50IG4sayA7Y2luPj5uPj5rOwogICAgdmVjdG9yPGludD5hKG4pOwogICAgZm9yKGludCBpID0gMDtpPG4gO2krKyl7CiAgICAJY2luPj5hW2ldOwogICAgfQogICAgY291dDw8c3ViQXJyKGEsayk7CglyZXR1cm4gMDsKfQ==