#define _USE_MATH_DEFINES

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <map>
#include <list>

using namespace std;

typedef pair<long long int, long long int> P;

long long int INF = 1e18;
long long int MOD = 1e8 + 7;

int main(){
	
	while(true){
		int n, k;
		cin >> n >> k;
		if(n == 0){
			break;
		}
		int c[110];
		for(int i = 0; i < n; i++){
			cin >> c[i];
		}
		long long int S1 = 0, S2 = 0;
		for(int i = 0; i <= n - k; i++){
			long long int num = 1;
			for(int j = 0; j < k; j++){
				num *= c[i + j];
			}
			S1 = max(S1, num);
		}
		for(int i = 0; i < n; i++){
			for(int j = i + 1; j < n; j++){
				swap(c[i], c[j]);
				
				for(int p = 0; p <= n - k; p++){
					long long int num = 1;
					for(int q = 0; q < k; q++){
						num *= c[p + q];
					}
					S2 = max(S2, num);
				}
				swap(c[i], c[j]);
			}
		}
		cout << S2 - S1 << endl;
	}
	return 0;
}

