#include <bits/stdc++.h>
using namespace std;
int which_nc2[10000];
void gen() {
  for (int i = 2; i <= 100; i++) which_nc2[i * (i - 1) / 2] = i;
}
int main() {
  gen();
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  int n;
  cin >> n;
  int num[n + 1];
  int p, q, pi, qi;
  int a, b, c, d, e, f, g, h;
  cin >> p >> q;
  int t = n;
  cout << "+ " << 1 << '\n';
  cout.flush();
  cin >> pi >> qi;
  a = -p + pi;
  b = -q + qi;
  p = pi, q = qi;
  cout << "+ " << 2 << '\n', cout.flush();
  cin >> pi >> qi;
  c = -p + pi;
  d = -q + qi;
  p = pi, q = qi;
  cout << "+ " << 3 << '\n', cout.flush();
  cin >> pi >> qi;
  e = -p + pi;
  f = -q + qi;
  p = pi, q = qi;
  cout << "+ " << 1 << '\n', cout.flush();
  cin >> pi >> qi;
  g = -p + pi;
  h = -q + qi;
  p = pi, q = qi;
  if (g == 0)
    num[1] = 0;
  else if (g == 1)
    num[1] = 1;
  else
    num[1] = which_nc2[a];
  if (e != 0)
    num[3] = which_nc2[e];
  else
    num[3] = (d > 0);
  num[2] = (h - b - 1) - num[3];
  bool fl = (f > (num[1] + 1) * (num[2] + 1));
  a = e, b = f;
  for (int i = 4; i < n; i++) {
    cout << "+ " << i << '\n', cout.flush();
    cin >> pi >> qi;
    a = -p + pi;
    b = -q + qi;
    p = pi, q = qi;
    if (a != 0)
      num[i] = which_nc2[a];
    else
      num[i] = fl;
    fl = (b > (num[i - 2] + 1) * (num[i - 1] + 1));
  }
  num[n] = b - (num[n - 3] + 1) * (num[n - 2] + 1);
  num[n] /= num[n - 2] + 1;
  cout << "! ";
  for (int i = 1; i <= n; i++) cout << num[i] << " ";
  cout.flush();
  return 0;
}
