#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;
}