#include <iostream>
#include <cstdio>
#include <algorithm>
#include <array>
#include <vector>

using namespace std;

typedef long long int LLI;

void swap( vector<LLI> &vs, int i, int j ) {
  int val = vs[ i ];
  vs[ i ] = vs[ j ];
  vs[ j ] = val;
}

void print( vector<LLI> vs ) {
  cerr << "[";
  for ( LLI val : vs ) {
    cerr << val << ", ";
  }
  cerr << "]" << endl;
}

int calc ( vector<LLI> &vs, int k, int n ) {
  LLI prod = 1;
  for ( int i = 0; i < k; i++ ) {
    prod *= vs[ i ];
  }
  LLI ans = prod;
  for ( int i = k; i < n; i++ ) {
    prod /= vs[ i - k ];
    prod *= vs[ i ];
    ans = max( prod, ans );
  }
  return ans;
}

int main() {
  while( true ) {
    int n, k;
    cin >> n >> k;
    if ( n == 0 and k == 0 ) break;
    vector<LLI> vs( n );
    for ( int i = 0; i < n; i++ ) {
      cin >> vs[ i ];
    }
    int init_score = calc( vs, k, n );
    int max_score = -10000;
    for ( int i = 0; i < n; i++ ) {
      for ( int j = i + 1; j < n; j++ ) {
	swap( vs, i, j );
	int score = calc( vs, k, n );
	max_score = max( max_score, score );
	swap( vs, i, j );
      }
    }
    if ( max_score < init_score ) {
      cout << "NO GAME" << endl;
    } else {
      cout << max_score - init_score << endl;
    }
  }
}