#include <bits/stdc++.h>
using namespace std;
void fast_in_out() {
  std::ios_base::sync_with_stdio(NULL);
  cin.tie(NULL);
  cout.tie(NULL);
}
int dx[] = {0, 0, -1, 1, -1, 1, -1, 1, 0};
int dy[] = {-1, 1, 0, 0, -1, -1, 1, 1, 0};
int lx[] = {2, 2, -1, 1, -2, -2, -1, 1};
int ly[] = {-1, 1, 2, 2, 1, -1, -2, -2};
const long double eps = 1e-9;
const int N = 2e5 + 50, M = 500 + 10, mod = 1e9 + 7;
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) {
  long long t = gcd(a, b);
  return t ? (a / t * b) : 0;
}
pair<int, long long> ar[N];
bool mark[N];
int query(string s) {
  cout << s << '\n';
  cout.flush();
  int x;
  cin >> x;
  if (!x) exit(0);
  return x;
}
int main() {
  int sz = query("a") + 1;
  sz = min(sz, 300);
  string s = string(sz, 'a');
  int b = query(s);
  if (b == sz) {
    s = string(sz - 1, 'b');
    query(s);
    s += 'b';
    query(s);
  }
  for (int i = 0; i < sz; i++) {
    s[i] = 'b';
    int nb = query(s);
    if (nb < b)
      b = nb;
    else
      s[i] = 'a';
  }
  query(s);
  return 0;
}
