#include <stdio.h>

int kCard_MaxValue(int a[],int n,int k){
	int res = -1, sum, i, j;

	for(i = 0;i < n - k + 1;i++){
		sum = 1;
		for(j = 0;j < k;j++){
			sum = sum * a[i + j];
		}
		
		if(sum > res){
			res = sum;
		}
	}
	return res;
}

void swap(int *a,int *b){
	int tmp;
	tmp = *a;
	*a = *b;
	*b = tmp;
}

int main(void){
	int i, j, n, k, ckd, ck, a[100], ans;
	while(1){
		scanf("%d%d",&n,&k);
		ans = -1;
		if(n == 0 && k == 0){
			break;
		}
		for(i = 0;i < n;i++){
			scanf("%d",&a[i]);
		}
		ckd = kCard_MaxValue(a,n,k);

		for(i = 0;i < n;i++){
			for(j = 0;j < n;j++){
				swap(&a[i],&a[j]);
				ck = kCard_MaxValue(a,n,k);
				if(ck - ckd > ans){
					ans = ck - ckd;
				}
				swap(&a[i],&a[j]);
			}
		}
		if(ans == -1){
			printf("NO GAME\n");
		}else{
			printf("%d\n",ans);
		}

	}

	return 0;
}