#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define int long long int
#define ld long double
#define all(x) x.begin(), x.end()
#define sortall(x) sort(all(x))
#define endl '\n'
#define yes cout<<"YES\n";
#define no cout<<"NO\n";
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
/*
 * Think twice, code once
 * Think of different approaches to tackle a problem: write them down.
 * Think of different views of the problem. don't look from only one side.
 * don't get stuck in one approach.
 * common mistakes: - over_flow
 *                  - out_of_bound index
 *                  - infinite loop
 *                  - corner cases
 *                  - duplication counting.
*/


void solve()
{
    int n, m; cin >> n >> m;
    vector<int> v(n);
    for (auto&i:v)
        cin >> i;
    map<int, int> freq;
    for (int i = 0; i < m; ++i)
        freq[v[i]]++;
    int mxElement = 0, mxFreq = 0;
    for (map<int, int>::iterator i = freq.begin(); i != freq.end(); ++i)
    {
        if (i->second > mxFreq)
        {
            mxFreq = i->second;
            mxElement = i->first;
        }
        else if (i->second == mxFreq)
            mxElement = max(mxElement, i->first);
    }
    int ans = mxElement;
    int l = 1, r = m;
    while (r < n)
    {
        freq[v[l-1]]--, freq[v[r]]++;
        if (!freq[v[l-1]]) freq.erase(v[l-1]);
        if (freq[v[r]] > mxFreq || (freq[v[r]] == mxFreq && v[r] > mxElement))
        {
            mxElement = v[r];
            mxFreq = freq[v[r]];
        }else if (v[l-1] == mxElement && freq[v[l-1]] < mxFreq)
        {
            mxElement = 0, mxFreq = 0;
            for (map<int, int>::iterator i = freq.begin(); i != freq.end(); ++i)
            {
                if (i->second > mxFreq)
                {
                    mxElement = i->first;
                    mxFreq = i->second;
                }
                else if (i->second == mxFreq)
                    mxElement = max(mxElement, i->first);
            }
        }
        // cout << mxElement << ' ' << mxFreq << '\n';
        l++, r++;
        ans += mxElement;
    }
    cout << ans;
}

int32_t main()
{
    fast
    int t = 1;
    // cin >> t;
    while (t--)
    {
        solve();
        if (t) cout << '\n';
    }
    cout << '\n';
    return 0;
}