//2 Ends
// 2005 ECNA ACM contest
// t feil

#include <iostream>
using namespace std;

int A[1000],  P[1000][1000],  n;

//decide which end to pick of A[i..j]
//(assume length >2)
int FindMax(int i, int j){
  //if we pick A[i]:
   int V1 = A[i];
   if (A[j]>A[i+1])   //greedy picks A[j] (right)
     V1 += P[i+1][j-1];
   else               //greedy picks left
     V1 += P[i+2][j];
  //if we pick A[j]:
   int V2 = A[j];
   if (A[j-1]>A[i])  //greedy picks right
     V2 += P[i][j-2];
   else              //greedy picks left
     V2 += P[i+1][j-1];

   if (V1>V2) return V1;
   else return V2;
    
}


int main(){
  int S, game=1, BigDiff;

  cin>>n;
  while (n>0){
    S=0;
    for(int i=0;i<n; i++) {cin>>A[i]; S += A[i];}

//for(int i=0;i<n;i++)
//  for(int j=0;j<n;j++)
//    P[i][j]=0;

    // compute the dynamic table P[][]
    //payoff for length 2
    for(int i=1;i<n;i++) 
      if (A[i-1]>A[i]) P[i-1][i]=A[i-1];
      else P[i-1][i] = A[i];

    // now the longer games
    for(int j=3;j<n;j+=2)
      for(int k=j;k<n;k++)
        P[k-j][k] = FindMax(k-j,k);

//for(int i=0;i<n;i++){
//  for(int j=0;j<n;j++)
//    cout<<P[i][j]<<' ';
//  cout<<endl;
//  }
//cout<<endl;

    BigDiff = P[0][n-1]*2 - S;
    
    cout<<"In game "<<game<<", the greedy strategy";
    cout<<" might lose by as many as "<< BigDiff<<" points."<<endl;

    game++;
    cin>>n; 
  }

  return 0;
}
