anchor.diff:      void addNuisancePoints(int np){
           nuisancePoints += np;
       }
  -    
  +
       int groupBonusValue(int blocks){
           if(blocks > 10){
               return 8;
  
positive.code: }
  
  Solution findSolution(Player me, Player opp, List<Pair> pairs){
      
      Solution current = new Solution(me, opp, pairs, 
          randomMoves(pairs),
          randomMoves(pairs));
      
      while(sw.elapsedMilliseconds < TIMEOUT){
          Solution newSol = new Solution(me, opp, pairs, 
              randomMoves(pairs),
              randomMoves(pairs));
          if(newSol.p1Discount  + newSol.p1Eval > 
              current.p1Discount + current.p1Eval){
              current = newSol;
          }
      }
      stderr.writeln("Returning solution with eval ${current.p1Eval}");
      
      return current;
          
  }
  
  List<Move> randomMoves(pairs){
      return new List.generate(pairs.length, (index) =>
          pairs[index].allMoves()[rand.nextInt(
              pairs[index].allMoves().length)]);
  }
negative.code:     List<Move> p1Moves;
      List<Move> p2Moves;
      List<Pair> pairs;
  
      int p1Death = -1;
      int p2Death = -1;
  
      num p1Nuisance = 0;
      num p2Nuisance = 0;
  
      num p1Eval = -1;
      num p2Eval = -1;
  
      num p1Discount;
      num p2Discount;
  
      Solution(this.p1Start, this.p2Start, this.pairs, this.p1Moves, this.p2Moves){
          p1End = p1Start.clone();
          p2End = p2Start.clone();
  