---
# System prepended metadata

title: Untitled

---

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

/**
 * Auto-generated code below aims at helping you parse
 * the standard input according to the problem statement.
 **/

struct zone{
    int x;
    int y;
};
struct enemy{
    int x;
    int y;
};
    int main(){
    int P; // number of players in the game (2 to 4 players)
    int ID; // ID of your player (0, 1, 2, or 3)
    int D; // number of drones in each team (3 to 11)
    int Z; // number of zones on the map (4 to 8)
    int X; // corresponds to the position of the center of a zone. A zone is a circle with a radius of 100 units.
    int Y; 
    
    cin >> P >> ID >> D >> Z; cin.ignore();

    zone n[Z];
    enemy e[D][P];

    int TID[Z]; // ID of the team controlling the zone (0, 1, 2, or 3) or -1 if it is not controlled. The zones are given in the same order as in the initialization.
    
    for (int i = 0; i < Z; i++) {
        cin >> n[i].x >> n[i].y; cin.ignore();
    }

    // game loop
    while (1) {
        for (int i = 0; i < Z; i++) {
            cin >> TID[i]; cin.ignore();
        }
        for (int i = 0; i < P; i++) {
            for (int j = 0; j < D; j++) {
                cin >> e[D][P].x >> e[D][P].y; cin.ignore();
            }
        }
        for(int i=0; i<Z; i++){
            if(TID[i]!=ID){
                cout << n[i].x << " " << n[i].y << endl
            }
        }
        
    }
}



 if(TID[j]==ID){
                    break;
                }
                else if(TID[j]!=ID){
                    for(int i=0; i<D; i++){
                        cout << n[i].x << " " << n[i].y << endl;
                    }
     
                }
                else if(TID[j]==-1){
                    for(int i=0; i<D; i++){
                        cout << n[i].x << " " << n[i].y << endl;
                    }

                }
                
                
include <iostream>
#include <string>
#include <cmath>
#include <vector>
#include <cstdlib>
#include <ctime>

using namespace std;

static const int AREA_RADIUS = 100;

typedef struct Point_ {
    int x = 0;
    int y = 0;
} Point;

typedef struct Drone_ {
    Point pos; // position of the drone
} Drone;

typedef struct Zone_ {
    Point center; // center of this zone  (circle radius = 100 units)
    int ownerId = -1; // ID of the team which owns this zone, -1 otherwise
} Zone;

typedef struct Team_ {
    vector<Drone*> drones; // drones of the team
} Team;

typedef struct Game_ {
  vector<Zone*> zones; // all game zones
  vector<Team*> teams; // all the team of drones. Array index = team's ID
  int myTeamId; // index of my team in the array of teams

  // read initial games data (one time at the beginning of the game: P I D Z...)
  void init() {
      int p, i, d, z;
      cin >> p >> i >> d >> z;
      
      myTeamId = i;
      for(int areaId = 0; areaId < z; areaId++) {
          int x, y;
          Zone *z = new Zone();
          cin >> z->center.x >> z->center.y;
          zones.push_back(z);
      }
      
      for(int teamId = 0; teamId < p; teamId++) {
          Team *t = new Team();
          teams.push_back(t);
          for(int droneId = 0; droneId < d; droneId++) {
              Drone *drone = new Drone();
              t->drones.push_back(drone);
          }
      }
  }
  
  // Run the main loop (parse inputs and play)
  void run() {
      while (true) {
          for(Zone *zone : zones) {
              cin >> zone->ownerId; // update zones owner
          }
          
          for(Team *team : teams) {
              for(Drone * drone : team->drones) {
                  cin >> drone->pos.x >> drone->pos.y; // update drones position
              }
          }
          
          play();
      }
  }
  
  // Compute logic here. This method is called for each game round. 
  void play() {
      vector<Drone*> myDrones = teams[myTeamId]->drones;
       // here I always ask my drones to reach the bottom right corner... stupid :-) 
      for(Drone *drone : myDrones) {
          cout << "3999 1799" << endl;
      }
  }
  
} Game;


int main()
{
    Game g;
    g.init();
    g.run();

    return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

/**
 * Auto-generated code below aims at helping you parse
 * the standard input according to the problem statement.
 **/

struct zone{
    int x;
    int y;
};
struct enemy{
    int x;
    int y;
};
    int main(){
    int P; // number of players in the game (2 to 4 players)
    int ID; // ID of your player (0, 1, 2, or 3)
    int D; // number of drones in each team (3 to 11)
    int Z; // number of zones on the map (4 to 8)
    int X; // corresponds to the position of the center of a zone. A zone is a circle with a radius of 100 units.
    int Y; 
    
    cin >> P >> ID >> D >> Z; cin.ignore();

    zone n[Z];
    enemy e[D][P];

    int TID[Z]; // ID of the team controlling the zone (0, 1, 2, or 3) or -1 if it is not controlled. The zones are given in the same order as in the initialization.
    
    for (int i = 0; i < Z; i++) {
        cin >> n[i].x >> n[i].y; cin.ignore();
    }

    // game loop
    int check=0;
    while (1) {
        for (int i = 0; i < Z; i++) {
            cin >> TID[i]; cin.ignore();
        }
        for (int i = 0; i < P; i++) {
            for (int j = 0; j < D; j++) {
                cin >> e[D][P].x >> e[D][P].y; cin.ignore();
            }
        }
        for(int j=0; j<D; j++){
            cout << n[0].x << " " << n[0].y << endl;
            for(int k=0; k<D; k++){
                if(TID[ID]==ID){
                    check++;
                    if(check==D) break;
                }a
            }
        }
        for(int j=0; j<D; j++){
            cout << n[1].x << " " << n[1].y << endl;
            for(int k=0; k<D; k++){
                if(TID[ID]==ID){
                    check++;
                    if(check==D) break;
                }
            }
        }
        
    }
}

