#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long n, i, j, k, a, b, c, x, id, t, s;
  cin >> n;
  vector<long long> triple(n + 1), straight(n + 1), ans(n + 1, 0),
      key(n + 1, 0), curr(n + 1, 0);
  map<long long, long long> st;
  key = {-1, 2, 1, 3, 0, 2};
  curr = key;
  cin >> triple[n] >> straight[n];
  st[0] = 0;
  s = 0;
  for (i = 1; i <= n + 10; i++) {
    s += i;
    st[s] = i;
  }
  for (i = n - 1; i >= 0; i--) {
    if ((i == 0) || (i == 2))
      id = 1;
    else if (i == 1)
      id = 2;
    else
      id = i;
    cout << "+ " << id << "\n";
    cout.flush();
    cin >> triple[i] >> straight[i];
  }
  for (i = 0; i < n; i++) {
    triple[i] -= triple[i + 1];
    straight[i] -= straight[i + 1];
  }
  ans[1] = st[triple[0]];
  ans[3] = (straight[0] - straight[2]) - 1;
  ans[2] = straight[0] / (ans[3] + 1) - 1;
  ans[4] = (straight[1] - (ans[1] + 1) * (ans[3] + 1)) / (ans[3] + 1) - 1;
  for (i = 5; i <= n; i++) {
    ans[i] = (straight[i - 2] - ans[i - 4] * ans[i - 3] -
              ans[i - 3] * (ans[i - 1] + 1)) /
                 (ans[i - 1] + 1) -
             1;
  }
  ans[n]++;
  cout << "! ";
  for (i = 1; i <= n; i++) cout << ans[i] << " ";
  cout << "\n";
  return 0;
}
