/*
* @Author: hungeazy
* @Date: 2025-11-17 10:01:08
* @Last Modified by: hungeazy
* @Last Modified time: 2026-03-14 17:27:48
*/
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
// #pragma GCC optimize("O3")
// #pragma GCC optimize("unroll-loops")
// #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
using namespace std;
using namespace __gnu_pbds;
bool M1;
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define int long long
#define ll long long
#define ull unsigned long long
#define sz(x) x.size()
#define sqr(x) (1LL * (x) * (x))
#define all(x) x.begin(), x.end()
#define fill(f,x) memset(f,x,sizeof(f))
#define FOR(i,l,r) for(int i=l;i<=r;i++)
#define FOD(i,r,l) for(int i=r;i>=l;i--)
#define debug(x) cout << #x << " = " << x << '\n'
#define ii pair<int,int>
#define iii pair<int,ii>
#define di pair<ii,ii>
#define vi vector<int>
#define vii vector<ii>
#define mii map<int,int>
#define fi first
#define se second
#define pb push_back
#define MOD 1000000007
#define __lcm(a,b) (1ll * ((a) / __gcd((a), (b))) * (b))
#define YES cout << "YES\n"
#define NO cout << "NO\n"
#define MASK(i) (1LL << (i))
#define c_bit(i) __builtin_popcountll(i)
#define BIT(x,i) ((x) & MASK(i))
#define SET_ON(x,i) ((x) | MASK(i))
#define SET_OFF(x,i) ((x) & ~MASK(i))
#define oo 1e18
#define name "THUHOACH"
#define endl '\n'
#define memory() cerr << abs(&M2-&M1)/1024.0/1024 << " MB" << endl
#define time() cerr << endl << "-------------Time:" << 1000.0 * clock() / CLOCKS_PER_SEC << "ms." << endl
template<typename T> bool maximize(T &res, const T &val) { if (res < val){ res = val; return true; }; return false; }
template<typename T> bool minimize(T &res, const T &val) { if (res > val){ res = val; return true; }; return false; }
template <class T> using ordered_set = tree <T, null_type, less_equal <T>, rb_tree_tag,tree_order_statistics_node_update>;
const int N = (int)1e6+10;
int n,k,a[N];
namespace sub2 {
bool approved() {
return n <= 5e3;
}
void solve(void)
{
int ans = 0;
FOR(i,1,n)
{
int sum = 0, gcd = 0;
FOR(j,i,n)
{
sum += a[j];
gcd = __gcd(gcd,a[j]);
if (j-i+1 >= k) maximize(ans,gcd*sum);
}
}
cout << ans;
}
}
namespace sub4 {
const int LOG = 21;
int pre[N];
bool approved() {
return n <= 5e4;
}
struct RMQ {
int rmq[N][LOG],lo[N];
void init()
{
FOR(i,1,n) rmq[i][0] = a[i];
lo[1] = 0;
FOR(i,2,N-10) lo[i] = lo[i/2]+1;
FOR(j,1,LOG-1)
FOR(i,1,n-MASK(j)+1)
rmq[i][j] = __gcd(rmq[i][j-1],rmq[i+MASK(j-1)][j-1]);
}
int getGCD(int l, int r)
{
int k = lo[r-l+1];
return __gcd(rmq[l][k],rmq[r-MASK(k)+1][k]);
}
} rmq;
void solve(void)
{
FOR(i,1,n) pre[i] = pre[i-1]+a[i];
rmq.init();
int ans = 0;
FOR(i,k,n)
{
int gcd = rmq.getGCD(i-k+1,i);
maximize(ans,gcd*(pre[i]-pre[i-k]));
int L = i-k+1;
while (L > 1)
{
gcd = __gcd(gcd,a[L-1]);
int l = 1, r = L-1;
while (l <= r)
{
int mid = (l+r)>>1;
if (rmq.getGCD(mid,i) == gcd) L = mid, r = mid-1;
else l = mid+1;
}
maximize(ans,gcd*(pre[i]-pre[L-1]));
}
}
cout << max(ans,pre[n]);
}
}
namespace sub5 {
int pre[N],nxt[N];
void solve(void)
{
FOR(i,1,n) pre[i] = pre[i-1]+a[i];
FOR(i,1,n) nxt[i] = i+1;
nxt[n+1] = n+1;
int ans = 0;
FOD(l,n,1)
{
int now = l;
while (now != n+1)
{
a[now] = __gcd(a[now],a[l]);
if (nxt[now]-l >= k)
maximize(ans,a[now]*(pre[nxt[now]-1]-pre[l-1]));
now = nxt[now];
}
now = l;
while (now != n+1)
{
if (a[now] == a[nxt[now]]) nxt[now] = nxt[nxt[now]];
now = nxt[now];
}
}
cout << ans;
}
}
bool M2;
signed main()
{
fast;
if (fopen(name".inp","r"))
{
freopen(name".inp","r",stdin);
freopen(name".out","w",stdout);
}
cin >> n >> k;
FOR(i,1,n) cin >> a[i];
if (sub2::approved()) return sub2::solve(), time(), memory(), 0;
if (sub4::approved()) return sub4::solve(), time(), memory(), 0;
sub5::solve();
time();
memory();
return 0;
}
// ██░ ██ █ ██ ███▄ █ ▄████
//▓██░ ██▒ ██ ▓██▒ ██ ▀█ █ ██▒ ▀█▒
//▒██▀▀██░▓██ ▒██░▓██ ▀█ ██▒▒██░▄▄▄░
//░▓█ ░██ ▓▓█ ░██░▓██▒ ▐▌██▒░▓█ ██▓
//░▓█▒░██▓▒▒█████▓ ▒██░ ▓██░░▒▓███▀▒
// ▒ ░░▒░▒░▒▓▒ ▒ ▒ ░ ▒░ ▒ ▒ ░▒ ▒
// ▒ ░▒░ ░░░▒░ ░ ░ ░ ░░ ░ ▒░ ░ ░
// ░ ░░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░ ░
// ░ ░ ░ ░ ░ ░
LyoKKiBAQXV0aG9yOiBodW5nZWF6eQoqIEBEYXRlOiAgIDIwMjUtMTEtMTcgMTA6MDE6MDgKKiBATGFzdCBNb2RpZmllZCBieTogICBodW5nZWF6eQoqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjYtMDMtMTQgMTc6Mjc6NDgKKi8KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4gCiNpbmNsdWRlIDxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPiAKLy8gI3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk8zIikgIAovLyAjcHJhZ21hIEdDQyBvcHRpbWl6ZSgidW5yb2xsLWxvb3BzIikgIAovLyAjcHJhZ21hIEdDQyB0YXJnZXQoImF2eDIsYm1pLGJtaTIscG9wY250LGx6Y250IikgIAp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsgCmJvb2wgTTE7CiNkZWZpbmUgZmFzdCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCk7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGxsIGxvbmcgbG9uZyAKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgc3ooeCkgeC5zaXplKCkKI2RlZmluZSBzcXIoeCkgKDFMTCAqICh4KSAqICh4KSkKI2RlZmluZSBhbGwoeCkgeC5iZWdpbigpLCB4LmVuZCgpCiNkZWZpbmUgZmlsbChmLHgpIG1lbXNldChmLHgsc2l6ZW9mKGYpKQojZGVmaW5lIEZPUihpLGwscikgZm9yKGludCBpPWw7aTw9cjtpKyspCiNkZWZpbmUgRk9EKGkscixsKSBmb3IoaW50IGk9cjtpPj1sO2ktLSkKI2RlZmluZSBkZWJ1Zyh4KSBjb3V0IDw8ICN4IDw8ICIgPSAiIDw8IHggPDwgJ1xuJwojZGVmaW5lIGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBpaWkgcGFpcjxpbnQsaWk+CiNkZWZpbmUgZGkgcGFpcjxpaSxpaT4KI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHZpaSB2ZWN0b3I8aWk+CiNkZWZpbmUgbWlpIG1hcDxpbnQsaW50PgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSBfX2xjbShhLGIpICgxbGwgKiAoKGEpIC8gX19nY2QoKGEpLCAoYikpKSAqIChiKSkKI2RlZmluZSBZRVMgY291dCA8PCAiWUVTXG4iCiNkZWZpbmUgTk8gY291dCA8PCAiTk9cbiIKI2RlZmluZSBNQVNLKGkpICgxTEwgPDwgKGkpKQojZGVmaW5lIGNfYml0KGkpIF9fYnVpbHRpbl9wb3Bjb3VudGxsKGkpCiNkZWZpbmUgQklUKHgsaSkgKCh4KSAmIE1BU0soaSkpCiNkZWZpbmUgU0VUX09OKHgsaSkgKCh4KSB8IE1BU0soaSkpCiNkZWZpbmUgU0VUX09GRih4LGkpICgoeCkgJiB+TUFTSyhpKSkKI2RlZmluZSBvbyAxZTE4CiNkZWZpbmUgbmFtZSAiVEhVSE9BQ0giCiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgbWVtb3J5KCkgY2VyciA8PCBhYnMoJk0yLSZNMSkvMTAyNC4wLzEwMjQgPDwgIiBNQiIgPDwgZW5kbAojZGVmaW5lIHRpbWUoKSBjZXJyIDw8IGVuZGwgPDwgIi0tLS0tLS0tLS0tLS1UaW1lOiIgPDwgMTAwMC4wICogY2xvY2soKSAvIENMT0NLU19QRVJfU0VDIDw8ICJtcy4iIDw8IGVuZGwKdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBtYXhpbWl6ZShUICZyZXMsIGNvbnN0IFQgJnZhbCkgeyBpZiAocmVzIDwgdmFsKXsgcmVzID0gdmFsOyByZXR1cm4gdHJ1ZTsgfTsgcmV0dXJuIGZhbHNlOyB9CnRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgbWluaW1pemUoVCAmcmVzLCBjb25zdCBUICZ2YWwpIHsgaWYgKHJlcyA+IHZhbCl7IHJlcyA9IHZhbDsgcmV0dXJuIHRydWU7IH07IHJldHVybiBmYWxzZTsgfQp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdXNpbmcgb3JkZXJlZF9zZXQgPSB0cmVlIDxULCBudWxsX3R5cGUsIGxlc3NfZXF1YWwgPFQ+LCByYl90cmVlX3RhZyx0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+Owpjb25zdCBpbnQgTiA9IChpbnQpMWU2KzEwOwppbnQgbixrLGFbTl07CgpuYW1lc3BhY2Ugc3ViMiB7CgoJYm9vbCBhcHByb3ZlZCgpIHsKCQlyZXR1cm4gbiA8PSA1ZTM7Cgl9CgoJdm9pZCBzb2x2ZSh2b2lkKQoJewoJCWludCBhbnMgPSAwOwoJCUZPUihpLDEsbikKCQl7CgkJCWludCBzdW0gPSAwLCBnY2QgPSAwOwoJCQlGT1IoaixpLG4pCgkJCXsKCQkJCXN1bSArPSBhW2pdOwoJCQkJZ2NkID0gX19nY2QoZ2NkLGFbal0pOwoJCQkJaWYgKGotaSsxID49IGspIG1heGltaXplKGFucyxnY2Qqc3VtKTsKCQkJfQoJCX0KCQljb3V0IDw8IGFuczsKCX0KCQp9CgpuYW1lc3BhY2Ugc3ViNCB7CgoJY29uc3QgaW50IExPRyA9IDIxOwoJaW50IHByZVtOXTsKCglib29sIGFwcHJvdmVkKCkgewoJCXJldHVybiBuIDw9IDVlNDsKCX0KCglzdHJ1Y3QgUk1RIHsKCQlpbnQgcm1xW05dW0xPR10sbG9bTl07CgoJCXZvaWQgaW5pdCgpCgkJewoJCQlGT1IoaSwxLG4pIHJtcVtpXVswXSA9IGFbaV07CgkJCWxvWzFdID0gMDsKCQkJRk9SKGksMixOLTEwKSBsb1tpXSA9IGxvW2kvMl0rMTsKCQkJRk9SKGosMSxMT0ctMSkKCQkJCUZPUihpLDEsbi1NQVNLKGopKzEpCgkJCQkJcm1xW2ldW2pdID0gX19nY2Qocm1xW2ldW2otMV0scm1xW2krTUFTSyhqLTEpXVtqLTFdKTsKCQl9CgoJCWludCBnZXRHQ0QoaW50IGwsIGludCByKSAKCQl7CgkJCWludCBrID0gbG9bci1sKzFdOwoJCQlyZXR1cm4gX19nY2Qocm1xW2xdW2tdLHJtcVtyLU1BU0soaykrMV1ba10pOwoJCX0KCX0gcm1xOwoKCXZvaWQgc29sdmUodm9pZCkKCXsKCQlGT1IoaSwxLG4pIHByZVtpXSA9IHByZVtpLTFdK2FbaV07CgkJcm1xLmluaXQoKTsKCQlpbnQgYW5zID0gMDsKCQlGT1IoaSxrLG4pCgkJewkKCQkJaW50IGdjZCA9IHJtcS5nZXRHQ0QoaS1rKzEsaSk7CgkJCW1heGltaXplKGFucyxnY2QqKHByZVtpXS1wcmVbaS1rXSkpOwoJCQlpbnQgTCA9IGktaysxOwoJCQl3aGlsZSAoTCA+IDEpCgkJCXsKCQkJCWdjZCA9IF9fZ2NkKGdjZCxhW0wtMV0pOwoJCQkJaW50IGwgPSAxLCByID0gTC0xOwoJCQkJd2hpbGUgKGwgPD0gcikKCQkJCXsKCQkJCQlpbnQgbWlkID0gKGwrcik+PjE7CgkJCQkJaWYgKHJtcS5nZXRHQ0QobWlkLGkpID09IGdjZCkgTCA9IG1pZCwgciA9IG1pZC0xOwoJCQkJCWVsc2UgbCA9IG1pZCsxOwoJCQkJfQoJCQkJbWF4aW1pemUoYW5zLGdjZCoocHJlW2ldLXByZVtMLTFdKSk7CgkJCX0KCQl9CgkJY291dCA8PCBtYXgoYW5zLHByZVtuXSk7Cgl9Cgp9CgpuYW1lc3BhY2Ugc3ViNSB7CgoJaW50IHByZVtOXSxueHRbTl07CgoJdm9pZCBzb2x2ZSh2b2lkKQoJewoJCUZPUihpLDEsbikgcHJlW2ldID0gcHJlW2ktMV0rYVtpXTsKCQlGT1IoaSwxLG4pIG54dFtpXSA9IGkrMTsKCQlueHRbbisxXSA9IG4rMTsKCQlpbnQgYW5zID0gMDsKCQlGT0QobCxuLDEpCgkJewoJCQlpbnQgbm93ID0gbDsKCQkJd2hpbGUgKG5vdyAhPSBuKzEpCgkJCXsKCQkJCWFbbm93XSA9IF9fZ2NkKGFbbm93XSxhW2xdKTsKCQkJCWlmIChueHRbbm93XS1sID49IGspCgkJCQkJbWF4aW1pemUoYW5zLGFbbm93XSoocHJlW254dFtub3ddLTFdLXByZVtsLTFdKSk7CgkJCQlub3cgPSBueHRbbm93XTsKCQkJfQoJCQlub3cgPSBsOwoJCQl3aGlsZSAobm93ICE9IG4rMSkKCQkJewoJCQkJaWYgKGFbbm93XSA9PSBhW254dFtub3ddXSkgbnh0W25vd10gPSBueHRbbnh0W25vd11dOwoJCQkJbm93ID0gbnh0W25vd107CgkJCX0KCQl9CgkJY291dCA8PCBhbnM7Cgl9Cgp9Cgpib29sIE0yOwpzaWduZWQgbWFpbigpCnsKICAgIGZhc3Q7CiAgICBpZiAoZm9wZW4obmFtZSIuaW5wIiwiciIpKQogICAgewogICAgCWZyZW9wZW4obmFtZSIuaW5wIiwiciIsc3RkaW4pOwogICAgCWZyZW9wZW4obmFtZSIub3V0IiwidyIsc3Rkb3V0KTsKICAgIH0KICAgIGNpbiA+PiBuID4+IGs7CiAgICBGT1IoaSwxLG4pIGNpbiA+PiBhW2ldOwogICAgaWYgKHN1YjI6OmFwcHJvdmVkKCkpIHJldHVybiBzdWIyOjpzb2x2ZSgpLCB0aW1lKCksIG1lbW9yeSgpLCAwOwogICAgaWYgKHN1YjQ6OmFwcHJvdmVkKCkpIHJldHVybiBzdWI0Ojpzb2x2ZSgpLCB0aW1lKCksIG1lbW9yeSgpLCAwOwogICAgc3ViNTo6c29sdmUoKTsKICAgIHRpbWUoKTsKICAgIG1lbW9yeSgpOwogICAgcmV0dXJuIDA7Cn0KLy8g4paI4paI4paRIOKWiOKWiCAg4paIICAgIOKWiOKWiCAg4paI4paI4paI4paEICAgIOKWiCAgIOKWhOKWiOKWiOKWiOKWiAovL+KWk+KWiOKWiOKWkSDilojilojilpIg4paI4paIICDilpPilojilojilpIg4paI4paIIOKWgOKWiCAgIOKWiCAg4paI4paI4paSIOKWgOKWiOKWkgovL+KWkuKWiOKWiOKWgOKWgOKWiOKWiOKWkeKWk+KWiOKWiCAg4paS4paI4paI4paR4paT4paI4paIICDiloDilogg4paI4paI4paS4paS4paI4paI4paR4paE4paE4paE4paRCi8v4paR4paT4paIIOKWkeKWiOKWiCDilpPilpPiloggIOKWkeKWiOKWiOKWkeKWk+KWiOKWiOKWkiAg4paQ4paM4paI4paI4paS4paR4paT4paIICDilojilojilpMKLy/ilpHilpPilojilpLilpHilojilojilpPilpLilpLilojilojilojilojilojilpMg4paS4paI4paI4paRICAg4paT4paI4paI4paR4paR4paS4paT4paI4paI4paI4paA4paSCi8vIOKWkiDilpHilpHilpLilpHilpLilpHilpLilpPilpIg4paSIOKWkiDilpEg4paS4paRICAg4paSIOKWkiAg4paR4paSICAg4paSCi8vIOKWkiDilpHilpLilpEg4paR4paR4paR4paS4paRIOKWkSDilpEg4paRIOKWkeKWkSAgIOKWkSDilpLilpEgIOKWkSAgIOKWkQovLyDilpEgIOKWkeKWkSDilpEg4paR4paR4paRIOKWkSDilpEgICAg4paRICAg4paRIOKWkSDilpEg4paRICAg4paRCi8vIOKWkSAg4paRICDilpEgICDilpEgICAgICAgICAgICAgIOKWkSAgICAgICDilpE=