#include <bits/stdc++.h>
using namespace std;
int _sieve_size;
bitset<10000010> bs;
vector<int> primes;
void sieve(int upperbound) {
  _sieve_size = upperbound + 1;
  bs.reset();
  bs.flip();
  bs.set(0, false);
  bs.set(1, false);
  for (int i = 2; i <= _sieve_size; i++)
    if (bs.test((size_t)i)) {
      for (int j = i * i; j <= _sieve_size; j += i) bs.set((size_t)j, false);
      primes.push_back((int)i);
    }
}
int main() {
  sieve(100);
  int i = 0, yes = 0;
  bool c = false;
  string str;
  while (true) {
    if (c && primes[i - 1] * primes[i - 1] <= 100) {
      cout << primes[i - 1] * primes[i - 1] << endl;
      fflush(stdout);
      cin >> str;
      if (str == "yes") ++yes;
      c = false;
    } else {
      if (i == 19) {
        cout << "prime";
        fflush(stdout);
        return 0;
      }
      if (yes >= 2) {
        cout << "composite";
        fflush(stdout);
        return 0;
      }
      cout << primes[i] << endl;
      fflush(stdout);
      cin >> str;
      if (str == "yes") {
        ++yes;
        c = true;
      }
      ++i;
    }
  }
  return 0;
}
