#include <bits/stdc++.h>
using namespace std;
vector<string> splitArgNames(const string& s) {
  vector<string> v;
  stringstream ss(s);
  for (string x; getline(ss, x, ',');) {
    v.emplace_back(x);
  }
  return move(v);
}
void debugPrint(vector<string>::iterator it) { cout << "\n"; }
template <typename T, typename... Args>
void debugPrint(vector<string>::iterator it, T head, Args... args) {
  cout << *it << " = " << head << "     ";
  debugPrint(++it, args...);
}
int divs[200];
bool isDiv[200];
void createDivs() {
  for (int i = 0; i <= 100; ++i) {
    divs[i] = i;
    isDiv[i] = true;
  }
  for (int i = 2; i <= 100; ++i) {
    if (isDiv[i]) {
      for (int j = i + 1; j <= 100; j++) {
        if (isDiv[j] && divs[j] % divs[i] == 0) {
          isDiv[j] = false;
        }
      }
    }
  }
}
int main() {
  createDivs();
  char ans[100];
  int countYes = 0;
  int numberYes = 0;
  vector<int> numbersYes;
  for (int i = 2; i <= 50; ++i) {
    if (isDiv[i]) {
      printf("%d\n", divs[i]);
      fflush(stdout);
      scanf("%s", ans);
      if (strcmp(ans, "yes") == 0) {
        ++countYes;
        numberYes = divs[i];
        numbersYes.push_back(divs[i]);
      }
    }
    if (countYes > 1) {
      break;
    }
  }
  if (countYes > 1) {
    printf("composite\n");
    fflush(stdout);
    return 0;
  }
  if (numberYes * numberYes >= 2 && numberYes * numberYes <= 100) {
    printf("%d\n", (numberYes * numberYes));
    fflush(stdout);
    scanf("%s", ans);
    if (strcmp(ans, "yes") == 0) {
      printf("composite\n");
      fflush(stdout);
    } else {
      printf("prime\n");
      fflush(stdout);
    }
  } else {
    printf("prime\n");
    fflush(stdout);
  }
  return 0;
}
