#include <bits/stdc++.h>
using namespace std;
template <class T>
bool chmin(T& a, const T& b) {
  if (a <= b) return false;
  a = b;
  return true;
}
template <class T>
bool chmax(T& a, const T& b) {
  if (a >= b) return false;
  a = b;
  return true;
}
template <class T>
void pv(T a, T b) {
  for (T i = a; i != b; ++i) cerr << *i << " ";
  cout << endl;
}
int nextInt() {
  int x;
  cin >> x;
  return x;
}
long long nextLong() {
  long long x;
  cin >> x;
  return x;
}
const int N = 100;
bool isPrime[N];
void main2() {
  for (int i = 0; i < (int)(N); ++i) isPrime[i] = true;
  isPrime[0] = isPrime[1] = false;
  vector<int> primes;
  for (int i = 2; i <= N; i++) {
    if (isPrime[i]) {
      primes.push_back(i);
      for (int j = i * i; j < N; j += i) isPrime[j] = false;
    }
  }
  int q = 0;
  int p1 = -1;
  for (int i = 0; i < 19; i++) {
    cout << primes[i] << endl;
    fflush(stdout);
    q++;
    string res;
    cin >> res;
    if (res == "yes") {
      p1 = i;
      break;
    }
  }
  if (p1 == -1) {
    cout << "prime" << endl;
    return;
  }
  int p2 = -1;
  for (int j = p1; q < 19 && primes[p1] * primes[j] <= 100; j++) {
    cout << primes[p1] * primes[j] << endl;
    fflush(stdout);
    q++;
    string res;
    cin >> res;
    if (res == "yes") {
      p2 = j;
      break;
    }
  }
  if (p2 == -1)
    cout << "prime" << endl;
  else
    cout << "composite" << endl;
  return;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  main2();
  return 0;
}
