#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <algorithm>

using namespace std;

typedef long double ld;

int board[529];

struct player {

  ld q[7];

  ld delta[125];
  
  int score;
  
  void setDelta() {
    for(int k=0; k<125; k++) delta[k] = 0;
    
    delta[4] = 10000;   delta[20] = 1;
    delta[3] = q[0];  delta[15] = q[4];
    delta[2] = delta[3] * q[1];  delta[10] = delta[15] * q[5];
    delta[1] = delta[2] * q[2];  delta[5]  = delta[10] * q[6];
    delta[0] = (delta[1]+delta[5]) * q[3];
    }

  void revRole() {
    swap(delta[1], delta[5]);
    swap(delta[2], delta[10]);
    swap(delta[3], delta[15]);
    swap(delta[4], delta[20]);
    }
    
  ld deltaAt(int pos) {
    ld r = 0;
    int p[4] = {1,22,23,24};
    for(int k=0; k<4; k++) {
      int P = p[k];
      int v = board[pos-4*P] + board[pos-3*P] + board[pos-2*P] + board[pos-P];
      r += delta[v];
      v += board[pos+  P] - board[pos-4*P];
      r += delta[v];
      v += board[pos+2*P] - board[pos-3*P];
      r += delta[v];
      v += board[pos+3*P] - board[pos-2*P];
      r += delta[v];
      v += board[pos+4*P] - board[pos-1*P];
      r += delta[v];
      }
    return r;
    }

  int bm;
  
  ld max() {
    int qbm = 0;
    ld res = -1;
    for(int k=0; k<529; k++) if(board[k] == 0) {
      ld d = deltaAt(k);      
      if(d >= res) {
        if(d > res) {qbm = 0; res = d;}
        qbm++;
        if(rand() % qbm == 0) bm = k;
        }
      }
    return res;
    }

  };

void clearBoard() {
  for(int y=1; y<=15; y++) for(int x=1; x<=15; x++)
    board[(3+x)+23*(3+y)] = 0;
  }

ld bestq[7] = 
  {0.3355044,0.1991849,0.3135847,0.1029193,0.1890494,0.1967362,0.1022812};

int main() {

  srand(time(NULL));

  for(int pos=0; pos<529; pos++) board[pos] = 25;

  clearBoard();

  int first;
  int left;

  player P;
  for(int k=0; k<7; k++) P.q[k] = bestq[k];
  P.setDelta();

  scanf("%d%d", &first, &left);
  if(first) goto move;
  
  while(true) {

    int ex, ey;
    scanf("%d%d%d", &ex, &ey, &left);
    board[(3+ex)+23*(3+ey)] = 5;

    move:    
    P.max(); board[P.bm] = 1;
    printf("%d %d\n", (P.bm%23)-3, (P.bm/23)-3);
    fflush(stdout);
    }
  }

